public override object VisitMethodCallExp([NotNull] CoolParser.MethodCallExpContext context)
        {
            string name = context.ID().GetText();
            Coord  c    = GetCoord(context);

            List <Expression> parameters = new List <Expression>();

            foreach (var exp in context.expresion())
            {
                parameters.Add((Expression)Visit(exp));
            }

            return(new Dispatch(name, parameters, c));
        }
コード例 #2
0
ファイル: TypeVisitor.cs プロジェクト: maxblu/coolc
        public override Node VisitMethodCallExp([NotNull] CoolParser.MethodCallExpContext context)
        {
            var s = VisitChildren(context);

            return(new MethodCallNode(context, s));
        }
 public MethodCallNode(CoolParser.MethodCallExpContext context, Node s) : base(s.Childs)
 {
     this.context    = context;
     this.MethodName = context.ID().GetText();
 }
コード例 #4
0
ファイル: DotCodeGenerator.cs プロジェクト: maxblu/coolc
 public override object VisitMethodCallExp([NotNull] CoolParser.MethodCallExpContext context)
 {
     VisitExpr(context);
     return(VisitChildren(context));
 }
コード例 #5
0
 /// <summary>
 /// Exit a parse tree produced by the <c>methodCallExp</c>
 /// labeled alternative in <see cref="CoolParser.expresion"/>.
 /// <para>The default implementation does nothing.</para>
 /// </summary>
 /// <param name="context">The parse tree.</param>
 public virtual void ExitMethodCallExp([NotNull] CoolParser.MethodCallExpContext context)
 {
 }
 /// <summary>
 /// Visit a parse tree produced by the <c>methodCallExp</c>
 /// labeled alternative in <see cref="CoolParser.expresion"/>.
 /// <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 VisitMethodCallExp([NotNull] CoolParser.MethodCallExpContext context)
 {
     return(VisitChildren(context));
 }
コード例 #7
0
 public override bool VisitMethodCallExp([NotNull] CoolParser.MethodCallExpContext context)
 {
     return(VisitChildren(context));
 }