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

◆ VisitSortKey() [2/2]

void System.Xml.Xsl.IlGen.XmlILVisitor.VisitSortKey ( QilSortKey ndKey,
LocalBuilder locKeys )
inlineprivate

Definition at line 1385 of file XmlILVisitor.cs.

1386 {
1388 if (ndKey.Collation.NodeType == QilNodeType.LiteralString)
1389 {
1391 }
1392 else
1393 {
1395 NestedVisitEnsureStack(ndKey.Collation);
1396 _helper.Call(XmlILMethods.CreateCollation);
1397 }
1398 if (ndKey.XmlType.IsSingleton)
1399 {
1401 _helper.AddSortKey(ndKey.Key.XmlType);
1402 return;
1403 }
1406 Visit(ndKey.Key);
1409 _helper.AddSortKey(ndKey.Key.XmlType);
1413 _helper.AddSortKey(null);
1416 }
static readonly OpCode Ldloca
Definition OpCodes.cs:427
static readonly OpCode Br_S
Definition OpCodes.cs:89
void AddSortKey(XmlQueryType keyType)
void EmitUnconditionalBranch(OpCode opcode, Label lblTarget)
void EnsureItemStorageType(XmlQueryType xmlType, Type storageTypeDest)
void Visit(QilExpression qil, GenerateHelper helper, MethodInfo methRoot)

References System.Xml.Xsl.IlGen.XmlILVisitor._helper, System.Xml.Xsl.IlGen.XmlILVisitor._iterCurr, System.Xml.Xsl.IlGen.GenerateHelper.AddSortKey(), System.Reflection.Emit.OpCodes.Br_S, System.Xml.Xsl.IlGen.GenerateHelper.Call(), System.Xml.Xsl.IlGen.GenerateHelper.CallGetCollation(), System.Xml.Xsl.IlGen.XmlILMethods.CreateCollation, System.Xml.Xsl.IlGen.StaticDataManager.DeclareCollation(), System.Xml.Xsl.IlGen.GenerateHelper.DefineLabel(), System.Xml.Xsl.IlGen.GenerateHelper.Emit(), System.Xml.Xsl.IlGen.GenerateHelper.EmitUnconditionalBranch(), 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.Reflection.Emit.OpCodes.Ldloca, System.Xml.Xsl.IlGen.GenerateHelper.LoadQueryRuntime(), System.Xml.Xsl.IlGen.GenerateHelper.MarkLabel(), System.Xml.Xsl.IlGen.XmlILVisitor.NestedVisitEnsureStack(), System.Xml.Xsl.IlGen.XmlILVisitor.StartNestedIterator(), System.Xml.Xsl.IlGen.GenerateHelper.StaticData, and System.Xml.Xsl.IlGen.XmlILVisitor.Visit().

Referenced by System.Xml.Xsl.IlGen.XmlILVisitor.VisitSort().