Terraria v1.4.4.9
Terraria source code documentation
All Classes Namespaces Files Functions Variables Enumerations Enumerator Properties Events Macros

◆ CompileConditionalExpression()

void System.Linq.Expressions.Interpreter.LightCompiler.CompileConditionalExpression ( Expression expr,
bool asVoid )
inlineprivate

Definition at line 1096 of file LightCompiler.cs.

1097 {
1098 ConditionalExpression conditionalExpression = (ConditionalExpression)expr;
1100 if (conditionalExpression.IfTrue == Utils.Empty)
1101 {
1102 BranchLabel branchLabel = _instructions.MakeLabel();
1106 return;
1107 }
1108 BranchLabel branchLabel2 = _instructions.MakeLabel();
1111 if (conditionalExpression.IfFalse != Utils.Empty)
1112 {
1113 BranchLabel label = _instructions.MakeLabel();
1118 }
1119 else
1120 {
1122 }
1123 }
void EmitBranch(OffsetInstruction instruction, BranchLabel label)
void Compile(Expression expr, bool asVoid)

References System.Linq.Expressions.Interpreter.LightCompiler._instructions, System.Linq.Expressions.Interpreter.LightCompiler.Compile(), System.Linq.Expressions.Interpreter.InstructionList.EmitBranch(), System.Linq.Expressions.Interpreter.InstructionList.EmitBranchFalse(), System.Linq.Expressions.Interpreter.InstructionList.EmitBranchTrue(), System.Linq.Expressions.Utils.Empty, System.Linq.Expressions.Interpreter.InstructionList.MakeLabel(), and System.Linq.Expressions.Interpreter.InstructionList.MarkLabel().

Referenced by System.Linq.Expressions.Interpreter.LightCompiler.CompileNoLabelPush(), and System.Linq.Expressions.Interpreter.LightCompiler.CompileSwitchExpression().