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

◆ ClrCompare()

void System.Xml.Xsl.IlGen.XmlILVisitor.ClrCompare ( QilNodeType relOp,
XmlTypeCode code )
inlineprivate

Definition at line 2671 of file XmlILVisitor.cs.

2672 {
2673 OpCode opcode;
2675 {
2676 case BranchingContext.OnFalse:
2677 opcode = ((code == XmlTypeCode.Double || code == XmlTypeCode.Float) ? (relOp switch
2678 {
2685 _ => OpCodes.Nop,
2686 }) : (relOp switch
2687 {
2694 _ => OpCodes.Nop,
2695 }));
2697 _iterCurr.Storage = StorageDescriptor.None();
2698 return;
2699 case BranchingContext.OnTrue:
2700 opcode = relOp switch
2701 {
2708 _ => OpCodes.Nop,
2709 };
2711 _iterCurr.Storage = StorageDescriptor.None();
2712 return;
2713 }
2714 Label label;
2715 switch (relOp)
2716 {
2717 case QilNodeType.Gt:
2719 break;
2720 case QilNodeType.Lt:
2722 break;
2723 case QilNodeType.Eq:
2725 break;
2726 case QilNodeType.Ge:
2727 opcode = OpCodes.Bge_S;
2728 goto IL_0207;
2729 case QilNodeType.Le:
2730 opcode = OpCodes.Ble_S;
2731 goto IL_0207;
2732 case QilNodeType.Ne:
2733 opcode = OpCodes.Bne_Un_S;
2734 goto IL_0207;
2735 default:
2736 {
2737 opcode = OpCodes.Nop;
2738 goto IL_0207;
2739 }
2740 IL_0207:
2742 _helper.Emit(opcode, label);
2744 break;
2745 }
2746 _iterCurr.Storage = StorageDescriptor.Stack(typeof(bool), isCached: false);
2747 }
static readonly OpCode Bge_S
Definition OpCodes.cs:97
static readonly OpCode Blt_Un
Definition OpCodes.cs:139
static readonly OpCode Blt
Definition OpCodes.cs:129
static readonly OpCode Bge_Un
Definition OpCodes.cs:133
static readonly OpCode Clt
Definition OpCodes.cs:411
static readonly OpCode Ble_Un
Definition OpCodes.cs:137
static readonly OpCode Bgt_Un
Definition OpCodes.cs:135
static readonly OpCode Bne_Un_S
Definition OpCodes.cs:105
static readonly OpCode Bgt
Definition OpCodes.cs:125
static readonly OpCode Cgt
Definition OpCodes.cs:407
static readonly OpCode Ble
Definition OpCodes.cs:127
static readonly OpCode Beq
Definition OpCodes.cs:121
static readonly OpCode Bne_Un
Definition OpCodes.cs:131
static readonly OpCode Ceq
Definition OpCodes.cs:405
static readonly OpCode Bge
Definition OpCodes.cs:123
static readonly OpCode Nop
Definition OpCodes.cs:5
static readonly OpCode Ble_S
Definition OpCodes.cs:101
void ConvBranchToBool(Label lblBranch, bool isTrueBranch)

References System.Reflection.Emit.OpCodes.Beq, System.Reflection.Emit.OpCodes.Bge, System.Reflection.Emit.OpCodes.Bge_S, System.Reflection.Emit.OpCodes.Bge_Un, System.Reflection.Emit.OpCodes.Bgt, System.Reflection.Emit.OpCodes.Bgt_Un, System.Reflection.Emit.OpCodes.Ble, System.Reflection.Emit.OpCodes.Ble_S, System.Reflection.Emit.OpCodes.Ble_Un, System.Reflection.Emit.OpCodes.Blt, System.Reflection.Emit.OpCodes.Blt_Un, System.Reflection.Emit.OpCodes.Bne_Un, System.Reflection.Emit.OpCodes.Bne_Un_S, System.Reflection.Emit.OpCodes.Ceq, System.Reflection.Emit.OpCodes.Cgt, System.Reflection.Emit.OpCodes.Clt, System.Xml.Dictionary, System.Xml.Xsl.IlGen.StorageDescriptor.None(), System.Reflection.Emit.OpCodes.Nop, and System.Xml.Xsl.IlGen.StorageDescriptor.Stack().

Referenced by System.Xml.Xsl.IlGen.XmlILVisitor.Compare(), System.Xml.Xsl.IlGen.XmlILVisitor.ComparePosition(), and System.Xml.Xsl.IlGen.XmlILVisitor.MatchesNodeKinds().