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

◆ VisitInvoke()

override QilNode System.Xml.Xsl.IlGen.XmlILVisitor.VisitInvoke ( QilInvoke ndInvoke)
inlineprotectedvirtual

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

Definition at line 1522 of file XmlILVisitor.cs.

1523 {
1524 QilFunction function = ndInvoke.Function;
1525 MethodInfo functionBinding = XmlILAnnotation.Write(function).FunctionBinding;
1526 bool flag = XmlILConstructInfo.Read(function).ConstructMethod == XmlILConstructMethod.Writer;
1528 for (int i = 0; i < ndInvoke.Arguments.Count; i++)
1529 {
1530 QilNode nd = ndInvoke.Arguments[i];
1531 QilNode qilNode = ndInvoke.Function.Arguments[i];
1533 }
1534 if (OptimizerPatterns.Read(ndInvoke).MatchesPattern(OptimizerPatternName.TailCall))
1535 {
1537 }
1538 else
1539 {
1541 }
1542 if (!flag)
1543 {
1544 _iterCurr.Storage = StorageDescriptor.Stack(GetItemStorageType(ndInvoke), !ndInvoke.XmlType.IsSingleton);
1545 }
1546 else
1547 {
1548 _iterCurr.Storage = StorageDescriptor.None();
1549 }
1550 return ndInvoke;
1551 }

References System.Xml.Xsl.IlGen.XmlILVisitor._helper, System.Xml.Xsl.IlGen.GenerateHelper.Call(), System.Collections.Generic.Dictionary< TKey, TValue >.Count, System.Xml.Dictionary, System.Xml.Xsl.IlGen.XmlILVisitor.GetItemStorageType(), System.Xml.Xsl.IlGen.GenerateHelper.LoadQueryRuntime(), System.Xml.Xsl.IlGen.XmlILVisitor.NestedVisitEnsureStack(), System.Xml.Xsl.IlGen.StorageDescriptor.None(), System.Xml.Xsl.IlGen.OptimizerPatterns.Read(), System.Xml.Xsl.IlGen.XmlILConstructInfo.Read(), System.Xml.Xsl.IlGen.StorageDescriptor.Stack(), System.Xml.Xsl.IlGen.GenerateHelper.TailCall(), and System.Xml.Xsl.IlGen.XmlILAnnotation.Write().