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

◆ EmitLiftedAndAlso()

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

Definition at line 2552 of file LambdaCompiler.cs.

2553 {
2554 Type typeFromHandle = typeof(bool?);
2558 EmitExpression(b.Left);
2562 _ilg.EmitHasValue(typeFromHandle);
2564 _ilg.EmitGetValueOrDefault(typeFromHandle);
2568 EmitExpression(b.Right);
2572 _ilg.EmitGetValueOrDefault(typeFromHandle);
2575 _ilg.EmitGetValueOrDefault(typeFromHandle);
2585 }
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 Stloc
Definition OpCodes.cs:429
static readonly OpCode And
Definition OpCodes.cs:193
static readonly OpCode Brtrue_S
Definition OpCodes.cs:93
static readonly OpCode Ldloc
Definition OpCodes.cs:425
static readonly OpCode Not
Definition OpCodes.cs:207

References System.Linq.Expressions.Compiler.LambdaCompiler._ilg, System.Reflection.Emit.OpCodes.And, System.Reflection.Emit.OpCodes.Br_S, System.Reflection.Emit.OpCodes.Brtrue, System.Reflection.Emit.OpCodes.Brtrue_S, 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.Not, and System.Reflection.Emit.OpCodes.Stloc.

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