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

◆ VisitSort()

override QilNode System.Xml.Xsl.IlGen.XmlILVisitor.VisitSort ( QilLoop ndSort)
inlineprotectedvirtual

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

Definition at line 1347 of file XmlILVisitor.cs.

1348 {
1351 XmlILStorageMethods xmlILStorageMethods = XmlILMethods.StorageMethods[itemStorageType];
1359 _helper.Call(XmlILMethods.SortKeyCreate);
1361 StartBinding(ndSort.Variable);
1363 _iterCurr.EnsureItemStorageType(ndSort.Variable.XmlType, GetItemStorageType(ndSort.Variable));
1366 foreach (QilSortKey item in ndSort.Body)
1367 {
1369 }
1370 _helper.Call(XmlILMethods.SortKeyFinish);
1376 _helper.Call(XmlILMethods.SortKeyKeys);
1377 _helper.Call(xmlILStorageMethods.SeqSortByKeys);
1378 _iterCurr.Storage = StorageDescriptor.Local(localBuilder, itemStorageType, isCached: true);
1379 EndBinding(ndSort.Variable);
1380 EndNestedIterator(ndSort.Variable);
1382 return ndSort;
1383 }
static readonly OpCode Ldloca
Definition OpCodes.cs:427
static readonly OpCode Stloc
Definition OpCodes.cs:429
static readonly OpCode Pop
Definition OpCodes.cs:79
static readonly OpCode Ldloc
Definition OpCodes.cs:425
LocalBuilder DeclareLocal(string name, Type type)
void EnsureItemStorageType(XmlQueryType xmlType, Type storageTypeDest)
void SetIterator(Label lblNext, StorageDescriptor storage)
void EndBinding(QilIterator ndIter)
void StartBinding(QilIterator ndIter)
void VisitSortKey(QilSortKey ndKey, LocalBuilder locKeys)

References System.Xml.Xsl.IlGen.XmlILVisitor._helper, System.Xml.Xsl.IlGen.XmlILVisitor._iterCurr, System.Xml.Xsl.IlGen.XmlILVisitor._iterNested, System.Xml.Xsl.IlGen.GenerateHelper.Call(), System.Xml.Xsl.IlGen.GenerateHelper.DeclareLocal(), System.Xml.Xsl.IlGen.GenerateHelper.DefineLabel(), System.Xml.Dictionary, System.Xml.Xsl.IlGen.GenerateHelper.Emit(), System.Xml.Xsl.IlGen.XmlILVisitor.EndBinding(), System.Xml.Xsl.IlGen.XmlILVisitor.EndNestedIterator(), System.Xml.Xsl.IlGen.IteratorDescriptor.EnsureItemStorageType(), System.Xml.Xsl.IlGen.IteratorDescriptor.EnsureStackNoCache(), System.Xml.Xsl.IlGen.XmlILVisitor.GetItemStorageType(), System.item, System.Reflection.Emit.OpCodes.Ldloc, System.Reflection.Emit.OpCodes.Ldloca, System.Xml.Xsl.IlGen.StorageDescriptor.Local(), System.Xml.Xsl.IlGen.IteratorDescriptor.LoopToEnd(), System.Reflection.Emit.OpCodes.Pop, System.Xml.Xsl.IlGen.IteratorDescriptor.SetIterator(), System.Xml.Xsl.IlGen.XmlILMethods.SortKeyCreate, System.Xml.Xsl.IlGen.XmlILMethods.SortKeyFinish, System.Xml.Xsl.IlGen.XmlILMethods.SortKeyKeys, System.Xml.Xsl.IlGen.XmlILVisitor.StartBinding(), System.Xml.Xsl.IlGen.XmlILVisitor.StartNestedIterator(), System.Reflection.Emit.OpCodes.Stloc, System.Xml.Xsl.IlGen.XmlILMethods.StorageMethods, and System.Xml.Xsl.IlGen.XmlILVisitor.VisitSortKey().