Ejemplo n.º 1
0
		// CallExpr
		public virtual bool Walk(CallExpr node) { return true; }
Ejemplo n.º 2
0
		public virtual void PostWalk(CallExpr node) { }
Ejemplo n.º 3
0
		public override void PostWalk(CallExpr node) { }
Ejemplo n.º 4
0
		// CallExpr
		public override bool Walk(CallExpr node) { return false; }
Ejemplo n.º 5
0
        private CallExpr ParseCall(Expr target)
        {
            Eat(TokenType.LeftParenthesis);
            List<Arg> args = new List<Arg>();
            if (!MaybeEat(TokenType.RightParenthesis))
            {
                do
                {
                    args.Add(ParseArg());
                } while (MaybeEat(TokenType.Comma));
                Eat(TokenType.RightParenthesis);
            }

            var ret = new CallExpr(target, args.ToArray());
            ret.SetLoc(_globalParent, target.StartIndex, GetEnd());
            return ret;
        }
Ejemplo n.º 6
0
        private Expr ParseCallExpr()
        {
            Expr ret = ParseMemberExpr();
            if (ret == null)
                return null;

            var start = ret.StartIndex;

            while (MaybeEat(TokenType.LeftParenthesis))
            {
                List<Arg> args = new List<Arg>();
                if (!MaybeEat(TokenType.RightParenthesis))
                {
                    do
                    {
                        args.Add(ParseArg());
                    } while (MaybeEat(TokenType.Comma));
                    Eat(TokenType.RightParenthesis);
                }

                ret = new CallExpr(ret, args.ToArray());
                ret.SetLoc(_globalParent, start, GetEnd());
            }
            return ret;
        }
		// CallExpr
		public override bool Walk(CallExpr node)
		{
			node.Parent = _currentScope;
			
			return base.Walk(node);
		}