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

◆ RelationalOperator()

QilNode System.Xml.Xsl.XPath.XPathBuilder.RelationalOperator ( XPathOperator op,
QilNode left,
QilNode right )
inlineprivateinherited

Definition at line 543 of file XPathBuilder.cs.

544 {
545 XmlQueryType xmlType = left.XmlType;
546 XmlQueryType xmlType2 = right.XmlType;
547 if (_f.IsAnyType(left) || _f.IsAnyType(right))
548 {
549 return _f.InvokeRelationalOperator(s_qilOperator[(int)op], left, right);
550 }
551 if (xmlType.IsNode && xmlType2.IsNode)
552 {
553 return CompareNodeSetAndNodeSet(op, left, right, XmlTypeCode.Double);
554 }
555 if (xmlType.IsNode)
556 {
558 return CompareNodeSetAndValue(op, left, right, compType);
559 }
560 if (xmlType2.IsNode)
561 {
563 op = InvertOp(op);
564 return CompareNodeSetAndValue(op, right, left, compType2);
565 }
566 return CompareValues(op, left, right, XmlTypeCode.Double);
567 }
virtual XmlQueryType XmlType
Definition QilNode.cs:29
QilNode CompareValues(XPathOperator op, QilNode left, QilNode right, XmlTypeCode compType)
QilNode CompareNodeSetAndNodeSet(XPathOperator op, QilNode left, QilNode right, XmlTypeCode compType)
QilNode CompareNodeSetAndValue(XPathOperator op, QilNode nodeset, QilNode val, XmlTypeCode compType)
readonly XPathQilFactory _f
static readonly QilNodeType[] s_qilOperator
static XPathOperator InvertOp(XPathOperator op)
QilNode InvokeRelationalOperator(QilNodeType op, QilNode left, QilNode right)

References System.Xml.Xsl.XPath.XPathBuilder._f, System.Xml.Xsl.XPath.XPathBuilder.CompareNodeSetAndNodeSet(), System.Xml.Xsl.XPath.XPathBuilder.CompareNodeSetAndValue(), System.Xml.Xsl.XPath.XPathBuilder.CompareValues(), System.Xml.Dictionary, System.Xml.Xsl.XPath.XPathBuilder.InvertOp(), System.Xml.Xsl.XPath.XPathQilFactory.InvokeRelationalOperator(), System.Xml.Xsl.XPath.XPathQilFactory.IsAnyType(), System.Xml.Xsl.XmlQueryType.IsNode, System.Xml.Xsl.XPath.XPathBuilder.s_qilOperator, and System.Xml.Xsl.Qil.QilNode.XmlType.

Referenced by System.Xml.Xsl.XPath.XPathBuilder.Operator().