diff --git a/reflect/Metadata/CliHeader.cs b/reflect/Metadata/CliHeader.cs index 32812290..cb2574ba 100644 --- a/reflect/Metadata/CliHeader.cs +++ b/reflect/Metadata/CliHeader.cs @@ -22,10 +22,27 @@ */ using System.IO; -using IMAGE_DATA_DIRECTORY = IKVM.Reflection.Reader.IMAGE_DATA_DIRECTORY; namespace IKVM.Reflection.Metadata { + struct RvaSize + { + internal uint VirtualAddress; + internal uint Size; + + internal void Read(BinaryReader br) + { + VirtualAddress = br.ReadUInt32(); + Size = br.ReadUInt32(); + } + + internal void Write(IKVM.Reflection.Writer.MetadataWriter mw) + { + mw.Write(VirtualAddress); + mw.Write(Size); + } + } + sealed class CliHeader { internal const uint COMIMAGE_FLAGS_ILONLY = 0x00000001; @@ -37,15 +54,15 @@ namespace IKVM.Reflection.Metadata internal uint Cb = 0x48; internal ushort MajorRuntimeVersion; internal ushort MinorRuntimeVersion; - internal IMAGE_DATA_DIRECTORY MetaData; + internal RvaSize MetaData; internal uint Flags; internal uint EntryPointToken; - internal IMAGE_DATA_DIRECTORY Resources; - internal IMAGE_DATA_DIRECTORY StrongNameSignature; - internal IMAGE_DATA_DIRECTORY CodeManagerTable; - internal IMAGE_DATA_DIRECTORY VTableFixups; - internal IMAGE_DATA_DIRECTORY ExportAddressTableJumps; - internal IMAGE_DATA_DIRECTORY ManagedNativeHeader; + internal RvaSize Resources; + internal RvaSize StrongNameSignature; + internal RvaSize CodeManagerTable; + internal RvaSize VTableFixups; + internal RvaSize ExportAddressTableJumps; + internal RvaSize ManagedNativeHeader; internal void Read(BinaryReader br) { diff --git a/reflect/Reader/PEReader.cs b/reflect/Reader/PEReader.cs index 50928c88..24152ce3 100644 --- a/reflect/Reader/PEReader.cs +++ b/reflect/Reader/PEReader.cs @@ -202,12 +202,6 @@ namespace IKVM.Reflection.Reader VirtualAddress = br.ReadUInt32(); Size = br.ReadUInt32(); } - - internal void Write(IKVM.Reflection.Writer.MetadataWriter mw) - { - mw.Write(VirtualAddress); - mw.Write(Size); - } } class SectionHeader