internal ArgumentReference( QualifiedModuleName qualifiedName, Declaration parentScopingDeclaration, Declaration parentNonScopingDeclaration, string identifierName, Selection argumentSelection, ParserRuleContext context, VBAParser.ArgumentListContext argumentListContext, ArgumentListArgumentType argumentType, int argumentPosition, ParameterDeclaration referencedParameter, IEnumerable <IParseTreeAnnotation> annotations = null) : base( qualifiedName, parentScopingDeclaration, parentNonScopingDeclaration, identifierName, argumentSelection, context, referencedParameter, false, false, annotations) { ArgumentType = argumentType; ArgumentPosition = argumentPosition; ArgumentListContext = argumentListContext; NumberOfArguments = ArgumentListContext?.argument()?.Length ?? 0; ArgumentListSelection = argumentListContext?.GetSelection() ?? Selection.Empty; }
public void AddArgumentReference( QualifiedModuleName module, Declaration scope, Declaration parent, Selection argumentSelection, ParserRuleContext argumentContext, VBAParser.ArgumentListContext argumentListContext, ArgumentListArgumentType argumentType, int argumentPosition, string identifier, IEnumerable <IParseTreeAnnotation> annotations) { var newReference = new ArgumentReference( module, scope, parent, identifier, argumentSelection, argumentContext, argumentListContext, argumentType, argumentPosition, this, annotations); _argumentReferences.AddOrUpdate(newReference, 1, (key, value) => 1); }
public ArgumentListArgument( IExpressionBinding binding, ParserRuleContext context, VBAParser.ArgumentListContext argumentListContext, ArgumentListArgumentType argumentType, bool isAddressOfArgument = false) : this(binding, context, argumentListContext, argumentType, calledProcedure => null, isAddressOfArgument) { }
public ArgumentListArgument( IExpressionBinding binding, ParserRuleContext context, VBAParser.ArgumentListContext argumentListContext, ArgumentListArgumentType argumentType, Func <Declaration, IBoundExpression> namedArgumentExpressionCreator, bool isAddressOfArgument = false) { _binding = binding; Context = context; ArgumentListContext = argumentListContext; ArgumentType = argumentType; _namedArgumentExpressionCreator = namedArgumentExpressionCreator; _isAddressOfArgument = isAddressOfArgument; ReferencedParameter = null; }
public ArgumentListArgument(IExpressionBinding binding, ArgumentListArgumentType argumentType, Func <Declaration, IBoundExpression> namedArgumentExpressionCreator) { _binding = binding; _argumentType = argumentType; _namedArgumentExpressionCreator = namedArgumentExpressionCreator; }
public ArgumentListArgument(IExpressionBinding binding, ArgumentListArgumentType argumentType) : this(binding, argumentType, calledProcedure => null) { }