Inheritance: IEmitCode
Example #1
0
 public iterexpr(ident c0, expr src, iterinit init, params itercase[] cont)
 {
     this.binder = c0;
     this.source = src;
     this.initializer = init;
     this.body = new List<itercase>(cont);
 }
Example #2
0
 public iterexpr(ident c0, expr src, iterinit init, IEnumerable<itercase> cont)
 {
     this.binder = c0;
     this.source = src;
     this.initializer = init;
     this.body = new List<itercase>(cont);
 }
Example #3
0
        internal void PushIter(ident binder, iterinit initializer)
        {
            this.PushBlock();

            // clear names
            this.RemoveElt(binder.name);
            foreach (var assgn in initializer.assgns)
            {
                this.RemoveElt(assgn.lhs.name);
            }

            // re-assign names
            foreach (var assgn in initializer.assgns)
            {
                this.HandleLhs(assgn.lhs, iter_init_visitor.Visit(this, assgn.rhs), true);
            }
            this.HandleLhs(binder, BekTypes.CHAR, true);
        }