Table of Contents

Class BoundExpression

Namespace
RDCore.SDK.Semantics.Binding
Assembly
RDCore.SDK.dll

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

Node SyntaxNodeId

The Identity of the expression.

Result StaticSemanticsEvaluationResult

What the static semantics make of the expression.

Plan OperationPlan

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).

Properties

DeclaredType

The declared type of the expression; null when it is a compile error.

public VBType? DeclaredType { get; }

Property Value

VBType

Error

The compile error the expression is, if it is one.

public VBCompileErrorInfo? Error { get; }

Property Value

VBCompileErrorInfo

Node

The Identity of the expression.

public SyntaxNodeId Node { get; init; }

Property Value

SyntaxNodeId

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

OperationPlan

Result

What the static semantics make of the expression.

public StaticSemanticsEvaluationResult Result { get; init; }

Property Value

StaticSemanticsEvaluationResult