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

◆ CompileCopyOf()

QilNode System.Xml.Xsl.Xslt.QilGenerator.CompileCopyOf ( XslNode node)
inlineprivate

Definition at line 1136 of file QilGenerator.cs.

1137 {
1139 if (qilNode.XmlType.IsNode)
1140 {
1141 if ((qilNode.XmlType.NodeKinds & (XmlNodeKindFlags.Attribute | XmlNodeKindFlags.Namespace)) != 0)
1142 {
1144 }
1145 if (qilNode.XmlType.IsNotRtf && (qilNode.XmlType.NodeKinds & XmlNodeKindFlags.Document) == 0)
1146 {
1147 return qilNode;
1148 }
1149 if (qilNode.XmlType.IsSingleton)
1150 {
1151 return _f.XsltCopyOf(qilNode);
1152 }
1153 QilIterator expr;
1154 return _f.Loop(expr = _f.For(qilNode), _f.XsltCopyOf(expr));
1155 }
1156 if (qilNode.XmlType.IsAtomicValue)
1157 {
1159 }
1162 return _f.Loop(expr2 = _f.For(qilNode), _f.Conditional(_f.IsType(expr2, XmlQueryTypeFactory.Node), _f.XsltCopyOf(_f.TypeAssert(expr2, XmlQueryTypeFactory.Node)), _f.TextCtor(_f.XsltConvert(expr2, XmlQueryTypeFactory.StringX))));
1163 }
QilIterator For(QilNode binding)
QilNode IsType(QilNode expr, XmlQueryType t)
QilNode Loop(QilIterator variable, QilNode body)
QilNode Conditional(QilNode condition, QilNode trueBranch, QilNode falseBranch)
QilNode XsltConvert(QilNode expr, XmlQueryType t)
QilNode TypeAssert(QilNode expr, XmlQueryType t)
QilNode CompileXPathExpression(string expr)
readonly XsltQilFactory _f
readonly OutputScopeManager _outputScope

References System.Xml.Xsl.Xslt.QilGenerator._f, System.Xml.Xsl.Xslt.QilGenerator._outputScope, System.Xml.Xsl.Xslt.QilGenerator.CompileXPathExpression(), System.Xml.Xsl.Qil.QilPatternFactory.Conditional(), System.Xml.Xsl.XPath.XPathQilFactory.ConvertToString(), System.Xml.Dictionary, System.Xml.Xsl.Qil.QilPatternFactory.For(), System.Xml.Xsl.Xslt.OutputScopeManager.InvalidateAllPrefixes(), System.Xml.Xsl.Qil.QilPatternFactory.IsType(), System.Xml.Xsl.Qil.QilPatternFactory.Loop(), System.Xml.Xsl.XmlQueryTypeFactory.Node, System.Xml.Xsl.XmlQueryTypeFactory.StringX, System.Xml.Xsl.Qil.QilPatternFactory.TextCtor(), System.Xml.Xsl.Qil.QilPatternFactory.TypeAssert(), System.Xml.Xsl.Qil.QilPatternFactory.XsltConvert(), and System.Xml.Xsl.Qil.QilPatternFactory.XsltCopyOf().

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