예제 #1
0
		public virtual void PostWalk(IndexExpr node) { }
예제 #2
0
		// IndexExpr
		public virtual bool Walk(IndexExpr node) { return true; }
예제 #3
0
		public override void PostWalk(IndexExpr node) { }
예제 #4
0
		// IndexExpr
		public override bool Walk(IndexExpr node) { return false; }
예제 #5
0
 private Expr ParseIndexExpr(Expr target)
 {
     Eat(TokenType.LeftBracket);
     List<Expr> indexes = new List<Expr>();
     do
     {
         indexes.Add(ParseExpr());
     } while (MaybeEat(TokenType.Comma));
     var ret = new IndexExpr(target, indexes.ToArray());
     ret.SetLoc(_globalParent, ret.StartIndex, GetEnd());
     Eat(TokenType.RightBracket);
     return ret;
 }
		// IndexExpr
		public override bool Walk(IndexExpr node)
		{
			node.Parent = _currentScope;
			
			return base.Walk(node);
		}