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

◆ EmitLiftedOrElse()

void System.Linq.Expressions.Compiler.LambdaCompiler.EmitLiftedOrElse ( BinaryExpression b)
inlineprivate

Definition at line 2640 of file LambdaCompiler.cs.

2641 {
2642 Type typeFromHandle = typeof(bool?);
2646 EmitExpression(b.Left);
2649 _ilg.EmitGetValueOrDefault(typeFromHandle);
2651 EmitExpression(b.Right);
2655 _ilg.EmitGetValueOrDefault(typeFromHandle);
2657 _ilg.EmitHasValue(typeFromHandle);
2667 }
virtual void MarkLabel(Label loc)
virtual void Emit(OpCode opcode)
static readonly OpCode Ldloca
Definition OpCodes.cs:427
static readonly OpCode Brtrue
Definition OpCodes.cs:119
static readonly OpCode Br_S
Definition OpCodes.cs:89
static readonly OpCode Or
Definition OpCodes.cs:195
static readonly OpCode Stloc
Definition OpCodes.cs:429
static readonly OpCode Ldloc
Definition OpCodes.cs:425
static readonly OpCode Brfalse_S
Definition OpCodes.cs:91

References System.Linq.Expressions.Compiler.LambdaCompiler._ilg, System.Reflection.Emit.OpCodes.Br_S, System.Reflection.Emit.OpCodes.Brfalse_S, System.Reflection.Emit.OpCodes.Brtrue, System.Reflection.Emit.ILGenerator.DefineLabel(), System.Reflection.Emit.ILGenerator.Emit(), System.Linq.Expressions.Compiler.LambdaCompiler.EmitExpression(), System.Linq.Expressions.Compiler.LambdaCompiler.FreeLocal(), System.Linq.Expressions.Compiler.LambdaCompiler.GetLocal(), System.Reflection.Emit.OpCodes.Ldloc, System.Reflection.Emit.OpCodes.Ldloca, System.Reflection.Emit.ILGenerator.MarkLabel(), System.Reflection.Emit.OpCodes.Or, and System.Reflection.Emit.OpCodes.Stloc.

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