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); }