Class BoundExpression
What an expression binds to (IR lowering §3.3): its declared type, or the compile error it is, and for an operation the plan of the operation, made for the declared types of its operands.
public sealed record BoundExpression : IEquatable<BoundExpression>
- Inheritance
-
BoundExpression
- Implements
- Inherited Members
Constructors
BoundExpression(SyntaxNodeId, StaticSemanticsEvaluationResult, OperationPlan?)
What an expression binds to (IR lowering §3.3): its declared type, or the compile error it is, and for an operation the plan of the operation, made for the declared types of its operands.
public BoundExpression(SyntaxNodeId Node, StaticSemanticsEvaluationResult Result, OperationPlan? Plan)
Parameters
NodeSyntaxNodeIdThe
Identityof the expression.ResultStaticSemanticsEvaluationResultWhat the static semantics make of the expression.
PlanOperationPlanThe plan of the operation, for an operator expression whose operands have a declared type: final when the declared types decide it, deferred when the value of an operand does. null for an expression that is not an operation, and for the parentheses around one (a conversion).
Properties
DeclaredType
The declared type of the expression; null when it is a compile error.
public VBType? DeclaredType { get; }
Property Value
Error
The compile error the expression is, if it is one.
public VBCompileErrorInfo? Error { get; }
Property Value
Node
The Identity of the expression.
public SyntaxNodeId Node { get; init; }
Property Value
Plan
The plan of the operation, for an operator expression whose operands have a declared type: final when the declared types decide it, deferred when the value of an operand does. null for an expression that is not an operation, and for the parentheses around one (a conversion).
public OperationPlan? Plan { get; init; }
Property Value
Result
What the static semantics make of the expression.
public StaticSemanticsEvaluationResult Result { get; init; }