System.Xml.Xsl.XmlILGenerator.CreateHelperFunctions C# (CSharp) Méthode

CreateHelperFunctions() private méthode

Create and generate various helper methods, which are called by the generated code.
private CreateHelperFunctions ( ) : void
Résultat void
        private void CreateHelperFunctions() {
            MethodInfo meth;
            Label lblClone;

            // public static XPathNavigator SyncToNavigator(XPathNavigator, XPathNavigator);
            meth = this.module.DefineMethod(
                            "SyncToNavigator",
                            typeof(XPathNavigator),
                            new Type[] {typeof(XPathNavigator), typeof(XPathNavigator)},
                            new string[] {null, null},
                            XmlILMethodAttributes.NonUser | XmlILMethodAttributes.Raw);

            this.helper.MethodBegin(meth, null, false);

            // if (navigatorThis != null && navigatorThis.MoveTo(navigatorThat))
            //     return navigatorThis;
            lblClone = this.helper.DefineLabel();
            this.helper.Emit(OpCodes.Ldarg_0);
            this.helper.Emit(OpCodes.Brfalse, lblClone);
            this.helper.Emit(OpCodes.Ldarg_0);
            this.helper.Emit(OpCodes.Ldarg_1);
            this.helper.Call(XmlILMethods.NavMoveTo);
            this.helper.Emit(OpCodes.Brfalse, lblClone);
            this.helper.Emit(OpCodes.Ldarg_0);
            this.helper.Emit(OpCodes.Ret);

            // LabelClone:
            // return navigatorThat.Clone();
            this.helper.MarkLabel(lblClone);
            this.helper.Emit(OpCodes.Ldarg_1);
            this.helper.Call(XmlILMethods.NavClone);

            this.helper.MethodEnd();
        }