Table of Contents

Class ByValArgumentExpressionNode

Namespace
RDCore.SDK.Model.AST.Expressions
Assembly
RDCore.SDK.dll

MS-VBAL 5.6.13.1 an argument written with the ByVal keyword (argument-expression = ["byval"] expression), which flags that one argument as being passed by value whatever the mechanism its parameter declares.

public sealed record ByValArgumentExpressionNode : ExpressionNode, IEquatable<SyntaxNode>, IExecutableNode, IEquatable<ExpressionNode>, IEquatable<ByValArgumentExpressionNode>
Inheritance
ByValArgumentExpressionNode
Implements
Inherited Members

Remarks

The keyword is valid only in the argument list of an invocation of an external procedure: anywhere else the argument list is invalid. That is something only the callee can say, so the node keeps the keyword in the tree, for whatever is able to say it. An argument written this way is a value bound to nothing, which is what there being nothing to alias means: it is never aliased to a ByRef parameter.

Constructors

ByValArgumentExpressionNode(SyntaxNodeId, SourceLocation, ExpressionNode)

MS-VBAL 5.6.13.1 an argument written with the ByVal keyword (argument-expression = ["byval"] expression), which flags that one argument as being passed by value whatever the mechanism its parameter declares.

public ByValArgumentExpressionNode(SyntaxNodeId Identity, SourceLocation Location, ExpressionNode Operand)

Parameters

Identity SyntaxNodeId

A unique identifier for this specific syntax node.

Location SourceLocation

The Location (holds the document Uri and a Range) of the bound expression.

Operand ExpressionNode

The argument's expression.

Remarks

The keyword is valid only in the argument list of an invocation of an external procedure: anywhere else the argument list is invalid. That is something only the callee can say, so the node keeps the keyword in the tree, for whatever is able to say it. An argument written this way is a value bound to nothing, which is what there being nothing to alias means: it is never aliased to a ByRef parameter.

Properties

Operand

The argument's expression.

public ExpressionNode Operand { get; init; }

Property Value

ExpressionNode