Table of Contents

Class ParamArrayStaticSemantics

Namespace
RDCore.SDK.Semantics.Static
Assembly
RDCore.SDK.dll

What a ParamArray parameter may be given to: Invalid ParamArray use (InvalidParamArrayUse) where it is passed as the argument of a ByRef parameter of a procedure of the code's own (MS-VBAL §5.3.1.11).

public static class ParamArrayStaticSemantics
Inheritance
ParamArrayStaticSemantics
Inherited Members

Remarks

A ParamArray is an array of values the call collected, not a variable of the caller's, so there is nothing a reference parameter can be a second name for. MS-VBA refuses it as a compile error, written bare (Inner p) or in parentheses (Inner (p)), whether the parameter is a Variant, an array or implicitly ByRef, of a procedure, a function or a member of a class. It takes it as the argument of a ByVal parameter, of another ParamArray, and of the standard library (IsMissing(p)); an element of it (p(0)) is a variable (all recorded in Excel).

Methods

ArgumentsError(StaticEvaluationContext, VBTypeMemberSymbol, ImmutableArray<VBParameterSymbol>, IEnumerable<ExpressionNode>)

The first Invalid ParamArray use of the arguments of a call to member, or null when there is none.

public static VBCompileErrorInfo? ArgumentsError(StaticEvaluationContext context, VBTypeMemberSymbol member, ImmutableArray<VBParameterSymbol> parameters, IEnumerable<ExpressionNode> arguments)

Parameters

context StaticEvaluationContext

The compile-time context the arguments are resolved in.

member VBTypeMemberSymbol

The procedure called.

parameters ImmutableArray<VBParameterSymbol>

Its parameters; an implicit Me is not one a call gives an argument to.

arguments IEnumerable<ExpressionNode>

The arguments of the call, positional and named, as they are written.

Returns

VBCompileErrorInfo