// dnlib: See LICENSE.txt for more info
namespace dnlib.DotNet.Writer {
///
/// All / events
///
public enum ModuleWriterEvent {
///
/// Writing has just begun
///
Begin,
///
/// All PE sections have been created
///
PESectionsCreated,
///
/// All chunks have been created
///
ChunksCreated,
///
/// All chunks have been added to their sections
///
ChunksAddedToSections,
///
/// Original event: .
/// Creating the metadata tables has just begun
///
MDBeginCreateTables,
///
/// Original event: .
/// Before allocating all TypeDef RIDs
///
MDAllocateTypeDefRids,
///
/// Original event: .
/// Before allocating all MemberDef RIDs
///
MDAllocateMemberDefRids,
///
/// Original event: .
/// The rids of types, fields, methods, events, properties and parameters are
/// now known.
///
MDMemberDefRidsAllocated,
///
/// Original event: .
/// The tables and rows of all types, fields, methods, events, properties and parameters
/// have been initialized. Method body RVAs are still not known, and no method has been
/// written yet.
///
MDMemberDefsInitialized,
///
/// Original event: .
/// Before sorting most tables
///
MDBeforeSortTables,
///
/// Original event: .
/// Most of the tables that should be sorted have been sorted. The CustomAttribute
/// table is still unsorted since it hasn't been created yet.
///
MDMostTablesSorted,
///
/// Original event: .
/// Custom attributes of all types, fields, methods, events, properties and parameters
/// have now been written.
///
MDMemberDefCustomAttributesWritten,
///
/// Original event: .
/// All resources are about to be added to the .NET resources table
///
MDBeginAddResources,
///
/// Original event: .
/// All resources have been added to the .NET resources table
///
MDEndAddResources,
///
/// Original event: .
/// All method bodies are about to be written
///
MDBeginWriteMethodBodies,
///
/// Original event: .
/// All method bodies have been written. Their RVAs are still not known.
///
MDEndWriteMethodBodies,
///
/// Original event: .
/// All tables are now sorted, including the CustomAttribute table.
///
MDOnAllTablesSorted,
///
/// Original event: .
/// All tables have been created and all rows populated. The only columns that haven't
/// been initialized yet are the ones that are RVAs.
///
MDEndCreateTables,
///
/// This event occurs before the PDB file is written. This event occurs even if no PDB file
/// will be written.
///
BeginWritePdb,
///
/// The PDB file has been written. This event occurs even if no PDB file has been written.
///
EndWritePdb,
///
/// This event occurs just before all RVAs and file offsets of the chunks are calculated.
///
BeginCalculateRvasAndFileOffsets,
///
/// File offsets and RVAs of all chunks are now known. This includes method body and
/// field RVAs. Nothing has been written to the destination stream yet.
///
EndCalculateRvasAndFileOffsets,
///
/// This event occurs before all chunks are written to the destination stream, and after
/// all RVAs and file offsets are known.
///
BeginWriteChunks,
///
/// All chunks have been written to the destination stream.
///
EndWriteChunks,
///
/// This event occurs before the strong name signature is calculated. This event
/// occurs even if the assembly isn't strong name signed.
///
BeginStrongNameSign,
///
/// This event occurs after the strong name signature has been calculated. This event
/// occurs even if the assembly isn't strong name signed.
///
EndStrongNameSign,
///
/// This event occurs before the checksum in the PE header is updated. This event
/// occurs even if the checksum isn't updated.
///
BeginWritePEChecksum,
///
/// This event occurs after the checksum in the PE header has been updated. This event
/// occurs even if the checksum isn't updated.
///
EndWritePEChecksum,
///
/// Writing has ended
///
End,
}
}