3 types derived from BlobBuilder
Microsoft.CodeAnalysis (1)
System.Reflection.Metadata (2)
153 instantiations of BlobBuilder
ilasm (1)
ILAssembler (76)
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)
566 references to BlobBuilder
ilasm (1)
ILAssembler (150)
EntityRegistry.cs (55)
22private readonly Dictionary<BlobBuilder, TypeSpecificationEntity> _seenTypeSpecs = new(new BlobBuilderContentEqualityComparer());
23private 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 void WriteContentTo(MetadataBuilder builder, BlobBuilder ilStream, IReadOnlyDictionary<string, int> mappedFieldDataNames)
663public TypeSpecificationEntity GetOrCreateTypeSpec(BlobBuilder signature)
750public static FieldDefinitionEntity? CreateUnrecordedFieldDefinition(FieldAttributes attributes, TypeDefinitionEntity containingType, string name, BlobBuilder signature)
775public static ParameterEntity CreateParameter(ParameterAttributes attributes, string? name, BlobBuilder marshallingDescriptor, int sequence)
780public MemberReferenceEntity CreateLazilyRecordedMemberReference(TypeEntity containingType, string name, BlobBuilder signature)
791public BlobOrHandle(BlobBuilder? blob)
805private BlobBuilder? Blob { get; }
809public static implicit operator BlobOrHandle(BlobBuilder blob) => new(blob);
810public static implicit operator BlobBuilder(BlobOrHandle blobOrHandle)
821public void WriteBlobTo(BlobBuilder builder)
823((BlobBuilder)this).WriteContentTo(builder);
854BlobBuilder paramType = signature.ParameterTypes[i];
885var builder = new BlobBuilder();
899var builder = new BlobBuilder();
1021public MethodSpecificationEntity GetOrCreateMethodSpecification(EntityBase method, BlobBuilder signature)
1027((EntityBase method, BlobBuilder signature) value) => new(method, signature),
1031public StandaloneSignatureEntity GetOrCreateStandaloneSignature(BlobBuilder signature)
1036public DeclarativeSecurityAttributeEntity CreateDeclarativeSecurityAttribute(DeclarativeSecurityAction action, BlobBuilder permissionSet)
1043public CustomAttributeEntity CreateCustomAttribute(EntityBase constructor, BlobBuilder value)
1055public FileEntity GetOrCreateFile(string name, bool hasMetadata, BlobBuilder? hash)
1082public AssemblyReferenceEntity GetOrCreateAssemblyReference(string name, Version version, string? culture, BlobBuilder? publicKeyOrToken, AssemblyFlags flags, ProcessorArchitecture architecture)
1252public sealed class TypeSpecificationEntity(BlobBuilder signature) : TypeEntity
1254public BlobBuilder Signature { get; } = signature;
1298public BlobBuilder? MethodSignature { get; set; }
1337public sealed class ParameterEntity(ParameterAttributes attributes, string? name, BlobBuilder marshallingDescriptor, int sequence) : EntityBase
1341public BlobBuilder MarshallingDescriptor { get; set; } = marshallingDescriptor;
1348public sealed class MemberReferenceEntity(EntityBase parent, string name, BlobBuilder signature) : EntityBase
1353public BlobBuilder Signature { get; } = signature;
1381public sealed class MethodSpecificationEntity(EntityBase parent, BlobBuilder signature) : EntityBase
1384public BlobBuilder Signature { get; } = signature;
1387public sealed class StandaloneSignatureEntity(BlobBuilder signature) : EntityBase
1389public BlobBuilder Signature { get; } = signature;
1392public sealed class DeclarativeSecurityAttributeEntity(DeclarativeSecurityAction action, BlobBuilder permissionSet) : EntityBase
1396public BlobBuilder PermissionSet { get; } = permissionSet;
1399public sealed class CustomAttributeEntity(EntityBase constructor, BlobBuilder value) : EntityBase
1403public BlobBuilder Value { get; } = value;
1412public sealed class FieldDefinitionEntity(FieldAttributes attributes, TypeDefinitionEntity type, string name, BlobBuilder signature) : EntityBase
1417public BlobBuilder Signature { get; } = signature;
1419public BlobBuilder? MarshallingDescriptor { get; set; }
1445public sealed class PropertyEntity(PropertyAttributes attributes, BlobBuilder type, string name) : EntityBase
1448public BlobBuilder Type { get; } = type;
1460public BlobBuilder? Hash { get; set; }
1473public BlobBuilder? PublicKeyOrToken { get; set; }
1485public BlobBuilder? Hash { get; set; }
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 (230)