void IndexExpr(out NBase res) { res = null; NArgs args = new NArgs(); NBase arg = null; Expect(62); Expr(out arg); args.Add(arg); while (la.kind == 57) { Get(); Expr(out arg); args.Add(arg); } Expect(63); res = new NIndex(null, args); }
void MethodArgsExpr(out NArgs res) { res = new NArgs(); NBase arg; Expect(42); if (StartOf(1)) { Expr(out arg); res.Add(arg); while (la.kind == 57) { Get(); Expr(out arg); res.Add(arg); } } Expect(43); }
public NNew(NType type, NIdentBase next, NArgs args = null) : base(type.Name, next) { Type = type; Args = args ?? new NArgs(); }
public NIndex(NIdentBase next, NArgs args = null) : base("Indexer", next) { Args = args ?? new NArgs(); }
public NMethod(string name, NIdentBase next, NArgs args = null) : base(name, next) { Args = args ?? new NArgs(); }