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

VisitDeref() protected method

Generate code for for QilNodeType.Deref.
protected VisitDeref ( QilBinary ndDeref ) : QilNode
ndDeref System.Xml.Xsl.Qil.QilBinary
return QilNode
        protected override QilNode VisitDeref(QilBinary ndDeref) {
            // IdIterator iterId;
            LocalBuilder locIter = this.helper.DeclareLocal("$$$iterId", typeof(IdIterator));

            // iterId.Create(navCtxt, value);
            this.helper.Emit(OpCodes.Ldloca, locIter);
            NestedVisitEnsureStack(ndDeref.Left);
            NestedVisitEnsureStack(ndDeref.Right);
            this.helper.Call(XmlILMethods.IdCreate);

            GenerateSimpleIterator(typeof(XPathNavigator), locIter, XmlILMethods.IdNext);

            return ndDeref;
        }
XmlILVisitor