Class ParamArrayStaticSemantics
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
contextStaticEvaluationContextThe compile-time context the arguments are resolved in.
memberVBTypeMemberSymbolThe procedure called.
parametersImmutableArray<VBParameterSymbol>Its parameters; an implicit
Meis not one a call gives an argument to.argumentsIEnumerable<ExpressionNode>The arguments of the call, positional and named, as they are written.