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

◆ VisitChildren()

override QilNode System.Xml.Xsl.Qil.QilReplaceVisitor.VisitChildren ( QilNode parent)
inlineprotectedvirtualinherited

Reimplemented from System.Xml.Xsl.Qil.QilVisitor.

Definition at line 12 of file QilReplaceVisitor.cs.

13 {
14 XmlQueryType xmlType = parent.XmlType;
15 bool flag = false;
16 for (int i = 0; i < parent.Count; i++)
17 {
18 QilNode qilNode = parent[i];
19 XmlQueryType xmlQueryType = qilNode?.XmlType;
20 QilNode qilNode2 = ((!IsReference(parent, i)) ? Visit(qilNode) : VisitReference(qilNode));
21 if (qilNode != qilNode2 || (qilNode2 != null && (object)xmlQueryType != qilNode2.XmlType))
22 {
23 flag = true;
24 parent[i] = qilNode2;
25 }
26 }
27 if (flag)
28 {
29 RecalculateType(parent, xmlType);
30 }
31 return parent;
32 }
virtual void RecalculateType(QilNode node, XmlQueryType oldType)
virtual QilNode VisitReference(QilNode n)
virtual bool IsReference(QilNode parent, int childNum)
Definition QilVisitor.cs:30
virtual QilNode Visit(QilNode n)
Definition QilVisitor.cs:60

References System.Xml.Xsl.Qil.QilNode.Count, System.Xml.Dictionary, System.Xml.Xsl.Qil.QilVisitor.IsReference(), System.Xml.Xsl.Qil.QilReplaceVisitor.RecalculateType(), System.Xml.Xsl.Qil.QilVisitor.Visit(), System.Xml.Xsl.Qil.QilVisitor.VisitReference(), and System.Xml.Xsl.Qil.QilNode.XmlType.

Referenced by System.Xml.Xsl.Qil.QilPatternVisitor.Visit().