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

◆ StartForBinding()

void System.Xml.Xsl.IlGen.XmlILVisitor.StartForBinding ( QilIterator ndFor,
OptimizerPatterns patt )
inlineprivate

Definition at line 1270 of file XmlILVisitor.cs.

1271 {
1274 {
1276 }
1277 else
1278 {
1279 StartNestedIterator(ndFor.Binding);
1280 }
1281 if (patt.MatchesPattern(OptimizerPatternName.IsPositional))
1282 {
1283 localBuilder = _helper.DeclareLocal("$$$pos", typeof(int));
1286 }
1287 Visit(ndFor.Binding);
1288 if (_qil.IsDebug && ndFor.DebugName != null)
1289 {
1291 _iterCurr.EnsureLocalNoCache("$$$for");
1292 }
1293 else
1294 {
1296 }
1297 if (patt.MatchesPattern(OptimizerPatternName.IsPositional))
1298 {
1303 if (patt.MatchesPattern(OptimizerPatternName.MaxPosition))
1304 {
1306 _helper.LoadInteger((int)patt.GetArgument(OptimizerPatternArgument.ElementQName));
1308 }
1310 }
1311 EndNestedIterator(ndFor.Binding);
1313 }
static readonly OpCode Stloc
Definition OpCodes.cs:429
static readonly OpCode Bgt
Definition OpCodes.cs:125
static readonly OpCode Add
Definition OpCodes.cs:179
static readonly OpCode Ldc_I4_1
Definition OpCodes.cs:51
static readonly OpCode Ldc_I4_0
Definition OpCodes.cs:49
static readonly OpCode Ldloc
Definition OpCodes.cs:425
LocalBuilder DeclareLocal(string name, Type type)
void SetIterator(Label lblNext, StorageDescriptor storage)
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.XmlILVisitor._iterNested, System.Xml.Xsl.IlGen.XmlILVisitor._qil, System.Reflection.Emit.OpCodes.Add, System.Reflection.Emit.OpCodes.Bgt, System.Xml.Xsl.IlGen.GenerateHelper.DebugStartScope(), System.Xml.Xsl.IlGen.GenerateHelper.DeclareLocal(), System.Xml.Dictionary, System.Xml.Xsl.IlGen.GenerateHelper.Emit(), System.Xml.Xsl.IlGen.XmlILVisitor.EndNestedIterator(), System.Xml.Xsl.IlGen.IteratorDescriptor.EnsureLocalNoCache(), System.Xml.Xsl.IlGen.IteratorDescriptor.EnsureNoStackNoCache(), System.Xml.Xsl.IlGen.IteratorDescriptor.GetLabelNext(), System.Xml.Xsl.IlGen.IteratorDescriptor.HasLabelNext, System.Xml.Xsl.Qil.QilExpression.IsDebug, System.Reflection.Emit.OpCodes.Ldc_I4_0, System.Reflection.Emit.OpCodes.Ldc_I4_1, System.Reflection.Emit.OpCodes.Ldloc, System.Xml.Xsl.IlGen.GenerateHelper.LoadInteger(), System.Xml.Xsl.IlGen.IteratorDescriptor.ParentIterator, System.Xml.Xsl.IlGen.IteratorDescriptor.SetIterator(), System.Xml.Xsl.IlGen.XmlILVisitor.StartNestedIterator(), System.Reflection.Emit.OpCodes.Stloc, and System.Xml.Xsl.IlGen.XmlILVisitor.Visit().

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