5 instantiations of MetadataReaderProvider
System.Reflection.Metadata (5)
System\Reflection\Metadata\MetadataReaderProvider.cs (4)
83
return new
MetadataReaderProvider
(new ExternalMemoryBlockProvider(start, size));
111
return new
MetadataReaderProvider
(new ByteArrayMemoryProvider(image));
189
result = new
MetadataReaderProvider
(new StreamMemoryBlockProvider(stream, start, actualSize, (options & MetadataStreamOptions.LeaveOpen) != 0));
195
result = new
MetadataReaderProvider
(StreamMemoryBlockProvider.ReadMemoryBlockNoLock(stream, start, actualSize));
System\Reflection\PortableExecutable\PEReader.EmbeddedPortablePdb.cs (1)
44
return new
MetadataReaderProvider
(DecodeEmbeddedPortablePdbDebugDirectoryData(block));
86 references to MetadataReaderProvider
dotnet-sourcelink (3)
Program.cs (3)
414
using
var
provider =
MetadataReaderProvider
.FromPortablePdbStream(File.OpenRead(path));
420
if (peReader.TryOpenAssociatedPortablePdb(path, pdbFileStreamProvider: File.OpenRead, out
var
pdbReaderProvider, out filePath))
ILCompiler.TypeSystem (1)
src\runtime\src\coreclr\tools\Common\TypeSystem\Ecma\SymbolReader\PortablePdbSymbolReader.cs (1)
89
MetadataReaderProvider
embeddedReaderProvider = peReader.ReadEmbeddedPortablePdbDebugDirectoryData(debugEntry);
Microsoft.CodeAnalysis.Features (16)
Debugging\DebugInformationReaderProvider.cs (4)
39
private sealed class Portable(
MetadataReaderProvider
pdbReaderProvider) : DebugInformationReaderProvider
41
private readonly
MetadataReaderProvider
_pdbReaderProvider = pdbReaderProvider;
138
return new Portable(
MetadataReaderProvider
.FromPortablePdbStream(stream));
161
public static DebugInformationReaderProvider CreateFromMetadataReader(
MetadataReaderProvider
metadataProvider)
EditAndContinue\DebuggingSession.cs (2)
328
if (!TryCreateInitialBaseline(baselineCompilation, outputs, baselineProject.Id, diagnostics, out var initialBaseline, out var debugInfoReaderProvider, out
var
metadataReaderProvider))
377
[NotNullWhen(true)] out
MetadataReaderProvider
? metadataReaderProvider)
Emit\CompilationOutputs.cs (5)
36
/// otherwise keeps the underlying stream open until the returned <see cref="
MetadataReaderProvider
"/> is disposed.
39
/// Instance of <see cref="
MetadataReaderProvider
"/>, which owns the opened metadata and must be disposed once the caller is done reading the data,
45
public virtual
MetadataReaderProvider
? OpenAssemblyMetadata(bool prefetch)
60
return
MetadataReaderProvider
.FromMetadataStream(
72
using
var
metadataProvider = OpenAssemblyMetadata(prefetch: false);
PdbSourceDocument\DocumentDebugInfoReader.cs (2)
21
private readonly
MetadataReaderProvider
_pdbReaderProvider;
27
public DocumentDebugInfoReader(PEReader peReader,
MetadataReaderProvider
pdbReaderProvider)
PdbSourceDocument\PdbFileLocatorService.cs (3)
40
if (peReader.TryOpenAssociatedPortablePdb(dllPath, ReadFileIfExists, out
var
pdbReaderProvider, out var pdbFilePath))
80
var
readerProvider =
MetadataReaderProvider
.FromPortablePdbStream(pdbStream);
Microsoft.CodeAnalysis.Rebuild (1)
Extensions.cs (1)
32
var
provider = peReader.ReadEmbeddedPortablePdbDebugDirectoryData(entry);
Microsoft.Diagnostics.DataContractReader.Contracts (7)
Contracts\EcmaMetadata_1.cs (7)
16
private readonly Dictionary<ModuleHandle,
MetadataReaderProvider
?> _metadata = [];
52
if (_metadata.TryGetValue(handle, out
MetadataReaderProvider
? result))
58
MetadataReaderProvider
? provider = GetMetadataProvider(handle);
64
private
MetadataReaderProvider
? GetMetadataProvider(ModuleHandle handle)
77
return
MetadataReaderProvider
.FromMetadataImage(ImmutableCollectionsMarshal.AsImmutableArray(data));
84
return
MetadataReaderProvider
.FromMetadataImage(ImmutableCollectionsMarshal.AsImmutableArray(data));
207
return
MetadataReaderProvider
.FromMetadataStream(metadataStream);
Microsoft.VisualStudio.TestPlatform.ObjectModel (4)
Navigation\PortablePdbReader.cs (3)
27
private readonly
MetadataReaderProvider
_provider;
51
_provider =
MetadataReaderProvider
.FromPortablePdbStream(stream);
60
public PortablePdbReader(
MetadataReaderProvider
metadataReaderProvider)
Navigation\PortableSymbolReader.cs (1)
152
var hasPdb = peReader.TryOpenAssociatedPortablePdb(binaryPath, pdbPath => new FileStream(pdbPath, FileMode.Open, FileAccess.Read), out
var
mp, pdbPath: out _);
System.Diagnostics.StackTrace (9)
System\Diagnostics\StackTraceSymbols.cs (9)
15
private readonly ConditionalWeakTable<Assembly,
MetadataReaderProvider
?> _metadataCache;
22
_metadataCache = new ConditionalWeakTable<Assembly,
MetadataReaderProvider
?>();
30
foreach ((Assembly _,
MetadataReaderProvider
? provider) in _metadataCache)
124
MetadataReaderProvider
? provider;
143
private static unsafe
MetadataReaderProvider
? TryOpenReaderForInMemoryPdb(IntPtr inMemoryPdbAddress, int inMemoryPdbSize)
155
var
provider =
MetadataReaderProvider
.FromMetadataImage((byte*)inMemoryPdbAddress, inMemoryPdbSize);
185
private static
MetadataReaderProvider
? TryOpenReaderFromAssemblyFile(string assemblyPath, IntPtr loadedPeAddress, int loadedPeSize, bool isFileLayout)
197
MetadataReaderProvider
? provider;
System.Reflection.Metadata (45)
System\Reflection\Metadata\MetadataReaderProvider.cs (31)
53
/// The memory is owned by the caller and not released on disposal of the <see cref="
MetadataReaderProvider
"/>.
54
/// The caller is responsible for keeping the memory alive and unmodified throughout the lifetime of the <see cref="
MetadataReaderProvider
"/>.
55
/// The content of the blob is not read during the construction of the <see cref="
MetadataReaderProvider
"/>
57
public static unsafe
MetadataReaderProvider
FromPortablePdbImage(byte* start, int size) => FromMetadataImage(start, size);
67
/// The memory is owned by the caller and not released on disposal of the <see cref="
MetadataReaderProvider
"/>.
68
/// The caller is responsible for keeping the memory alive and unmodified throughout the lifetime of the <see cref="
MetadataReaderProvider
"/>.
69
/// The content of the blob is not read during the construction of the <see cref="
MetadataReaderProvider
"/>
71
public static unsafe
MetadataReaderProvider
FromMetadataImage(byte* start, int size)
91
/// The content of the image is not read during the construction of the <see cref="
MetadataReaderProvider
"/>
94
public static
MetadataReaderProvider
FromPortablePdbImage(ImmutableArray<byte> image) => FromMetadataImage(image);
101
/// The content of the image is not read during the construction of the <see cref="
MetadataReaderProvider
"/>
104
public static
MetadataReaderProvider
FromMetadataImage(ImmutableArray<byte> image)
122
/// Unless <see cref="MetadataStreamOptions.LeaveOpen"/> is specified, ownership of the stream is transferred to the <see cref="
MetadataReaderProvider
"/>
123
/// upon successful argument validation. It will be disposed by the <see cref="
MetadataReaderProvider
"/> and the caller must not manipulate it.
126
/// is read from the stream during the construction of the <see cref="
MetadataReaderProvider
"/>. Furthermore, the stream must not be manipulated
127
/// by caller while the <see cref="
MetadataReaderProvider
"/> is alive and undisposed.
129
/// If <see cref="MetadataStreamOptions.PrefetchMetadata"/>, the <see cref="
MetadataReaderProvider
"/>
131
/// specified, the caller retains full ownership of the stream and is assured that it will not be manipulated by the <see cref="
MetadataReaderProvider
"/>
137
public static
MetadataReaderProvider
FromPortablePdbStream(Stream stream, MetadataStreamOptions options = MetadataStreamOptions.Default, int size = 0) => FromMetadataStream(stream, options, size);
147
/// Unless <see cref="MetadataStreamOptions.LeaveOpen"/> is specified, ownership of the stream is transferred to the <see cref="
MetadataReaderProvider
"/>
148
/// upon successful argument validation. It will be disposed by the <see cref="
MetadataReaderProvider
"/> and the caller must not manipulate it.
151
/// is read from the stream during the construction of the <see cref="
MetadataReaderProvider
"/>. Furthermore, the stream must not be manipulated
152
/// by caller while the <see cref="
MetadataReaderProvider
"/> is alive and undisposed.
154
/// If <see cref="MetadataStreamOptions.PrefetchMetadata"/>, the <see cref="
MetadataReaderProvider
"/>
156
/// specified, the caller retains full ownership of the stream and is assured that it will not be manipulated by the <see cref="
MetadataReaderProvider
"/>
163
public static
MetadataReaderProvider
FromMetadataStream(Stream stream, MetadataStreamOptions options = MetadataStreamOptions.Default, int size = 0)
183
MetadataReaderProvider
result;
216
/// It is not safe to call <see cref="Dispose"/> in parallel with any other operation on the <see cref="
MetadataReaderProvider
"/>
231
/// Gets a <see cref="MetadataReader"/> from a <see cref="
MetadataReaderProvider
"/>.
234
/// The caller must keep the <see cref="
MetadataReaderProvider
"/> undisposed throughout the lifetime of the metadata reader.
285
throw new ObjectDisposedException(nameof(
MetadataReaderProvider
));
System\Reflection\Metadata\MetadataStreamOptions.cs (4)
10
/// By default the stream is disposed when <see cref="
MetadataReaderProvider
"/> is disposed and sections of the PE image are read lazily.
15
/// Keep the stream open when the <see cref="
MetadataReaderProvider
"/> is disposed.
23
/// The underlying file may be closed and even deleted after <see cref="
MetadataReaderProvider
"/> is constructed.
24
/// <see cref="
MetadataReaderProvider
"/> closes the stream automatically by the time the constructor returns unless <see cref="LeaveOpen"/> is specified.
System\Reflection\PortableExecutable\PEReader.cs (7)
688
/// If successful, a new instance of <see cref="
MetadataReaderProvider
"/> to be used to read the Portable PDB,.
710
public bool TryOpenAssociatedPortablePdb(string peImagePath, Func<string, Stream?> pdbFileStreamProvider, out
MetadataReaderProvider
? pdbReaderProvider, out string? pdbPath)
768
private bool TryOpenCodeViewPortablePdb(DebugDirectoryEntry codeViewEntry, string peImageDirectory, Func<string, Stream?> pdbFileStreamProvider, out
MetadataReaderProvider
? provider, out string? pdbPath, ref Exception? errorToReport)
803
private static bool TryOpenPortablePdbFile(string path, BlobContentId id, Func<string, Stream?> pdbFileStreamProvider, out
MetadataReaderProvider
? provider, ref Exception? errorToReport)
806
MetadataReaderProvider
? candidate = null;
832
candidate =
MetadataReaderProvider
.FromPortablePdbStream(pdbStream);
857
partial void TryOpenEmbeddedPortablePdb(DebugDirectoryEntry embeddedPdbEntry, ref bool openedEmbeddedPdb, ref
MetadataReaderProvider
? provider, ref Exception? errorToReport);
System\Reflection\PortableExecutable\PEReader.EmbeddedPortablePdb.cs (3)
34
public
MetadataReaderProvider
ReadEmbeddedPortablePdbDebugDirectoryData(DebugDirectoryEntry entry)
136
partial void TryOpenEmbeddedPortablePdb(DebugDirectoryEntry embeddedPdbEntry, ref bool openedEmbeddedPdb, ref
MetadataReaderProvider
? provider, ref Exception? errorToReport)
139
MetadataReaderProvider
? candidate = null;