3 types derived from BlobBuilder
Microsoft.CodeAnalysis (1)
System.Reflection.Metadata (2)
174 instantiations of BlobBuilder
ilasm (1)
ILAssembler (97)
ILCompiler.Compiler (16)
ILCompiler.ReadyToRun (12)
Microsoft.CodeAnalysis (20)
Microsoft.CodeAnalysis.CSharp (2)
Microsoft.Diagnostics.DataContractReader.Contracts (1)
Microsoft.DotNet.StrongName (1)
System.Reflection.Emit (16)
System.Reflection.Metadata (8)
601 references to BlobBuilder
ilasm (1)
ILAssembler (186)
EntityRegistry.cs (74)
21private readonly Dictionary<BlobBuilder, TypeSpecificationEntity> _seenTypeSpecs = new(new BlobBuilderContentEqualityComparer());
22private readonly Dictionary<BlobBuilder, StandaloneSignatureEntity> _seenStandaloneSignatures = new(new BlobBuilderContentEqualityComparer());
28private readonly Dictionary<(EntityBase, BlobBuilder), MethodSpecificationEntity> _seenMethodSpecs = new(new MethodSpecEqualityComparer());
30private sealed class BlobBuilderContentEqualityComparer : IEqualityComparer<BlobBuilder>
32public bool Equals(BlobBuilder? x, BlobBuilder? y)
47public int GetHashCode(BlobBuilder obj)
58private sealed class MethodSpecEqualityComparer : IEqualityComparer<(EntityBase, BlobBuilder)>
60public bool Equals((EntityBase, BlobBuilder) x, (EntityBase, BlobBuilder) y)
65public int GetHashCode((EntityBase, BlobBuilder) obj)
95public Blob WriteContentTo(MetadataBuilder builder, BlobBuilder ilStream, IReadOnlyDictionary<string, int> mappedFieldDataNames, bool deterministic)
904public TypeSpecificationEntity GetOrCreateTypeSpec(BlobBuilder signature)
1020public static FieldDefinitionEntity? CreateUnrecordedFieldDefinition(FieldAttributes attributes, TypeDefinitionEntity containingType, string name, BlobBuilder signature)
1045public static ParameterEntity CreateParameter(ParameterAttributes attributes, string? name, BlobBuilder marshallingDescriptor, int sequence)
1050public MemberReferenceEntity CreateLazilyRecordedMemberReference(TypeEntity containingType, string name, BlobBuilder signature)
1069public BlobOrHandle(BlobBuilder? blob)
1083private BlobBuilder? Blob { get; }
1087public static implicit operator BlobOrHandle(BlobBuilder blob) => new(blob);
1088public static implicit operator BlobBuilder(BlobOrHandle blobOrHandle)
1099public void WriteBlobTo(BlobBuilder builder)
1101((BlobBuilder)this).WriteContentTo(builder);
1107var builder = new BlobBuilder();
1135BlobBuilder paramType = signature.ParameterTypes[i];
1166var builder = new BlobBuilder();
1182var builder = new BlobBuilder();
1314private static BlobBuilder RewriteSignatureBlob(BlobBuilder original, SignatureRewriter rewriter)
1343private BlobBuilder RewriteTypeSpecBlob(BlobBuilder original, SignatureRewriter rewriter)
1360BlobBuilder result = decoded;
1374private BlobBuilder RewriteMethodSpecBlob(BlobBuilder original, SignatureRewriter rewriter)
1391var newBlob = new BlobBuilder();
1409private static BlobBuilder RewriteMethodSignatureBlob(byte[] bytes, SignatureRewriter rewriter)
1419var newBlob = new BlobBuilder();
1440private static BlobBuilder RewriteFieldSignatureBlob(byte[] bytes, SignatureRewriter rewriter)
1450var newBlob = new BlobBuilder();
1458private static BlobBuilder RewriteLocalSignatureBlob(byte[] bytes, SignatureRewriter rewriter)
1468var newBlob = new BlobBuilder();
1480private static BlobBuilder RewritePropertySignatureBlob(byte[] bytes, SignatureRewriter rewriter)
1490var newBlob = new BlobBuilder();
1590BlobBuilder methodDefSig = new();
1645public MethodSpecificationEntity GetOrCreateMethodSpecification(EntityBase method, BlobBuilder signature)
1651((EntityBase method, BlobBuilder signature) value) => new(method, signature),
1655public StandaloneSignatureEntity GetOrCreateStandaloneSignature(BlobBuilder signature)
1662BlobBuilder signature = new();
1667public DeclarativeSecurityAttributeEntity CreateDeclarativeSecurityAttribute(DeclarativeSecurityAction action, BlobBuilder permissionSet)
1674public CustomAttributeEntity CreateCustomAttribute(EntityBase constructor, BlobBuilder value)
1691public FileEntity GetOrCreateFile(string name, bool hasMetadata, BlobBuilder? hash)
1718public AssemblyReferenceEntity GetOrCreateAssemblyReference(string name, Version version, string? culture, BlobBuilder? publicKeyOrToken, AssemblyFlags flags, ProcessorArchitecture architecture)
1927public sealed class TypeSpecificationEntity(BlobBuilder signature) : TypeEntity
1929public BlobBuilder Signature { get; } = signature;
1973public BlobBuilder? MethodSignature { get; set; }
2024public sealed class ParameterEntity(ParameterAttributes attributes, string? name, BlobBuilder marshallingDescriptor, int sequence) : EntityBase
2028public BlobBuilder MarshallingDescriptor { get; set; } = marshallingDescriptor;
2035public sealed class MemberReferenceEntity(EntityBase parent, string name, BlobBuilder signature) : EntityBase
2040public BlobBuilder Signature { get; } = signature;
2068public sealed class MethodSpecificationEntity(EntityBase parent, BlobBuilder signature) : EntityBase
2071public BlobBuilder Signature { get; } = signature;
2074public sealed class StandaloneSignatureEntity(BlobBuilder signature) : EntityBase
2076public BlobBuilder Signature { get; } = signature;
2079public sealed class DeclarativeSecurityAttributeEntity(DeclarativeSecurityAction action, BlobBuilder permissionSet) : EntityBase
2083public BlobBuilder PermissionSet { get; } = permissionSet;
2086public sealed class CustomAttributeEntity(EntityBase constructor, BlobBuilder value) : EntityBase
2090public BlobBuilder Value { get; } = value;
2100public sealed class FieldDefinitionEntity(FieldAttributes attributes, TypeDefinitionEntity type, string name, BlobBuilder signature) : EntityBase
2105public BlobBuilder Signature { get; } = signature;
2107public BlobBuilder? MarshallingDescriptor { get; set; }
2133public sealed class PropertyEntity(PropertyAttributes attributes, BlobBuilder type, string name) : EntityBase
2136public BlobBuilder Type { get; } = type;
2148public BlobBuilder? Hash { get; set; }
2161public BlobBuilder? PublicKeyOrToken { get; set; }
2173public BlobBuilder? Hash { get; set; }
VTableExportPEBuilder.cs (19)
34private readonly BlobBuilder? _mappedFieldData;
40private BlobBuilder? _textSectionBuilder;
75BlobBuilder ilStream,
76BlobBuilder? mappedFieldData = null,
77BlobBuilder? managedResources = null,
154protected override BlobBuilder SerializeSection(string name, SectionLocation location)
159BlobBuilder textBuilder = base.SerializeSection(name, location);
207private void SerializeExportStubs(BlobBuilder builder, int textSectionRva)
265private BlobBuilder SerializeSDataSection(SectionLocation location)
267var builder = new BlobBuilder();
313private void ApplyDataLabelFixups(BlobBuilder builder, int dataOffset)
430private void SerializeExportDirectory(BlobBuilder builder, int sectionRva)
508private BlobBuilder SerializeRelocationSection(SectionLocation location)
542var builder = new BlobBuilder();
608private static int ReadInt32AtOffset(BlobBuilder builder, int offset) =>
611private static byte[] ReadBytes(BlobBuilder builder, int offset, int count)
639private static void WriteInt32AtOffset(BlobBuilder builder, int offset, int value)
646private static void WriteUInt64AtOffset(BlobBuilder builder, int offset, ulong value)
653private static void WriteBytesAtOffset(BlobBuilder builder, int offset, ReadOnlySpan<byte> value)
ILCompiler.Compiler (20)
ILCompiler.ReadyToRun (18)
ILCompiler.TypeSystem (3)
Microsoft.CodeAnalysis (79)
PEWriter\MetadataWriter.cs (16)
1701var ilBuilder = new BlobBuilder(1024);
1702var metadataBuilder = new BlobBuilder(4 * 1024);
1773var portablePdbBlob = new BlobBuilder();
1789BlobBuilder ilBuilder,
1927private void PopulateTypeSystemTables(int[] methodBodyOffsets, int mappedFieldDataStartOffset, out PooledBlobBuilder? mappedFieldDataWriter, out PooledBlobBuilder? resourceWriter, BlobBuilder? dynamicAnalysisData, out Blob mvidFixup)
2527private void PopulateManifestResourceTableRows(out PooledBlobBuilder? resourceDataWriter, BlobBuilder? dynamicAnalysisData)
2590static uint writeBuilderResourceAndGetOffset(BlobBuilder resource, BlobBuilder resourceWriter)
2956private int[] SerializeThrowNullMethodBodies(BlobBuilder ilBuilder)
2985private int[] SerializeMethodBodies(BlobBuilder ilBuilder, PdbWriter nativePdbWriterOpt, out Blob mvidStringFixup)
3475private void SerializeFieldSignature(IFieldReference fieldReference, BlobBuilder builder)
3485private void SerializeMethodSpecificationSignature(BlobBuilder builder, IGenericMethodInstanceReference genericMethodInstanceReference)
3510private void SerializeCustomAttributeSignature(ICustomAttribute customAttribute, BlobBuilder builder)
3640private void SerializeMarshallingDescriptor(IMarshallingInformation marshallingInformation, BlobBuilder writer)
3734private void SerializeTypeName(ITypeReference typeReference, BlobBuilder writer)
3789private void SerializePermissionSet(ImmutableArray<ICustomAttribute> permissionSet, BlobBuilder writer)
PEWriter\NativeResourceWriter.cs (5)
172public static void SerializeWin32Resources(BlobBuilder builder, IEnumerable<IWin32Resource> theResources, int resourcesRva)
231var dataWriter = new BlobBuilder();
240private static void WriteDirectory(Directory directory, BlobBuilder writer, uint offset, uint level, uint sizeOfDirectoryTree, int virtualAddressBase, BlobBuilder dataWriter)
354public static void SerializeWin32Resources(BlobBuilder builder, ResourceSection resourceSections, int resourcesRva)
Microsoft.CodeAnalysis.CSharp (4)
Microsoft.CodeAnalysis.Features (3)
Microsoft.CodeAnalysis.VisualBasic (3)
Microsoft.Diagnostics.DataContractReader.Contracts (4)
Microsoft.DotNet.StrongName (1)
System.Reflection.Emit (50)
System\Reflection\Emit\ModuleBuilderImpl.cs (17)
117internal void AppendMetadata(MethodBodyStreamEncoder methodBodyEncoder, BlobBuilder fieldDataBuilder, out MetadataBuilder pdbBuilder)
434BlobBuilder spBlobBuilder = new BlobBuilder();
449BlobBuilder spBlobBuilder = new BlobBuilder();
473private static void PopulateSequencePointsBlob(BlobBuilder spBlobBuilder, List<SequencePoint> sequencePoints, ref int previousNonHiddenStartLine, ref int previousNonHiddenStartColumn)
560BlobBuilder importBlob = new BlobBuilder();
571private static void SerializeDeltaLinesAndColumns(BlobBuilder spBuilder, SequencePoint sequencePoint)
634private void WriteFields(TypeBuilderImpl typeBuilder, BlobBuilder fieldDataBuilder)
785BlobBuilder signature = GetMethodSignature(method, optionalParameterTypes);
786KeyValuePair<MethodInfo, BlobBuilder> pair = new(method, signature);
797private BlobBuilder GetMethodSignature(MethodInfo method, Type[]? optionalParameterTypes) =>
801private BlobBuilder GetMethodArrayMethodSignature(ArrayMethod method) => MetadataSignatureHelper.GetMethodSignature(
896private PropertyDefinitionHandle AddPropertyDefinition(PropertyBuilderImpl property, BlobBuilder signature) =>
918private FieldDefinitionHandle AddFieldDefinition(FieldBuilderImpl field, BlobBuilder fieldSignature) =>
933private MethodDefinitionHandle AddMethodDefinition(MethodBuilderImpl method, BlobBuilder methodSignature, int offset, int parameterToken) =>
948private MemberReferenceHandle AddMemberReference(string memberName, EntityHandle parent, BlobBuilder signature) =>
968private void AddMarshalling(EntityHandle parent, BlobBuilder builder) =>
1378BlobBuilder blobBuilder = new();
System\Reflection\Emit\SignatureHelper.cs (14)
13internal static BlobBuilder GetLocalSignature(List<LocalBuilder> locals, ModuleBuilderImpl module)
17BlobBuilder localSignature = new();
29internal static BlobBuilder GetFieldSignature(Type fieldType, Type[] requiredCustomModifiers, Type[] optionalCustomModifiers, ModuleBuilderImpl module)
31BlobBuilder fieldSignature = new();
38internal static BlobBuilder GetConstructorSignature(ParameterInfo[]? parameters, ModuleBuilderImpl module)
40BlobBuilder constructorSignature = new();
55internal static BlobBuilder GetTypeSpecificationSignature(Type type, ModuleBuilderImpl module)
57BlobBuilder typeSpecSignature = new();
63internal static BlobBuilder GetMethodSpecificationSignature(Type[] genericArguments, ModuleBuilderImpl module)
65BlobBuilder methodSpecSignature = new();
76internal static BlobBuilder GetMethodSignature(ModuleBuilderImpl module, Type[]? parameters, Type? returnType, SignatureCallingConvention convention,
80BlobBuilder methodSignature = new();
144internal static BlobBuilder GetPropertySignature(PropertyBuilderImpl property, ModuleBuilderImpl module)
146BlobBuilder propertySignature = new();
System.Reflection.Metadata (229)