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

◆ EmitConditionalExpression()

void System.Linq.Expressions.Compiler.LambdaCompiler.EmitConditionalExpression ( Expression expr,
CompilationFlags flags )
inlineprivate

Definition at line 2384 of file LambdaCompiler.cs.

2385 {
2386 ConditionalExpression conditionalExpression = (ConditionalExpression)expr;
2390 if (NotEmpty(conditionalExpression.IfFalse))
2391 {
2393 if ((flags & CompilationFlags.EmitAsTailCallMask) == CompilationFlags.EmitAsTail)
2394 {
2396 }
2397 else
2398 {
2400 }
2404 }
2405 else
2406 {
2408 }
2409 }
void EmitExpressionAndBranch(bool branchValue, Expression node, Label label)
void EmitExpressionAsType(Expression node, Type type, CompilationFlags flags)
virtual void MarkLabel(Label loc)
virtual void Emit(OpCode opcode)
static readonly OpCode Br
Definition OpCodes.cs:115
static readonly OpCode Ret
Definition OpCodes.cs:87

References System.Linq.Expressions.Compiler.LambdaCompiler._ilg, System.Reflection.Emit.OpCodes.Br, System.Reflection.Emit.ILGenerator.DefineLabel(), System.Reflection.Emit.ILGenerator.Emit(), System.Linq.Expressions.Compiler.LambdaCompiler.EmitExpressionAndBranch(), System.Linq.Expressions.Compiler.LambdaCompiler.EmitExpressionAsType(), System.Reflection.Emit.ILGenerator.MarkLabel(), System.Linq.Expressions.Compiler.LambdaCompiler.NotEmpty(), and System.Reflection.Emit.OpCodes.Ret.

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