Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ SerializeMetadataHeader()

static void System.Reflection.Metadata.Ecma335.MetadataBuilder.SerializeMetadataHeader ( BlobBuilder builder,
string metadataVersion,
MetadataSizes sizes )
inlinestaticpackage

Definition at line 593 of file MetadataBuilder.cs.

594 {
595 int count = builder.Count;
596 builder.WriteUInt32(1112167234u);
597 builder.WriteUInt16(1);
598 builder.WriteUInt16(1);
599 builder.WriteUInt32(0u);
600 builder.WriteInt32(sizes.MetadataVersionPaddedLength);
601 int count2 = builder.Count;
602 builder.WriteUTF8(metadataVersion);
603 builder.WriteByte(0);
604 int count3 = builder.Count;
605 for (int i = 0; i < sizes.MetadataVersionPaddedLength - (count3 - count2); i++)
606 {
607 builder.WriteByte(0);
608 }
609 builder.WriteUInt16(0);
610 builder.WriteUInt16((ushort)(5 + (sizes.IsEncDelta ? 1 : 0) + (sizes.IsStandaloneDebugMetadata ? 1 : 0)));
611 int offsetFromStartOfMetadata = sizes.MetadataHeaderSize;
612 if (sizes.IsStandaloneDebugMetadata)
613 {
614 SerializeStreamHeader(ref offsetFromStartOfMetadata, sizes.StandalonePdbStreamSize, "#Pdb", builder);
615 }
616 SerializeStreamHeader(ref offsetFromStartOfMetadata, sizes.MetadataTableStreamSize, sizes.IsCompressed ? "#~" : "#-", builder);
617 SerializeStreamHeader(ref offsetFromStartOfMetadata, sizes.GetAlignedHeapSize(HeapIndex.String), "#Strings", builder);
618 SerializeStreamHeader(ref offsetFromStartOfMetadata, sizes.GetAlignedHeapSize(HeapIndex.UserString), "#US", builder);
619 SerializeStreamHeader(ref offsetFromStartOfMetadata, sizes.GetAlignedHeapSize(HeapIndex.Guid), "#GUID", builder);
620 SerializeStreamHeader(ref offsetFromStartOfMetadata, sizes.GetAlignedHeapSize(HeapIndex.Blob), "#Blob", builder);
621 if (sizes.IsEncDelta)
622 {
624 }
625 int count4 = builder.Count;
626 }
static void SerializeStreamHeader(ref int offsetFromStartOfMetadata, int alignedStreamSize, string streamName, BlobBuilder builder)

References System.count, System.Collections.Generic.Dictionary< TKey, TValue >.Count, and System.Reflection.Metadata.Ecma335.MetadataBuilder.SerializeStreamHeader().

Referenced by System.Reflection.Metadata.Ecma335.PortablePdbBuilder.Serialize(), and System.Reflection.Metadata.Ecma335.MetadataRootBuilder.Serialize().