Class MemberAccessFact
A member access (MS-VBAL 5.6.12), a dictionary access (MS-VBAL 5.6.14), or the access of a member that the
code does not name: the default member of an object that is indexed (MS-VBAL 5.6.13), the enumeration member of the object a
For Each goes through (MS-VBAL 5.4.2.4).
public sealed record MemberAccessFact : OperatorFact, IEquatable<OperatorFact>, IEquatable<MemberAccessFact>
- Inheritance
-
MemberAccessFact
- Implements
- Inherited Members
Remarks
👉 Operator is Tokens.MemberAccess for a member access and a member the code does not name, and
Tokens.DictionaryAccess for a dictionary access. EffectiveType is the declared type of the member, when it is known.
IsValueKnown says whether the object is.
Constructors
MemberAccessFact(SyntaxNodeId, SourceLocation, string, VBType?, bool, VBErrorInfo?, string?, MemberAccessOperationSemanticFlags)
A member access (MS-VBAL 5.6.12), a dictionary access (MS-VBAL 5.6.14), or the access of a member that the
code does not name: the default member of an object that is indexed (MS-VBAL 5.6.13), the enumeration member of the object a
For Each goes through (MS-VBAL 5.4.2.4).
public MemberAccessFact(SyntaxNodeId Node, SourceLocation Location, string Operator, VBType? EffectiveType, bool IsValueKnown, VBErrorInfo? Error, string? Member, MemberAccessOperationSemanticFlags Flags)
Parameters
NodeSyntaxNodeIdThe
Identityof the syntax node the operation is evaluated for.LocationSourceLocationWhere in the document the operation is.
OperatorstringThe operator: one of the
Tokensoperators.EffectiveTypeVBTypeThe effective type of the operation, if it has one.
IsValueKnownboolWhether every operand of the operation is known, as opposed to a value its type merely allows.
ErrorVBErrorInfoThe run-time error the operation raises. Only stated when the operands are known, or when their types alone guarantee it.
MemberstringThe name of the member that is accessed, as the code writes it or, when the code does not name it, as the class declares it; null when there is no telling which member it is (the object is not known, or is late-bound).
FlagsMemberAccessOperationSemanticFlagsWhat is known of the access.
Remarks
👉 Operator is Tokens.MemberAccess for a member access and a member the code does not name, and
Tokens.DictionaryAccess for a dictionary access. EffectiveType is the declared type of the member, when it is known.
IsValueKnown says whether the object is.
Properties
Flags
What is known of the access.
public MemberAccessOperationSemanticFlags Flags { get; init; }
Property Value
Member
The name of the member that is accessed, as the code writes it or, when the code does not name it, as the class declares it; null when there is no telling which member it is (the object is not known, or is late-bound).
public string? Member { get; init; }