public override void Visit(RppIf node) { node.Condition.Accept(this); node.ThenExpr.Accept(this); node.ElseExpr.Accept(this); }
public override void Visit(RppIf node) { Label exitLabel = _body.DefineLabel(); Label elseLabel = _body.DefineLabel(); // if condition is false we jump to else label, otherwise we just fallthrough EmitBranchableAndJumpOnResult(node.Condition, elseLabel, false); node.ThenExpr.Accept(this); _body.Emit(OpCodes.Br, exitLabel); _body.MarkLabel(elseLabel); node.ElseExpr.Accept(this); _body.MarkLabel(exitLabel); }
public virtual void Visit(RppIf node) { }