//
using System;
+#if !FULL_AOT_RUNTIME
using System.Reflection.Emit;
+#endif
namespace System.Linq.Expressions {
this.type_operand = type_operand;
}
+#if !FULL_AOT_RUNTIME
internal override void Emit (EmitContext ec)
{
- EmitIsInst (ec, expression, type_operand);
+ if (expression.Type == typeof (void)) {
+ ec.ig.Emit (OpCodes.Ldc_I4_0);
+ return;
+ }
+
+ ec.EmitIsInst (expression, type_operand);
ec.ig.Emit (OpCodes.Ldnull);
ec.ig.Emit (OpCodes.Cgt_Un);
}
+#endif
}
}