PERWAPI.MethodDef.Write C# (CSharp) Method

Write() private method

private Write ( CILWriter output ) : void
output CILWriter
return void
        internal override void Write(CILWriter output)
        {
            output.Write("  .method ");
            WriteFlags(output, methFlags);
            sig.Write(output);
            output.Write(" " + name + "(");
            if (parList != null) {
                for (int i=0; i < parList.Length; i++) {
                    parList[i].Write(output);
                    if (i < parList.Length-1) {
                        output.Write(", ");
                    }
                }
            }
            output.Write(") ");
            uint codeType = implFlags & (uint)0x11;
            if (codeType == 0) {
                output.Write("cil ");
            } else if (codeType == 1) {
                output.Write("native ");
            } else if (codeType == 3) {
                output.Write("runtime ");
            }
            if ((implFlags & (uint)ImplAttr.Unmanaged) == 0) {
                output.Write("managed ");
            } else {
                output.Write("unmanaged ");
            }
            if ((implFlags & (uint)ImplAttr.ForwardRef) != 0) {
                output.Write("forwardref ");
            }
            if ((implFlags & (uint)ImplAttr.InternalCall) != 0) {
                output.Write("internalcall ");
            }
            if ((implFlags & (uint)ImplAttr.Synchronized) != 0) {
                output.Write("synchronized ");
            }
            if ((implFlags & (uint)ImplAttr.NoInLining) != 0) {
                output.Write("noinlining ");
            }
            output.WriteLine(" {");
            if ((locals != null) && (locals.Length > 0)) {
                output.Write("      .locals (");
                for (int i=0; i < locals.Length; i++) {
                    if (i > 0) {
                        output.Write("              ");
                    }
                    locals[i].Write(output);
                    if (i < locals.Length-1) {
                        output.WriteLine(",");
                    }
                }
                output.WriteLine(" )");
            }
            if (entryPoint) {
                output.WriteLine("      .entrypoint");
            }
            if (code != null) code.Write(output);
            output.WriteLine("  }");
        }

Same methods

MethodDef::Write ( PEWriter output ) : void