5 instantiations of AssemblyMetadata
Microsoft.CodeAnalysis (5)
MetadataReference\AssemblyMetadata.cs (5)
169return new AssemblyMetadata(manifestModule, moduleName => ModuleMetadata.CreateFromFile(Path.Combine(Path.GetDirectoryName(path) ?? "", moduleName))); 186return new AssemblyMetadata(ImmutableArray.Create(module)); 218return new AssemblyMetadata(modules); 260return new AssemblyMetadata(this, shareCachedSymbols: true); 265return new AssemblyMetadata(this, shareCachedSymbols: false);
94 references to AssemblyMetadata
Microsoft.CodeAnalysis (58)
CommandLine\CommonCompiler.ExistingReferencesResolver.cs (1)
60PEAssembly assembly = ((AssemblyMetadata)peReference.GetMetadataNoCopy()).GetAssembly()!;
Compilation\DeterministicKeyBuilder.cs (1)
373case AssemblyMetadata assemblyMetadata:
DiagnosticAnalyzer\AnalyzerFileReference.cs (2)
228using var assembly = AssemblyMetadata.CreateFromFile(fullPath);
MetadataReader\PEAssembly.cs (3)
53private readonly AssemblyMetadata _owner; 60internal PEAssembly(AssemblyMetadata owner, ImmutableArray<PEModule> modules) 202public AssemblyMetadata GetNonDisposableMetadata() => _owner.Copy();
MetadataReference\AssemblyMetadata.cs (18)
56/// Modules the <see cref="AssemblyMetadata"/> was created with, in case they are eagerly allocated. 76private AssemblyMetadata(AssemblyMetadata other, bool shareCachedSymbols) 114public static AssemblyMetadata CreateFromImage(ImmutableArray<byte> peImage) 127public static AssemblyMetadata CreateFromImage(IEnumerable<byte> peImage) 138public static AssemblyMetadata CreateFromStream(Stream peStream, bool leaveOpen = false) 149public static AssemblyMetadata CreateFromStream(Stream peStream, PEStreamOptions options) 155/// Finds all modules of an assembly on a specified path and builds an instance of <see cref="AssemblyMetadata"/> that represents them. 162public static AssemblyMetadata CreateFromFile(string path) 167internal static AssemblyMetadata CreateFromFile(ModuleMetadata manifestModule, string path) 179public static AssemblyMetadata Create(ModuleMetadata module) 198public static AssemblyMetadata Create(ImmutableArray<ModuleMetadata> modules) 230public static AssemblyMetadata Create(IEnumerable<ModuleMetadata> modules) 243public static AssemblyMetadata Create(params ModuleMetadata[] modules) 249/// Creates a shallow copy of contained modules and wraps them into a new instance of <see cref="AssemblyMetadata"/>. 258internal new AssemblyMetadata Copy() 263internal AssemblyMetadata CopyWithoutSharingCachedSymbols() 296throw new ObjectDisposedException(nameof(AssemblyMetadata)); 362throw new ObjectDisposedException(nameof(AssemblyMetadata));
MetadataReference\MetadataReference.cs (21)
102/// It is recommended to use <see cref="AssemblyMetadata.CreateFromImage(ImmutableArray{byte})"/> or <see cref="ModuleMetadata.CreateFromImage(ImmutableArray{byte})"/> 109/// deterministically use <see cref="AssemblyMetadata.CreateFromImage(ImmutableArray{byte})"/> 111/// <see cref="AssemblyMetadata.GetReference(DocumentationProvider, ImmutableArray{string}, bool, string, string)"/> to get a reference to it. 128_ => AssemblyMetadata.CreateFromImage(peImage), 144/// It is recommended to use <see cref="AssemblyMetadata.CreateFromImage(IEnumerable{byte})"/> or <see cref="ModuleMetadata.CreateFromImage(IEnumerable{byte})"/> 151/// deterministically use <see cref="AssemblyMetadata.CreateFromStream(Stream, PEStreamOptions)"/> 153/// <see cref="AssemblyMetadata.GetReference(DocumentationProvider, ImmutableArray{string}, bool, string, string)"/> to get a reference to it. 166_ => AssemblyMetadata.CreateFromImage(peImage), 186/// It is recommended to use <see cref="AssemblyMetadata.CreateFromStream(Stream, PEStreamOptions)"/> or <see cref="ModuleMetadata.CreateFromStream(Stream, PEStreamOptions)"/> 193/// the lifetime deterministically use <see cref="AssemblyMetadata.CreateFromStream(Stream, PEStreamOptions)"/> 195/// <see cref="AssemblyMetadata.GetReference(DocumentationProvider, ImmutableArray{string}, bool, string, string)"/> 209_ => AssemblyMetadata.CreateFromStream(peStream, PEStreamOptions.PrefetchEntireImage), 228/// It is recommended to use <see cref="AssemblyMetadata.CreateFromFile(string)"/> or <see cref="ModuleMetadata.CreateFromFile(string)"/> 235/// the lifetime deterministically use <see cref="AssemblyMetadata.CreateFromFile(string)"/> 237/// <see cref="AssemblyMetadata.GetReference(DocumentationProvider, ImmutableArray{string}, bool, string, string)"/> 280var assemblyMetadata = AssemblyMetadata.CreateFromFile(module, path); 293/// It is recommended to use <see cref="AssemblyMetadata.CreateFromFile(string)"/> API when creating multiple references to the same assembly. 294/// Reusing <see cref="AssemblyMetadata"/> object allows for sharing data across these references. 321/// It is recommended to use <see cref="AssemblyMetadata.CreateFromFile(string)"/> API when creating multiple references to the same assembly. 322/// Reusing <see cref="AssemblyMetadata"/> object allows for sharing data across these references.
ReferenceManager\CommonReferenceManager.Binding.cs (3)
273out AssemblyMetadata? resolvedAssemblyMetadata, 531[NotNullWhen(true)] out AssemblyMetadata? resolvedAssemblyMetadata, 575AssemblyMetadata assemblyMetadata,
ReferenceManager\CommonReferenceManager.Resolution.cs (6)
330var assemblyMetadata = (AssemblyMetadata)metadata; 495if (newMetadata is AssemblyMetadata assemblyMetadata) 546internal AssemblyMetadata? GetAssemblyMetadata(PortableExecutableReference peReference, DiagnosticBag diagnostics) 557var assemblyMetadata = metadata as AssemblyMetadata;
ReferenceManager\CommonReferenceManager.State.cs (1)
27/// - <see cref="AssemblyMetadata.CachedSymbols"/>
Symbols\IAssemblySymbol.cs (2)
84/// If this symbol represents a metadata assembly returns the underlying <see cref="AssemblyMetadata"/>. 88AssemblyMetadata? GetMetadata();
Microsoft.CodeAnalysis.CSharp (9)
Emitter\EditAndContinue\PEDeltaAssemblyBuilder.cs (1)
107var metadataAssembly = metadataCompilation.GetBoundReferenceManager().CreatePEAssemblyForAssemblyMetadata(AssemblyMetadata.Create(originalMetadata), MetadataImportOptions.All, out assemblyReferenceIdentityMap);
Symbols\AssemblySymbol.cs (2)
1107/// If this symbol represents a metadata assembly returns the underlying <see cref="AssemblyMetadata"/>. 1111public abstract AssemblyMetadata GetMetadata();
Symbols\Metadata\PE\PEAssemblySymbol.cs (1)
317public override AssemblyMetadata GetMetadata() => _assembly.GetNonDisposableMetadata();
Symbols\MissingAssemblySymbol.cs (1)
213public override AssemblyMetadata GetMetadata() => null;
Symbols\PublicModel\AssemblySymbol.cs (1)
50AssemblyMetadata IAssemblySymbol.GetMetadata() => UnderlyingAssemblySymbol.GetMetadata();
Symbols\ReferenceManager.cs (1)
246public PEAssemblySymbol CreatePEAssemblyForAssemblyMetadata(AssemblyMetadata metadata, MetadataImportOptions importOptions, out ImmutableDictionary<AssemblyIdentity, AssemblyIdentity> assemblyReferenceIdentityMap)
Symbols\Retargeting\RetargetingAssemblySymbol.cs (1)
333public override AssemblyMetadata GetMetadata() => _underlyingAssembly.GetMetadata();
Symbols\Source\SourceAssemblySymbol.cs (1)
2964public override AssemblyMetadata GetMetadata() => null;
Microsoft.CodeAnalysis.Scripting (3)
Hosting\AssemblyLoader\MetadataShadowCopyProvider.cs (3)
251newMetadata = AssemblyMetadata.CreateFromFile(fullPath); 447private AssemblyMetadata CreateAssemblyMetadata(FileStream manifestModuleCopyStream, string originalPath, string shadowCopyPath) 481return AssemblyMetadata.Create(modules);
Microsoft.CodeAnalysis.VisualBasic (10)
CommandLine\VisualBasicCommandLineArguments.vb (1)
88Dim assemblyMetadata = TryCast(DirectCast(reference, PortableExecutableReference).GetMetadataNoCopy(), AssemblyMetadata)
CommandLine\VisualBasicCommandLineParser.vb (1)
1570Using metadata = AssemblyMetadata.CreateFromFile(systemRuntimePath)
Emit\EditAndContinue\PEDeltaAssemblyBuilder.vb (1)
122Dim metadataAssembly = metadataCompilation.GetBoundReferenceManager().CreatePEAssemblyForAssemblyMetadata(AssemblyMetadata.Create(originalMetadata), MetadataImportOptions.All, assemblyReferenceIdentityMap)
Symbols\AssemblySymbol.vb (2)
92''' If this symbol represents a metadata assembly returns the underlying <see cref="AssemblyMetadata"/>. 96Public MustOverride Function GetMetadata() As AssemblyMetadata Implements IAssemblySymbol.GetMetadata
Symbols\Metadata\PE\PEAssemblySymbol.vb (1)
278Public Overrides Function GetMetadata() As AssemblyMetadata
Symbols\MissingAssemblySymbol.vb (1)
178Public Overrides Function GetMetadata() As AssemblyMetadata
Symbols\ReferenceManager.vb (1)
209Friend Function CreatePEAssemblyForAssemblyMetadata(metadata As AssemblyMetadata, importOptions As MetadataImportOptions, <Out> ByRef assemblyReferenceIdentityMap As ImmutableDictionary(Of AssemblyIdentity, AssemblyIdentity)) As PEAssemblySymbol
Symbols\Retargeting\RetargetingAssemblySymbol.vb (1)
292Public Overrides Function GetMetadata() As AssemblyMetadata
Symbols\Source\SourceAssemblySymbol.vb (1)
1804Public Overrides Function GetMetadata() As AssemblyMetadata
Microsoft.CodeAnalysis.Workspaces (12)
FindSymbols\SymbolTree\SymbolTreeInfo_Metadata.cs (1)
276if (metadata is AssemblyMetadata assembly)
Serialization\SerializedPortableExecutableReference.cs (2)
65MetadataKind={metadata switch { null => "null", AssemblyMetadata => "assembly", ModuleMetadata => "module", _ => metadata.GetType().Name }} 71if (metadata is AssemblyMetadata assemblyMetadata)
Serialization\SerializerService_Reference.cs (4)
229if (metadata is AssemblyMetadata assemblyMetadata) 248private static bool TryGetModules(AssemblyMetadata assemblyMetadata, out ImmutableArray<ModuleMetadata> modules) 345if (metadata is AssemblyMetadata assemblyMetadata) 416return (AssemblyMetadata.Create(allMetadata.MoveToImmutable()), allHandles.MoveToImmutable());
Workspace\Host\TemporaryStorage\ITemporaryStorageService.cs (1)
37/// their data into types like <see cref="AssemblyMetadata"/>. It also allows them to be read in by our server
Workspace\Solution\SolutionCompilationState.SkeletonReferenceCache.cs (3)
233(AssemblyMetadata? metadata, ITemporaryStorageStreamHandle storageHandle) TryCreateMetadataAndHandle() 262var result = AssemblyMetadata.CreateFromStream(
Workspace\Solution\SolutionCompilationState.SkeletonReferenceSet.cs (1)
21AssemblyMetadata metadata,
rzc (1)
MetadataCache.cs (1)
44metadata = AssemblyMetadata.CreateFromStream(fileStream, PEStreamOptions.PrefetchMetadata);
VBCSCompiler (1)
src\roslyn\src\Compilers\Server\VBCSCompiler\MetadataCache.cs (1)
80Metadata result = AssemblyMetadata.Create(allModules);