/// <summary> /// Visit a parse tree produced by <see cref="CodeQueryParser.methodCall" />. /// <para> /// The default implementation returns the result of calling <see cref="AbstractParseTreeVisitor{Result}.VisitChildren(IRuleNode)" /> /// on <paramref name="context" />. /// </para> /// </summary> public override Object VisitMethodCall(CodeQueryParser.MethodCallContext context) { var parameters = context.methodCallParameter(); var methodCallParameters = parameters.Select((parameter, index) => { var param = parameter.Accept(this); if (param is ActualParameterElement) { return(param); } if (param is ConstantElement) { return(TreeFactory.CreateActualParameter((ConstantElement)param, index)); } return(param); }); var methodCall = new { Name = context.MethodCallName.Text, Parameters = methodCallParameters.OfType <ActualParameterElement>() .ToArray() }; return(TreeFactory.CreateMethodCall(methodCall.Name, methodCall.Parameters)); }
/// <summary> /// Visit a parse tree produced by <see cref="CodeQueryParser.methodCall"/>. /// <para> /// The default implementation returns the result of calling <see cref="AbstractParseTreeVisitor{Result}.VisitChildren(IRuleNode)"/> /// on <paramref name="context"/>. /// </para> /// </summary> /// <param name="context">The parse tree.</param> /// <return>The visitor result.</return> public virtual Result VisitMethodCall([NotNull] CodeQueryParser.MethodCallContext context) { return(VisitChildren(context)); }
public override CodeQueryVisitor VisitMethodCall(CodeQueryParser.MethodCallContext context) { var methodName = context.MethodCallName.Text; return(base.VisitMethodCall(context)); }
/// <summary> /// Exit a parse tree produced by <see cref="CodeQueryParser.methodCall"/>. /// <para>The default implementation does nothing.</para> /// </summary> /// <param name="context">The parse tree.</param> public virtual void ExitMethodCall([NotNull] CodeQueryParser.MethodCallContext context) { }