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

◆ VisitMultiply()

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

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

Definition at line 880 of file XmlILOptimizerVisitor.cs.

881 {
884 if (this[XmlILOptimization.FoldNone] && (object)qilNode.XmlType == XmlQueryTypeFactory.None && AllowReplace(XmlILOptimization.FoldNone, local0))
885 {
886 return Replace(XmlILOptimization.FoldNone, local0, VisitNop(f.Nop(qilNode)));
887 }
888 if (this[XmlILOptimization.FoldNone] && (object)qilNode2.XmlType == XmlQueryTypeFactory.None && AllowReplace(XmlILOptimization.FoldNone, local0))
889 {
891 }
893 {
895 }
896 if (this[XmlILOptimization.NormalizeMultiplyLiteral] && IsLiteral(qilNode) && !IsLiteral(qilNode2) && AllowReplace(XmlILOptimization.NormalizeMultiplyLiteral, local0))
897 {
898 return Replace(XmlILOptimization.NormalizeMultiplyLiteral, local0, VisitMultiply(f.Multiply(qilNode2, qilNode)));
899 }
900 return NoReplace(local0);
901 }
override QilNode VisitMultiply(QilBinary local0)
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)
QilUnary Nop(QilNode child)
QilBinary Multiply(QilNode left, QilNode right)

References 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.Qil.QilFactory.Multiply(), 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.VisitMultiply(), and System.Xml.Xsl.IlGen.XmlILOptimizerVisitor.VisitNop().

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