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

◆ EmitLambdaReferenceCoalesce()

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

Definition at line 2507 of file LambdaCompiler.cs.

2508 {
2509 LocalBuilder local = GetLocal(b.Left.Type);
2512 EmitExpression(b.Left);
2516 EmitExpression(b.Right);
2519 EmitLambdaExpression(b.Conversion);
2522 _ilg.Emit(OpCodes.Callvirt, b.Conversion.Type.GetInvokeMethod());
2524 }
virtual void MarkLabel(Label loc)
virtual void Emit(OpCode opcode)
static readonly OpCode Callvirt
Definition OpCodes.cs:225
static readonly OpCode Brtrue
Definition OpCodes.cs:119
static readonly OpCode Stloc
Definition OpCodes.cs:429
static readonly OpCode Br
Definition OpCodes.cs:115
static readonly OpCode Ldloc
Definition OpCodes.cs:425
static readonly OpCode Dup
Definition OpCodes.cs:77

References System.Linq.Expressions.Compiler.LambdaCompiler._ilg, System.Reflection.Emit.OpCodes.Br, System.Reflection.Emit.OpCodes.Brtrue, System.Reflection.Emit.OpCodes.Callvirt, System.Reflection.Emit.ILGenerator.DefineLabel(), System.Reflection.Emit.OpCodes.Dup, System.Reflection.Emit.ILGenerator.Emit(), System.Linq.Expressions.Compiler.LambdaCompiler.EmitExpression(), System.Linq.Expressions.Compiler.LambdaCompiler.EmitLambdaExpression(), System.Linq.Expressions.Compiler.LambdaCompiler.FreeLocal(), System.Linq.Expressions.Compiler.LambdaCompiler.GetLocal(), System.Reflection.Emit.OpCodes.Ldloc, System.Reflection.Emit.ILGenerator.MarkLabel(), and System.Reflection.Emit.OpCodes.Stloc.

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