System.Xml.Xsl.IlGen.XmlILVisitor.CreateSimpleIterator C# (CSharp) Method

CreateSimpleIterator() private method

Generate boiler-plate code to create a simple Xml iterator.
Iterator iter; iter.Create(navCtxt); LabelNext: if (!iter.MoveNext()) goto LabelNextCtxt;
private CreateSimpleIterator ( QilNode ndCtxt, string iterName, Type iterType, MethodInfo methCreate, MethodInfo methNext ) : void
ndCtxt QilNode
iterName string
iterType System.Type
methCreate System.Reflection.MethodInfo
methNext System.Reflection.MethodInfo
return void
        private void CreateSimpleIterator(QilNode ndCtxt, string iterName, Type iterType, MethodInfo methCreate, MethodInfo methNext) {
            // Iterator iter;
            LocalBuilder locIter = this.helper.DeclareLocal(iterName, iterType);

            // iter.Create(navCtxt);
            this.helper.Emit(OpCodes.Ldloca, locIter);
            NestedVisitEnsureStack(ndCtxt);
            this.helper.Call(methCreate);

            GenerateSimpleIterator(typeof(XPathNavigator), locIter, methNext);
        }
XmlILVisitor