Class Notes
AnonymousMethodParameter Class to store the type and name of an anonymous method
AnonymousMethodValue Anonymous method expression
AnonymousParameterValue Reference to a parameter in an anonymous method
AnonymousResultValue Reference to the "result" of an anonymous method
ArrayCtorCallValue Array constructor value; this value type is used to create a new instance of a simple or multi-dim array
ArrayValue In-code array construct: [a,b,c]
BeginLocalValue Value pointing to a local defined inside a begin/end statement
BetweenValue Between value; the middle value is only evaluated once even though it is used twice (a > b > c)
BinaryValue Binary operation value
CaseValue "Case" expression
CaseValueItem Element in a "case" expression
CoalesceValue Coalesce(a,b,c...) value; will evaluate the parameters from left to right and return the first non-zero one
ConstructorOfValue Returns a constructorof() value
DataValue Data constant value
DefaultValue Default(t) value; returns nil, 0 or a record initialized with zero memory
DuckTypeValue Duck type call value, represents duck<T>(Value)
EmptyValue Represents an empty value, used for default behavior in property accessors.
ExceptLocalValue Value that references the local defined in an on except clause
FieldOfValue Returns a fieldof(field) for a given field
FieldValue Instance field reference (non-static)
ForInLocalValue Value that references a for-each-in loop
ForLocalValue Value that references a local introduced in a for loop
IdentifierValue any identifier value
IIfValue Conditional IF value: iif(a,b,c)
LengthValue Length() value; Works on arrays, strings and ICollection
LocalValue Local variable value
LockingLocalValue Value to access a local defined in a locking statement
MethodOfValue Returns a methodof() for a given method; there is no way to express this properly in Oxygene but it is required for LINQ
NamedLocalValue Named local access; resolved by looking inside->out to upper statements
NewValue Calls the constructor of a type
NilValue A "nil" value; use this instead of passing NIL as a value
NotNilValue NotNilValue is the not nil operator, used in expressions like: a:b:c
ParameterizedValue ParameterizedValue is a base class for NewValue and ProcValue
ParamValue Value that references a method parameter
PlaceholderValue Placeholder value, usually replaced with the original value when processing
ProcPtrValue Call as a parameter to instantiate a delegate
ProcValue Method call value
RangeValue Range value; only valid in case statements: a..b
ResultValue Result value
SelfValue Self pointer value
SizeOfValue SizeOf(type) value
StatementValue Statement wrapped into a value
StaticValue Static field reference value
SubArrayValue Array element access value: a[b]
TypeOfValue Typeof(x) value
TypeValue Type value; used as a Self for static method calls or in AS and IS binary values
UnaryValue Unary operation value
UndefinedValue Value not supported by cirrus
UsingLocalValue Value to access the local defined in a using statement
Value Value kind enum
WithLocalValue Value that references a "with item"


Enum Notes
BinaryOperator Enumeration that contains all possible binary operators.
UnaryOperator Contains all possible unary operators.
ValueKind Enumeration used to differentiate between the different kinds of values.