public override void Iterate(MemberIterator iter, Action<Int32, Expr> action) { iter.InBrace(); for (Int32 i = 0; i < initrs.Count; ++i) { initrs[i].Iterate(iter, action); if (i != initrs.Count - 1) { iter.Next(); } } iter.OutBrace(); }
public override Initr ConformType(MemberIterator iter) { iter.InBrace(); List<Initr> initrs = new List<Initr>(); for (Int32 i = 0; i < this.initrs.Count; ++i) { initrs.Add(this.initrs[i].ConformType(iter)); if (i != this.initrs.Count - 1) { iter.Next(); } } iter.OutBrace(); return new InitList(initrs); }
public override void Iterate(MemberIterator iter, Action<Int32, Expr> action) { iter.Locate(this.expr.type); Int32 offset = iter.CurOffset; Expr expr = this.expr; action(offset, expr); }
public override Initr ConformType(MemberIterator iter) { iter.Locate(this.expr.type); Expr expr = TypeCast.MakeCast(this.expr, iter.CurType); return new InitExpr(expr); }
public abstract void Iterate(MemberIterator iter, Action<Int32, Expr> action);
public abstract Initr ConformType(MemberIterator iter);