Table of Contents

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

Identity SyntaxNodeId

A unique identifier for this specific syntax node.

SourceLocation SourceLocation

The document location (Uri+Range) of the bound expression.

Callee ExpressionNode

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.

Arguments ImmutableArray<ExpressionNode>

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.

IsExplicitCall bool

Whether the statement used the Call keyword.

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

ImmutableArray<ExpressionNode>

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

ExpressionNode

IsExplicitCall

Whether the statement used the Call keyword.

public bool IsExplicitCall { get; init; }

Property Value

bool