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

◆ GenerateContainerIterator()

void System.Xml.Xsl.IlGen.XmlILVisitor.GenerateContainerIterator ( QilNode nd,
LocalBuilder locIter,
Label lblOnEndNested,
MethodInfo methNext,
MethodInfo methCurrent,
Type itemStorageType )
inlineprivate

Definition at line 2528 of file XmlILVisitor.cs.

2529 {
2531 _iterCurr.EnsureNoStackNoCache(nd.XmlType.IsNode ? "$$$navInput" : "$$$itemInput");
2540 if (nd.XmlType.IsSingleton)
2541 {
2544 _iterCurr.Storage = StorageDescriptor.Current(locIter, methCurrent, itemStorageType);
2545 }
2546 else
2547 {
2549 {
2550 _iterCurr.GetLabelNext(),
2551 _iterNested.GetLabelNext()
2552 });
2554 }
2555 }
static readonly OpCode Ldloca
Definition OpCodes.cs:427
static readonly OpCode Beq
Definition OpCodes.cs:121
static readonly OpCode Br
Definition OpCodes.cs:115
static readonly OpCode Switch
Definition OpCodes.cs:141
static readonly OpCode Ldnull
Definition OpCodes.cs:45
void EmitUnconditionalBranch(OpCode opcode, Label lblTarget)
void SetIterator(Label lblNext, StorageDescriptor storage)

References System.Xml.Xsl.IlGen.XmlILVisitor._helper, System.Xml.Xsl.IlGen.XmlILVisitor._iterCurr, System.Xml.Xsl.IlGen.XmlILVisitor._iterNested, System.Reflection.Emit.OpCodes.Beq, System.Reflection.Emit.OpCodes.Br, System.Xml.Xsl.IlGen.GenerateHelper.Call(), System.Xml.Xsl.IlGen.StorageDescriptor.Current(), System.Xml.Xsl.IlGen.GenerateHelper.DefineLabel(), System.Xml.Dictionary, System.Xml.Xsl.IlGen.GenerateHelper.Emit(), System.Xml.Xsl.IlGen.GenerateHelper.EmitUnconditionalBranch(), System.Xml.Xsl.IlGen.IteratorDescriptor.EnsureNoStackNoCache(), System.Xml.Xsl.IlGen.IteratorDescriptor.GetLabelNext(), System.Reflection.Emit.OpCodes.Ldloca, System.Reflection.Emit.OpCodes.Ldnull, System.Xml.Xsl.IlGen.GenerateHelper.LoadInteger(), System.Xml.Xsl.IlGen.GenerateHelper.MarkLabel(), System.Xml.Xsl.IlGen.IteratorDescriptor.PushValue(), System.Xml.Xsl.IlGen.IteratorDescriptor.SetIterator(), and System.Reflection.Emit.OpCodes.Switch.

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