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

◆ Sequence()

void System.Xml.Xsl.IlGen.XmlILVisitor.Sequence ( QilList ndSeq)
inlineprivate

Definition at line 656 of file XmlILVisitor.cs.

657 {
658 Label label = default(Label);
660 if (ndSeq.XmlType.IsSingleton)
661 {
662 foreach (QilNode item in ndSeq)
663 {
664 if (item.XmlType.IsSingleton)
665 {
667 continue;
668 }
673 }
674 _iterCurr.Storage = StorageDescriptor.Stack(itemStorageType, isCached: false);
675 return;
676 }
678 LocalBuilder locBldr = _helper.DeclareLocal("$$$idxList", typeof(int));
679 Label[] array = new Label[ndSeq.Count];
681 for (int i = 0; i < ndSeq.Count; i++)
682 {
683 if (i != 0)
684 {
686 }
695 }
702 }
static readonly OpCode Brtrue
Definition OpCodes.cs:119
static readonly OpCode Stloc
Definition OpCodes.cs:429
static readonly OpCode Switch
Definition OpCodes.cs:141
static readonly OpCode Ldloc
Definition OpCodes.cs:425
LocalBuilder DeclareLocal(string name, Type type)
void EmitUnconditionalBranch(OpCode opcode, Label lblTarget)
void EnsureItemStorageType(XmlQueryType xmlType, Type storageTypeDest)
void SetIterator(Label lblNext, StorageDescriptor storage)
void NestedVisit(QilNode nd, Type itemStorageType, bool isCached)

References System.Xml.Xsl.IlGen.XmlILVisitor._helper, System.Xml.Xsl.IlGen.XmlILVisitor._iterCurr, System.Xml.Xsl.IlGen.XmlILVisitor._iterNested, System.array, System.Reflection.Emit.OpCodes.Brtrue, System.Collections.Generic.Dictionary< TKey, TValue >.Count, System.Xml.Xsl.IlGen.GenerateHelper.DeclareLocal(), System.Xml.Xsl.IlGen.GenerateHelper.DefineLabel(), System.Xml.Dictionary, System.Xml.Xsl.IlGen.IteratorDescriptor.DiscardStack(), System.Xml.Xsl.IlGen.GenerateHelper.Emit(), System.Xml.Xsl.IlGen.GenerateHelper.EmitUnconditionalBranch(), System.Xml.Xsl.IlGen.IteratorDescriptor.EnsureItemStorageType(), System.Xml.Xsl.IlGen.IteratorDescriptor.EnsureLocalNoCache(), System.Xml.Xsl.IlGen.XmlILVisitor.GetItemStorageType(), System.Xml.Xsl.IlGen.IteratorDescriptor.GetLabelNext(), System.item, System.Reflection.Emit.OpCodes.Ldloc, System.Xml.Xsl.IlGen.GenerateHelper.LoadInteger(), System.Xml.Xsl.IlGen.StorageDescriptor.Local(), System.Xml.Xsl.IlGen.GenerateHelper.MarkLabel(), System.Xml.Xsl.IlGen.XmlILVisitor.NestedVisit(), System.Xml.Xsl.IlGen.XmlILVisitor.NestedVisitEnsureStack(), System.Xml.Xsl.IlGen.IteratorDescriptor.SetIterator(), System.Xml.Xsl.IlGen.StorageDescriptor.Stack(), System.Reflection.Emit.OpCodes.Stloc, and System.Reflection.Emit.OpCodes.Switch.