protected override void DoEmit (EmitContext ec) { Label old_begin = ec.LoopBegin, old_end = ec.LoopEnd; ec.LoopBegin = ec.DefineLabel (); ec.LoopEnd = ec.DefineLabel (); statement.Emit (ec); ec.LoopBegin = old_begin; ec.LoopEnd = old_end; }