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

◆ EmitUnaryBoolCheck()

void System.Linq.Expressions.Interpreter.LightCompiler.EmitUnaryBoolCheck ( UnaryExpression node)
inlineprivate

Definition at line 951 of file LightCompiler.cs.

952 {
953 Compile(node.Operand);
954 if (node.IsLifted)
955 {
956 BranchLabel branchLabel = _instructions.MakeLabel();
957 BranchLabel label = _instructions.MakeLabel();
961 _instructions.EmitLoad(node.NodeType == ExpressionType.IsTrue);
964 }
965 else
966 {
967 _instructions.EmitLoad(node.NodeType == ExpressionType.IsTrue);
969 }
970 }
void EmitEqual(Type type, bool liftedToNull=false)
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.EmitCoalescingBranch(), System.Linq.Expressions.Interpreter.InstructionList.EmitEqual(), System.Linq.Expressions.Interpreter.InstructionList.EmitLoad(), System.Linq.Expressions.Interpreter.InstructionList.MakeLabel(), and System.Linq.Expressions.Interpreter.InstructionList.MarkLabel().

Referenced by System.Linq.Expressions.Interpreter.LightCompiler.CompileUnaryExpression().