Enum ValueExpressionSemanticFlags
The semantic flags of an expression that yields a value: the facts of how it is bound and what it is written as.
[Flags]
public enum ValueExpressionSemanticFlags
Fields
AssignmentTarget = 256What it names is written to: it is the target of an assignment, the counter or control variable of a loop, the string a
Midstatement replaces a part of, or the array aReDimgives its dimensions. An element of an array is written through the array, which is what is flagged.CaseMismatch = 64The name is written in a different case than the declaration it refers to.
DefaultMember = 4It indexes an object, which is a call of the default member of its class:
c(1)isc.Item(1).DictionaryAccess = 16It is a dictionary access,
owner!Member: a call of the default member of the owner with the name of the member as its argument.ExplicitCallKeyword = 128It is the callee of a
Callstatement written with theCallkeyword (IsExplicitCall), the obsolete form of the statement.LateBound = 2The member it names is not one its owner's declared type says it has, and is bound when the expression runs: the owner is a
Variantor anObject.Literal = 1The expression is a literal: its value is what is written.
PassedAsArgument = 512It is an argument of a call that may take it by reference: what the procedure does with it, reads it or writes to it, is not what the expression says. An argument that is passed by value, and an index of an array, is not.
ProcedureCall = 32It invokes a procedure, however it is written: a name with no argument list, or an index expression on a procedure.
WithBlockRelative = 8It is written relative to the object of an enclosing
Withblock:.Memberor!Member.