38 public ManagedPEBuilder(
PEHeaderBuilder header,
MetadataRootBuilder metadataRootBuilder,
BlobBuilder ilStream,
BlobBuilder?
mappedFieldData =
null,
BlobBuilder?
managedResources =
null,
ResourceSectionBuilder?
nativeResources =
null,
DebugDirectoryBuilder?
debugDirectoryBuilder =
null,
int strongNameSignatureSize = 128,
MethodDefinitionHandle entryPoint =
default(
MethodDefinitionHandle),
CorFlags flags =
CorFlags.ILOnly, Func<
IEnumerable<Blob>,
BlobContentId>?
deterministicIdProvider =
null)
71 if (
base.IsDeterministic)
130 managedTextSection.Serialize(
blobBuilder,
location.RelativeVirtualAddress, (!
_entryPointOpt.
IsNil) ?
MetadataTokens.
GetToken(
_entryPointOpt) : 0,
_corFlags,
base.Header.ImageBase,
blobBuilder2,
_ilStream,
_mappedFieldDataOpt,
_managedResourcesOpt,
blobBuilder3,
out _lazyStrongNameSignature);
132 _peDirectoriesBuilder.DebugTable =
debugTable;
133 _peDirectoriesBuilder.ImportAddressTable =
managedTextSection.GetImportAddressTableDirectoryEntry(
location.RelativeVirtualAddress);
161 ushort
value = (ushort)((
num2 << 12) | num);
void Add(TKey key, TValue value)
void Serialize(BlobBuilder builder, SectionLocation sectionLocation, int sectionOffset)
override ImmutableArray< Section > CreateSections()
readonly CorFlags _corFlags
readonly MetadataRootBuilder _metadataRootBuilder
readonly PEDirectoriesBuilder _peDirectoriesBuilder
BlobBuilder SerializeTextSection(SectionLocation location)
const int MappedFieldDataAlignment
ManagedPEBuilder(PEHeaderBuilder header, MetadataRootBuilder metadataRootBuilder, BlobBuilder ilStream, BlobBuilder? mappedFieldData=null, BlobBuilder? managedResources=null, ResourceSectionBuilder? nativeResources=null, DebugDirectoryBuilder? debugDirectoryBuilder=null, int strongNameSignatureSize=128, MethodDefinitionHandle entryPoint=default(MethodDefinitionHandle), CorFlags flags=CorFlags.ILOnly, Func< IEnumerable< Blob >, BlobContentId >? deterministicIdProvider=null)
readonly BlobBuilder _mappedFieldDataOpt
readonly MethodDefinitionHandle _entryPointOpt
override BlobBuilder SerializeSection(string name, SectionLocation location)
readonly BlobBuilder _managedResourcesOpt
override PEDirectoriesBuilder GetDirectories()
DebugDirectoryBuilder CreateDefaultDebugDirectoryBuilder()
readonly int _strongNameSignatureSize
readonly ResourceSectionBuilder _nativeResourcesOpt
BlobBuilder SerializeResourceSection(SectionLocation location)
readonly DebugDirectoryBuilder _debugDirectoryBuilderOpt
int _lazyEntryPointAddress
static void WriteRelocationSection(BlobBuilder builder, Machine machine, int entryPointAddress)
void Sign(BlobBuilder peImage, Func< IEnumerable< Blob >, byte[]> signatureProvider)
Blob _lazyStrongNameSignature
readonly BlobBuilder _ilStream
const int ManagedResourcesDataAlignment
BlobBuilder SerializeRelocationSection(SectionLocation location)
void Serialize(BlobBuilder builder, SectionLocation location)
static void ArgumentNull(string parameterName)
static void ArgumentOutOfRange(string parameterName)
static string Format(string resourceFormat, object p1)
static string UnknownSectionName