2using System.Reflection.Metadata;
3using System.Reflection.Metadata.Ecma335;
21 this.writer =
writer ??
throw new ArgumentNullException(nameof(
writer));
32 writer.WriteByte((
byte)ImportDefinitionKind.AliasAssemblyReference);
33 writer.WriteCompressedInteger(MetadataTokens.GetHeapOffset(alias));
34 writer.WriteCompressedInteger(MetadataTokens.GetRowNumber(assembly));
37 public void AliasType(BlobHandle alias, EntityHandle targetType)
40 writer.WriteByte((
byte)ImportDefinitionKind.AliasType);
41 writer.WriteCompressedInteger(MetadataTokens.GetHeapOffset(alias));
42 writer.WriteCompressedInteger(CodedIndex.TypeDefOrRefOrSpec(targetType));
48 writer.WriteByte((
byte)ImportDefinitionKind.ImportType);
49 writer.WriteCompressedInteger(CodedIndex.TypeDefOrRefOrSpec(targetType));
52 public void AliasAssemblyNamespace(BlobHandle alias, AssemblyReferenceHandle targetAssembly, BlobHandle namespaceName)
55 writer.WriteByte((
byte)ImportDefinitionKind.AliasAssemblyNamespace);
56 writer.WriteCompressedInteger(MetadataTokens.GetHeapOffset(alias));
57 writer.WriteCompressedInteger(MetadataTokens.GetRowNumber(targetAssembly));
58 writer.WriteCompressedInteger(MetadataTokens.GetHeapOffset(namespaceName));
64 writer.WriteByte((
byte)ImportDefinitionKind.ImportAssemblyNamespace);
65 writer.WriteCompressedInteger(MetadataTokens.GetRowNumber(targetAssembly));
66 writer.WriteCompressedInteger(MetadataTokens.GetHeapOffset(namespaceName));
72 writer.WriteByte((
byte)ImportDefinitionKind.AliasNamespace);
73 writer.WriteCompressedInteger(MetadataTokens.GetHeapOffset(alias));
74 writer.WriteCompressedInteger(MetadataTokens.GetHeapOffset(namespaceName));
80 writer.WriteByte((
byte)ImportDefinitionKind.ImportNamespace);
81 writer.WriteCompressedInteger(MetadataTokens.GetHeapOffset(namespaceName));
87 writer.WriteByte((
byte)ImportDefinitionKind.ImportAssemblyReferenceAlias);
88 writer.WriteCompressedInteger(MetadataTokens.GetHeapOffset(alias));
ImportsEncoder(BlobBuilder writer)
Initializes a new instance.
void ImportReferenceAlias(BlobHandle alias)
void ImportType(EntityHandle targetType)
readonly BlobBuilder writer
void AliasAssemblyNamespace(BlobHandle alias, AssemblyReferenceHandle targetAssembly, BlobHandle namespaceName)
void ImportNamespace(BlobHandle namespaceName)
void AliasType(BlobHandle alias, EntityHandle targetType)
void AliasAssemblyReference(BlobHandle alias, AssemblyReferenceHandle assembly)
void AliasNamespace(BlobHandle alias, BlobHandle namespaceName)
void ImportAssemblyNamespace(AssemblyReferenceHandle targetAssembly, BlobHandle namespaceName)
int Count
Gets the number of imports written.