예제 #1
0
        protected override void DoGenerate(CilEmitter emitter)
        {
            ILabel ifLabel   = emitter.GenerateLabel();
            ILabel elseLabel = emitter.GenerateLabel();

            logicalExpression.EmitRValue(emitter);

            elseLabel.EmitJumpIfFalse();

            ifLabel.Emit();
            ifStatement.Generate(emitter, ifLabel, after);
            after.EmitJump();

            elseLabel.Emit();
            elseStatement.Generate(emitter, elseLabel, after);
        }