Class CallStatementNode
- Namespace
- RDCore.SDK.Model.AST.Statements
- Assembly
- RDCore.SDK.dll
An executable statement node that represents a procedure or function call (MS-VBAL §5.4.2.1 Call
Statement) — either the explicit Call <lExpression> form or an implicit bare-call
statement.
public record CallStatementNode : StatementNode, IEquatable<SyntaxNode>, IExecutableNode, IEquatable<StatementNode>, IEquatable<CallStatementNode>
- Inheritance
-
CallStatementNode
- Implements
- Inherited Members
Constructors
CallStatementNode(SyntaxNodeId, SourceLocation, ExpressionNode, ImmutableArray<ExpressionNode>, bool)
An executable statement node that represents a procedure or function call (MS-VBAL §5.4.2.1 Call
Statement) — either the explicit Call <lExpression> form or an implicit bare-call
statement.
public CallStatementNode(SyntaxNodeId Identity, SourceLocation SourceLocation, ExpressionNode Callee, ImmutableArray<ExpressionNode> Arguments, bool IsExplicitCall)
Parameters
IdentitySyntaxNodeIdA unique identifier for this specific syntax node.
SourceLocationSourceLocationThe document location (
Uri+Range) of the bound expression.CalleeExpressionNodeThe call target. A parenthesized call (
Call Foo(1, 2), or bareFoo(1, 2)) carries its argument list as part of this expression's own tree (anIndexExpressionNode) — for that shape, Arguments is empty.ArgumentsImmutableArray<ExpressionNode>The statement's own argument list — only ever non-empty for the bare, unparenthesized form (
Foo 1, 2), which MS-VBAL grants no parenthesizedlExpressionequivalent;Callalways requires the parenthesized shape instead.IsExplicitCallboolWhether the statement used the
Callkeyword.
Properties
Arguments
The statement's own argument list — only ever non-empty for the bare, unparenthesized form
(Foo 1, 2), which MS-VBAL grants no parenthesized lExpression equivalent; Call
always requires the parenthesized shape instead.
public ImmutableArray<ExpressionNode> Arguments { get; init; }
Property Value
Callee
The call target. A parenthesized call (Call Foo(1, 2), or bare Foo(1, 2)) carries its
argument list as part of this expression's own tree (an IndexExpressionNode) — for that
shape, Arguments is empty.
public ExpressionNode Callee { get; init; }
Property Value
IsExplicitCall
Whether the statement used the Call keyword.
public bool IsExplicitCall { get; init; }