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

◆ VisitAdd()

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

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

Definition at line 838 of file XmlILOptimizerVisitor.cs.

839 {
842 if (this[XmlILOptimization.FoldNone] && (object)qilNode.XmlType == XmlQueryTypeFactory.None && AllowReplace(XmlILOptimization.FoldNone, local0))
843 {
844 return Replace(XmlILOptimization.FoldNone, local0, VisitNop(f.Nop(qilNode)));
845 }
846 if (this[XmlILOptimization.FoldNone] && (object)qilNode2.XmlType == XmlQueryTypeFactory.None && AllowReplace(XmlILOptimization.FoldNone, local0))
847 {
849 }
851 {
853 }
854 if (this[XmlILOptimization.NormalizeAddLiteral] && IsLiteral(qilNode) && !IsLiteral(qilNode2) && AllowReplace(XmlILOptimization.NormalizeAddLiteral, local0))
855 {
856 return Replace(XmlILOptimization.NormalizeAddLiteral, local0, VisitAdd(f.Add(qilNode2, qilNode)));
857 }
858 return NoReplace(local0);
859 }
bool AllowReplace(XmlILOptimization pattern, QilNode original)
override QilNode VisitNop(QilUnary local0)
QilNode FoldArithmetic(QilNodeType opType, QilLiteral left, QilLiteral right)
bool CanFoldArithmetic(QilNodeType opType, QilLiteral left, QilLiteral right)
override QilNode VisitAdd(QilBinary local0)
QilBinary Add(QilNode left, QilNode right)
QilUnary Nop(QilNode child)

References System.Xml.Xsl.Qil.QilFactory.Add(), System.Xml.Xsl.IlGen.XmlILOptimizerVisitor.AllowReplace(), System.Xml.Xsl.IlGen.XmlILOptimizerVisitor.CanFoldArithmetic(), System.Xml.Xsl.Qil.QilReplaceVisitor.f, System.Xml.Xsl.IlGen.XmlILOptimizerVisitor.FoldArithmetic(), System.Xml.Xsl.IlGen.XmlILOptimizerVisitor.IsLiteral(), 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.VisitAdd(), and System.Xml.Xsl.IlGen.XmlILOptimizerVisitor.VisitNop().

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