Terraria v1.4.4.9
Terraria source code documentation
All Classes Namespaces Files Functions Variables Enumerations Enumerator Properties Events Macros

◆ VisitAttribute()

override QilNode System.Xml.Xsl.IlGen.XmlILOptimizerVisitor.VisitAttribute ( QilBinary local0)
inlineprotectedvirtual

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

Definition at line 2150 of file XmlILOptimizerVisitor.cs.

2151 {
2152 QilNode qilNode = local0[0];
2153 QilNode qilNode2 = local0[1];
2154 if (this[XmlILOptimization.FoldNone] && (object)qilNode.XmlType == XmlQueryTypeFactory.None && AllowReplace(XmlILOptimization.FoldNone, local0))
2155 {
2156 return Replace(XmlILOptimization.FoldNone, local0, VisitNop(f.Nop(qilNode)));
2157 }
2158 if (this[XmlILOptimization.FoldNone] && (object)qilNode2.XmlType == XmlQueryTypeFactory.None && AllowReplace(XmlILOptimization.FoldNone, local0))
2159 {
2160 return Replace(XmlILOptimization.FoldNone, local0, VisitNop(f.Nop(qilNode2)));
2161 }
2162 if (this[XmlILOptimization.AnnotateAttribute] && AllowReplace(XmlILOptimization.AnnotateAttribute, local0))
2163 {
2164 OptimizerPatterns.Write(local0).AddPattern(OptimizerPatternName.Axis);
2166 OptimizerPatterns.Write(local0).AddPattern(OptimizerPatternName.IsDocOrderDistinct);
2167 OptimizerPatterns.Write(local0).AddPattern(OptimizerPatternName.SameDepth);
2168 }
2169 return NoReplace(local0);
2170 }
bool AllowReplace(XmlILOptimization pattern, QilNode original)
override QilNode VisitNop(QilUnary local0)
QilUnary Nop(QilNode child)

References System.Xml.Xsl.IlGen.XmlILOptimizerVisitor.AddStepPattern(), System.Xml.Xsl.IlGen.XmlILOptimizerVisitor.AllowReplace(), System.Xml.Xsl.Qil.QilReplaceVisitor.f, System.Xml.Xsl.XmlQueryTypeFactory.None, System.Xml.Xsl.Qil.QilFactory.Nop(), System.Xml.Xsl.IlGen.XmlILOptimizerVisitor.NoReplace(), System.Xml.Replace, System.Xml.Xsl.IlGen.XmlILOptimizerVisitor.VisitNop(), and System.Xml.Xsl.IlGen.OptimizerPatterns.Write().

Referenced by System.Xml.Xsl.IlGen.XmlILOptimizerVisitor.VisitFilter().