Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ EmitLiftedToNullRelational()

void System.Linq.Expressions.Compiler.LambdaCompiler.EmitLiftedToNullRelational ( ExpressionType op,
Type type )
inlineprivate

Definition at line 656 of file LambdaCompiler.cs.

657 {
665 _ilg.EmitHasValue(type);
667 _ilg.EmitHasValue(type);
670 _ilg.EmitDefault(typeof(bool?), this);
674 _ilg.EmitGetValueOrDefault(type);
676 _ilg.EmitGetValueOrDefault(type);
679 Type nonNullableType = type.GetNonNullableType();
681 _ilg.Emit(OpCodes.Newobj, CachedReflectionInfo.Nullable_Boolean_Ctor);
683 }
void EmitUnliftedBinaryOp(ExpressionType op, Type leftType, Type rightType)
virtual void MarkLabel(Label loc)
virtual void Emit(OpCode opcode)
static readonly OpCode Ldloca
Definition OpCodes.cs:427
static readonly OpCode Br_S
Definition OpCodes.cs:89
static readonly OpCode Stloc
Definition OpCodes.cs:429
static readonly OpCode Newobj
Definition OpCodes.cs:233
static readonly OpCode And
Definition OpCodes.cs:193
static readonly OpCode Brtrue_S
Definition OpCodes.cs:93

References System.Linq.Expressions.Compiler.LambdaCompiler._ilg, System.Reflection.Emit.OpCodes.And, System.Reflection.Emit.OpCodes.Br_S, System.Reflection.Emit.OpCodes.Brtrue_S, System.Reflection.Emit.ILGenerator.DefineLabel(), System.Reflection.Emit.ILGenerator.Emit(), System.Linq.Expressions.Compiler.LambdaCompiler.EmitUnliftedBinaryOp(), System.Linq.Expressions.Compiler.LambdaCompiler.FreeLocal(), System.Linq.Expressions.Compiler.LambdaCompiler.GetLocal(), System.Reflection.Emit.OpCodes.Ldloca, System.Reflection.Emit.ILGenerator.MarkLabel(), System.Reflection.Emit.OpCodes.Newobj, System.Linq.Expressions.CachedReflectionInfo.Nullable_Boolean_Ctor, System.Reflection.Emit.OpCodes.Stloc, and System.type.

Referenced by System.Linq.Expressions.Compiler.LambdaCompiler.EmitLiftedBinaryOp().