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

◆ CompileComparison()

void System.Linq.Expressions.Interpreter.LightCompiler.CompileComparison ( BinaryExpression node)
inlineprivate

Definition at line 682 of file LightCompiler.cs.

683 {
684 Expression left = node.Left;
685 Expression right = node.Right;
686 Compile(left);
687 Compile(right);
688 switch (node.NodeType)
689 {
690 case ExpressionType.LessThan:
691 _instructions.EmitLessThan(left.Type, node.IsLiftedToNull);
692 break;
693 case ExpressionType.LessThanOrEqual:
694 _instructions.EmitLessThanOrEqual(left.Type, node.IsLiftedToNull);
695 break;
696 case ExpressionType.GreaterThan:
697 _instructions.EmitGreaterThan(left.Type, node.IsLiftedToNull);
698 break;
699 case ExpressionType.GreaterThanOrEqual:
700 _instructions.EmitGreaterThanOrEqual(left.Type, node.IsLiftedToNull);
701 break;
702 default:
704 }
705 }
void EmitGreaterThanOrEqual(Type type, bool liftedToNull)
void EmitLessThanOrEqual(Type type, bool liftedToNull)
void EmitLessThan(Type type, bool liftedToNull)
void EmitGreaterThan(Type type, bool liftedToNull)
void Compile(Expression expr, bool asVoid)

References System.Linq.Expressions.Interpreter.LightCompiler._instructions, System.Linq.Expressions.Interpreter.LightCompiler.Compile(), System.Linq.Expressions.Interpreter.InstructionList.EmitGreaterThan(), System.Linq.Expressions.Interpreter.InstructionList.EmitGreaterThanOrEqual(), System.Linq.Expressions.Interpreter.InstructionList.EmitLessThan(), System.Linq.Expressions.Interpreter.InstructionList.EmitLessThanOrEqual(), System.Linq.Expressions.Expression< TDelegate >.Type, and System.Dynamic.Utils.ContractUtils.Unreachable.

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