Table of Contents

Enum ValueExpressionSemanticFlags

Namespace
RDCore.SDK.Semantics.Flags
Assembly
RDCore.SDK.dll

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 = 256

What it names is written to: it is the target of an assignment, the counter or control variable of a loop, the string a Mid statement replaces a part of, or the array a ReDim gives its dimensions. An element of an array is written through the array, which is what is flagged.

CaseMismatch = 64

The name is written in a different case than the declaration it refers to.

DefaultMember = 4

It indexes an object, which is a call of the default member of its class: c(1) is c.Item(1).

DictionaryAccess = 16

It 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 = 128

It is the callee of a Call statement written with the Call keyword (IsExplicitCall), the obsolete form of the statement.

LateBound = 2

The 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 Variant or an Object.

Literal = 1

The expression is a literal: its value is what is written.

PassedAsArgument = 512

It 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 = 32

It invokes a procedure, however it is written: a name with no argument list, or an index expression on a procedure.

WithBlockRelative = 8

It is written relative to the object of an enclosing With block: .Member or !Member.