public override void OnConditionalExpression(ConditionalExpression node)
{
var type = GetExpressionType(node);
var endLabel = _il.DefineLabel();
EmitBranchFalse(node.Condition, endLabel);
LoadExpressionWithType(type, node.TrueValue);
var elseEndLabel = _il.DefineLabel();
_il.Emit(OpCodes.Br, elseEndLabel);
_il.MarkLabel(endLabel);
endLabel = elseEndLabel;
LoadExpressionWithType(type, node.FalseValue);
_il.MarkLabel(endLabel);
PushType(type);
}