Ildasm.Disassembler.WriteVTableFixups C# (CSharp) Méthode

WriteVTableFixups() private méthode

private WriteVTableFixups ( Ildasm.LineWriter lw ) : void
lw Ildasm.LineWriter
Résultat void
        void WriteVTableFixups(LineWriter lw)
        {
            int ptrsize = GetPointerSize();
            VTableFixups[] fixups = GetVTableFixups();
            if (fixups.Length != 0)
            {
                for (int i = 0; i < fixups.Length; i++)
                {
                    lw.Write(".vtfixup [{0}] {1}{2} at D_{3:X8} //",
                        fixups[i].Count,
                        (fixups[i].Type & COR_VTABLE_32BIT) != 0 ? "int32" : "int64",
                        (fixups[i].Type & COR_VTABLE_FROM_UNMANAGED_RETAIN_APPDOMAIN) != 0
                            ? " retainappdomain"
                            : (fixups[i].Type & COR_VTABLE_FROM_UNMANAGED) != 0
                                ? " fromunmanaged"
                                : "",
                        fixups[i].RVA);
                    foreach (var method in GetVTableMethods(fixups[i]))
                    {
                        if (ptrsize == 4)
                        {
                            lw.Write(" {0:X8}", method.MetadataToken);
                        }
                        else
                        {
                            lw.Write(" {0:X16}", method.MetadataToken);
                        }
                    }
                    lw.WriteLine();
                }
            }
        }