diff --git a/Streams/LinearExecutable.Deserializer.cs b/Streams/LinearExecutable.Deserializer.cs
index 2c79f3aa..b1a18886 100644
--- a/Streams/LinearExecutable.Deserializer.cs
+++ b/Streams/LinearExecutable.Deserializer.cs
@@ -424,7 +424,7 @@ namespace SabreTools.Serialization.Streams
///
/// Stream to parse
/// Filled information block on success, null on error
- private static InformationBlock? ParseInformationBlock(Stream data)
+ public static InformationBlock? ParseInformationBlock(Stream data)
{
// TODO: Use marshalling here instead of building
var informationBlock = new InformationBlock();
@@ -491,7 +491,7 @@ namespace SabreTools.Serialization.Streams
///
/// Stream to parse
/// Filled object table entry on success, null on error
- private static ObjectTableEntry ParseObjectTableEntry(Stream data)
+ public static ObjectTableEntry ParseObjectTableEntry(Stream data)
{
// TODO: Use marshalling here instead of building
var entry = new ObjectTableEntry();
@@ -511,7 +511,7 @@ namespace SabreTools.Serialization.Streams
///
/// Stream to parse
/// Filled object page map entry on success, null on error
- private static ObjectPageMapEntry ParseObjectPageMapEntry(Stream data)
+ public static ObjectPageMapEntry ParseObjectPageMapEntry(Stream data)
{
// TODO: Use marshalling here instead of building
var entry = new ObjectPageMapEntry();
@@ -528,7 +528,7 @@ namespace SabreTools.Serialization.Streams
///
/// Stream to parse
/// Filled resource table entry on success, null on error
- private static ResourceTableEntry ParseResourceTableEntry(Stream data)
+ public static ResourceTableEntry ParseResourceTableEntry(Stream data)
{
// TODO: Use marshalling here instead of building
var entry = new ResourceTableEntry();
@@ -547,7 +547,7 @@ namespace SabreTools.Serialization.Streams
///
/// Stream to parse
/// Filled resident names table entry on success, null on error
- private static ResidentNamesTableEntry ParseResidentNamesTableEntry(Stream data)
+ public static ResidentNamesTableEntry ParseResidentNamesTableEntry(Stream data)
{
// TODO: Use marshalling here instead of building
var entry = new ResidentNamesTableEntry();
@@ -569,7 +569,7 @@ namespace SabreTools.Serialization.Streams
///
/// Stream to parse
/// Filled entry table bundle on success, null on error
- private static EntryTableBundle? ParseEntryTableBundle(Stream data)
+ public static EntryTableBundle? ParseEntryTableBundle(Stream data)
{
// TODO: Use marshalling here instead of building
var bundle = new EntryTableBundle();
@@ -632,7 +632,7 @@ namespace SabreTools.Serialization.Streams
///
/// Stream to parse
/// Filled module format directives table entry on success, null on error
- private static ModuleFormatDirectivesTableEntry ParseModuleFormatDirectivesTableEntry(Stream data)
+ public static ModuleFormatDirectivesTableEntry ParseModuleFormatDirectivesTableEntry(Stream data)
{
// TODO: Use marshalling here instead of building
var entry = new ModuleFormatDirectivesTableEntry();
@@ -649,7 +649,7 @@ namespace SabreTools.Serialization.Streams
///
/// Stream to parse
/// Filled verify record directive table entry on success, null on error
- private static VerifyRecordDirectiveTableEntry ParseVerifyRecordDirectiveTableEntry(Stream data)
+ public static VerifyRecordDirectiveTableEntry ParseVerifyRecordDirectiveTableEntry(Stream data)
{
// TODO: Use marshalling here instead of building
var entry = new VerifyRecordDirectiveTableEntry();
@@ -670,7 +670,7 @@ namespace SabreTools.Serialization.Streams
///
/// Stream to parse
/// Filled fix-up page table entry on success, null on error
- private static FixupPageTableEntry ParseFixupPageTableEntry(Stream data)
+ public static FixupPageTableEntry ParseFixupPageTableEntry(Stream data)
{
// TODO: Use marshalling here instead of building
var entry = new FixupPageTableEntry();
@@ -685,7 +685,7 @@ namespace SabreTools.Serialization.Streams
///
/// Stream to parse
/// Filled fix-up record table entry on success, null on error
- private static FixupRecordTableEntry? ParseFixupRecordTableEntry(Stream data)
+ public static FixupRecordTableEntry? ParseFixupRecordTableEntry(Stream data)
{
// TODO: Use marshalling here instead of building
var entry = new FixupRecordTableEntry();
@@ -904,7 +904,7 @@ namespace SabreTools.Serialization.Streams
///
/// Stream to parse
/// Filled import module name table entry on success, null on error
- private static ImportModuleNameTableEntry ParseImportModuleNameTableEntry(Stream data)
+ public static ImportModuleNameTableEntry ParseImportModuleNameTableEntry(Stream data)
{
// TODO: Use marshalling here instead of building
var entry = new ImportModuleNameTableEntry();
@@ -925,7 +925,7 @@ namespace SabreTools.Serialization.Streams
///
/// Stream to parse
/// Filled import module name table entry on success, null on error
- private static ImportModuleProcedureNameTableEntry ParseImportModuleProcedureNameTableEntry(Stream data)
+ public static ImportModuleProcedureNameTableEntry ParseImportModuleProcedureNameTableEntry(Stream data)
{
// TODO: Use marshalling here instead of building
var entry = new ImportModuleProcedureNameTableEntry();
@@ -946,7 +946,7 @@ namespace SabreTools.Serialization.Streams
///
/// Stream to parse
/// Filled per-page checksum table entry on success, null on error
- private static PerPageChecksumTableEntry ParsePerPageChecksumTableEntry(Stream data)
+ public static PerPageChecksumTableEntry ParsePerPageChecksumTableEntry(Stream data)
{
// TODO: Use marshalling here instead of building
var entry = new PerPageChecksumTableEntry();
@@ -961,7 +961,7 @@ namespace SabreTools.Serialization.Streams
///
/// Stream to parse
/// Filled non-resident names table entry on success, null on error
- private static NonResidentNamesTableEntry ParseNonResidentNameTableEntry(Stream data)
+ public static NonResidentNamesTableEntry ParseNonResidentNameTableEntry(Stream data)
{
// TODO: Use marshalling here instead of building
var entry = new NonResidentNamesTableEntry();
@@ -984,7 +984,7 @@ namespace SabreTools.Serialization.Streams
/// Stream to parse
/// Total size of the debug information
/// Filled debug information on success, null on error
- private static DebugInformation? ParseDebugInformation(Stream data, long size)
+ public static DebugInformation? ParseDebugInformation(Stream data, long size)
{
// TODO: Use marshalling here instead of building
var debugInformation = new DebugInformation();
diff --git a/Streams/NewExecutable.Deserializer.cs b/Streams/NewExecutable.Deserializer.cs
index 217d2972..56ed26f0 100644
--- a/Streams/NewExecutable.Deserializer.cs
+++ b/Streams/NewExecutable.Deserializer.cs
@@ -213,7 +213,7 @@ namespace SabreTools.Serialization.Streams
///
/// Stream to parse
/// Filled executable header on success, null on error
- private static ExecutableHeader? ParseExecutableHeader(Stream data)
+ public static ExecutableHeader? ParseExecutableHeader(Stream data)
{
// TODO: Use marshalling here instead of building
var header = new ExecutableHeader();
@@ -266,7 +266,7 @@ namespace SabreTools.Serialization.Streams
/// Stream to parse
/// Number of segment table entries to read
/// Filled segment table on success, null on error
- private static SegmentTableEntry[] ParseSegmentTable(Stream data, int count)
+ public static SegmentTableEntry[] ParseSegmentTable(Stream data, int count)
{
// TODO: Use marshalling here instead of building
var segmentTable = new SegmentTableEntry[count];
@@ -290,7 +290,7 @@ namespace SabreTools.Serialization.Streams
/// Stream to parse
/// Number of resource table entries to read
/// Filled resource table on success, null on error
- private static ResourceTable ParseResourceTable(Stream data, int count)
+ public static ResourceTable ParseResourceTable(Stream data, int count)
{
long initialOffset = data.Position;
@@ -355,7 +355,7 @@ namespace SabreTools.Serialization.Streams
/// Stream to parse
/// First address not part of the resident-name table
/// Filled resident-name table on success, null on error
- private static ResidentNameTableEntry[] ParseResidentNameTable(Stream data, int endOffset)
+ public static ResidentNameTableEntry[] ParseResidentNameTable(Stream data, int endOffset)
{
// TODO: Use marshalling here instead of building
var residentNameTable = new List();
@@ -378,7 +378,7 @@ namespace SabreTools.Serialization.Streams
/// Stream to parse
/// Number of module-reference table entries to read
/// Filled module-reference table on success, null on error
- private static ModuleReferenceTableEntry[] ParseModuleReferenceTable(Stream data, int count)
+ public static ModuleReferenceTableEntry[] ParseModuleReferenceTable(Stream data, int count)
{
// TODO: Use marshalling here instead of building
var moduleReferenceTable = new ModuleReferenceTableEntry[count];
@@ -399,7 +399,7 @@ namespace SabreTools.Serialization.Streams
/// Stream to parse
/// First address not part of the imported-name table
/// Filled imported-name table on success, null on error
- private static Dictionary ParseImportedNameTable(Stream data, int endOffset)
+ public static Dictionary ParseImportedNameTable(Stream data, int endOffset)
{
// TODO: Use marshalling here instead of building
var importedNameTable = new Dictionary();
@@ -422,7 +422,7 @@ namespace SabreTools.Serialization.Streams
/// Stream to parse
/// First address not part of the entry table
/// Filled entry table on success, null on error
- private static EntryTableBundle[] ParseEntryTable(Stream data, int endOffset)
+ public static EntryTableBundle[] ParseEntryTable(Stream data, int endOffset)
{
// TODO: Use marshalling here instead of building
var entryTable = new List();
@@ -461,7 +461,7 @@ namespace SabreTools.Serialization.Streams
/// Stream to parse
/// First address not part of the nonresident-name table
/// Filled nonresident-name table on success, null on error
- private static NonResidentNameTableEntry[] ParseNonResidentNameTable(Stream data, int endOffset)
+ public static NonResidentNameTableEntry[] ParseNonResidentNameTable(Stream data, int endOffset)
{
// TODO: Use marshalling here instead of building
var residentNameTable = new List();
diff --git a/Streams/PortableExecutable.Deserializer.cs b/Streams/PortableExecutable.Deserializer.cs
index 98ac475b..67657256 100644
--- a/Streams/PortableExecutable.Deserializer.cs
+++ b/Streams/PortableExecutable.Deserializer.cs
@@ -292,7 +292,7 @@ namespace SabreTools.Serialization.Streams
///
/// Stream to parse
/// Filled executable header on success, null on error
- private static COFFFileHeader ParseCOFFFileHeader(Stream data)
+ public static COFFFileHeader ParseCOFFFileHeader(Stream data)
{
// TODO: Use marshalling here instead of building
var fileHeader = new COFFFileHeader();
@@ -314,7 +314,7 @@ namespace SabreTools.Serialization.Streams
/// Stream to parse
/// Size of the optional header
/// Filled optional header on success, null on error
- private static OptionalHeader ParseOptionalHeader(Stream data, int optionalSize)
+ public static OptionalHeader ParseOptionalHeader(Stream data, int optionalSize)
{
long initialOffset = data.Position;
@@ -484,7 +484,7 @@ namespace SabreTools.Serialization.Streams
/// Stream to parse
/// Number of section table entries to read
/// Filled section table on success, null on error
- private static SectionHeader[] ParseSectionTable(Stream data, int count)
+ public static SectionHeader[] ParseSectionTable(Stream data, int count)
{
// TODO: Use marshalling here instead of building
var sectionTable = new SectionHeader[count];
@@ -524,7 +524,7 @@ namespace SabreTools.Serialization.Streams
/// Stream to parse
/// Number of COFF symbol table entries to read
/// Filled COFF symbol table on success, null on error
- private static COFFSymbolTableEntry[] ParseCOFFSymbolTable(Stream data, uint count)
+ public static COFFSymbolTableEntry[] ParseCOFFSymbolTable(Stream data, uint count)
{
// TODO: Use marshalling here instead of building
var coffSymbolTable = new COFFSymbolTableEntry[count];
@@ -681,7 +681,7 @@ namespace SabreTools.Serialization.Streams
///
/// Stream to parse
/// Filled COFF string table on success, null on error
- private static COFFStringTable ParseCOFFStringTable(Stream data)
+ public static COFFStringTable ParseCOFFStringTable(Stream data)
{
// TODO: Use marshalling here instead of building
var coffStringTable = new COFFStringTable();
@@ -712,7 +712,7 @@ namespace SabreTools.Serialization.Streams
/// Stream to parse
/// First address not part of the attribute certificate table
/// Filled attribute certificate on success, null on error
- private static AttributeCertificateTableEntry[] ParseAttributeCertificateTable(Stream data, int endOffset)
+ public static AttributeCertificateTableEntry[] ParseAttributeCertificateTable(Stream data, int endOffset)
{
var attributeCertificateTable = new List();
@@ -743,7 +743,7 @@ namespace SabreTools.Serialization.Streams
///
/// Stream to parse
/// Filled delay-load directory table on success, null on error
- private static DelayLoadDirectoryTable ParseDelayLoadDirectoryTable(Stream data)
+ public static DelayLoadDirectoryTable ParseDelayLoadDirectoryTable(Stream data)
{
// TODO: Use marshalling here instead of building
var delayLoadDirectoryTable = new DelayLoadDirectoryTable();
@@ -767,7 +767,7 @@ namespace SabreTools.Serialization.Streams
/// First address not part of the base relocation table
/// Section table to use for virtual address translation
/// Filled base relocation table on success, null on error
- private static BaseRelocationBlock[] ParseBaseRelocationTable(Stream data, int endOffset, SectionHeader?[] sections)
+ public static BaseRelocationBlock[] ParseBaseRelocationTable(Stream data, int endOffset, SectionHeader?[] sections)
{
// TODO: Use marshalling here instead of building
var baseRelocationTable = new List();
@@ -808,7 +808,7 @@ namespace SabreTools.Serialization.Streams
/// First address not part of the debug table
/// Section table to use for virtual address translation
/// Filled debug table on success, null on error
- private static DebugTable ParseDebugTable(Stream data, int endOffset, SectionHeader?[] sections)
+ public static DebugTable ParseDebugTable(Stream data, int endOffset, SectionHeader?[] sections)
{
// TODO: Use marshalling here instead of building
var debugTable = new DebugTable();
@@ -845,7 +845,7 @@ namespace SabreTools.Serialization.Streams
/// Stream to parse
/// Section table to use for virtual address translation
/// Filled export table on success, null on error
- private static ExportTable ParseExportTable(Stream data, SectionHeader?[] sections)
+ public static ExportTable ParseExportTable(Stream data, SectionHeader?[] sections)
{
// TODO: Use marshalling here instead of building
var exportTable = new ExportTable();
@@ -962,7 +962,7 @@ namespace SabreTools.Serialization.Streams
/// Optional header magic number indicating PE32 or PE32+
/// Section table to use for virtual address translation
/// Filled import table on success, null on error
- private static ImportTable ParseImportTable(Stream data, OptionalHeaderMagicNumber magic, SectionHeader?[] sections)
+ public static ImportTable ParseImportTable(Stream data, OptionalHeaderMagicNumber magic, SectionHeader?[] sections)
{
// TODO: Use marshalling here instead of building
var importTable = new ImportTable();
@@ -1187,7 +1187,7 @@ namespace SabreTools.Serialization.Streams
/// Section table to use for virtual address translation
/// Indicates if this is the top level or not
/// Filled resource directory table on success, null on error
- private static ResourceDirectoryTable? ParseResourceDirectoryTable(Stream data, long initialOffset, SectionHeader?[] sections, bool topLevel = false)
+ public static ResourceDirectoryTable? ParseResourceDirectoryTable(Stream data, long initialOffset, SectionHeader?[] sections, bool topLevel = false)
{
// TODO: Use marshalling here instead of building
var resourceDirectoryTable = new ResourceDirectoryTable();