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

◆ CompileOrderAttribute()

QilNode System.Xml.Xsl.Xslt.QilGenerator.CompileOrderAttribute ( string attName,
string attValue,
string value0,
string value1,
bool fwdCompat )
inlineprivate

Definition at line 1375 of file QilGenerator.cs.

1376 {
1378 if (qilNode != null)
1379 {
1380 if (qilNode.NodeType == QilNodeType.LiteralString)
1381 {
1382 string text = (QilLiteral)qilNode;
1383 if (text == value1)
1384 {
1385 qilNode = _f.String("1");
1386 }
1387 else
1388 {
1389 if (text != value0 && !fwdCompat)
1390 {
1392 }
1393 qilNode = _f.String("0");
1394 }
1395 }
1396 else
1397 {
1398 QilIterator left;
1399 qilNode = _f.Loop(left = _f.Let(qilNode), _f.Conditional(_f.Eq(left, _f.String(value1)), _f.String("1"), fwdCompat ? _f.String("0") : _f.Conditional(_f.Eq(left, _f.String(value0)), _f.String("0"), _f.Error(_lastScope.SourceLine, System.SR.Xslt_BistateAttribute, attName, value0, value1))));
1400 }
1401 }
1402 return qilNode;
1403 }
static string Xslt_BistateAttribute
Definition SR.cs:1886
Definition SR.cs:7
QilNode Loop(QilIterator variable, QilNode body)
QilNode Conditional(QilNode condition, QilNode trueBranch, QilNode falseBranch)
QilIterator Let(QilNode binding)
QilNode Eq(QilNode left, QilNode right)
void ReportError(string res, params string[] args)
readonly XsltQilFactory _f
QilNode CompileStringAvt(string avt)

References System.Xml.Xsl.Xslt.QilGenerator._f, System.Xml.Xsl.Xslt.QilGenerator._lastScope, System.Xml.Xsl.Xslt.QilGenerator.CompileStringAvt(), System.Xml.Xsl.Qil.QilPatternFactory.Conditional(), System.Xml.Dictionary, System.Xml.Xsl.Qil.QilPatternFactory.Eq(), System.Xml.Xsl.XPath.XPathQilFactory.Error(), System.Xml.Xsl.Qil.QilPatternFactory.Let(), System.Xml.Xsl.Qil.QilPatternFactory.Loop(), System.Xml.Xsl.Xslt.QilGenerator.ReportError(), System.Xml.Xsl.Xslt.XslNode.SourceLine, System.Xml.Xsl.Qil.QilPatternFactory.String(), System.text, and System.SR.Xslt_BistateAttribute.

Referenced by System.Xml.Xsl.Xslt.QilGenerator.CompileSort().