6 types derived from PortableExecutableReference
Microsoft.CodeAnalysis (1)
Microsoft.CodeAnalysis.Workspaces (3)
rzc (1)
VBCSCompiler (1)
227 references to PortableExecutableReference
ConfigurationSchemaGenerator (2)
Microsoft.CodeAnalysis (49)
ReferenceManager\CommonReferenceManager.Resolution.cs (7)
321var peReference = (PortableExecutableReference)boundReference;
476private Metadata? GetMetadata(PortableExecutableReference peReference, CommonMessageProvider messageProvider, Location location, DiagnosticBag diagnostics)
506newDiagnostic = PortableExecutableReference.ExceptionToDiagnostic(e, messageProvider, location, peReference.Display ?? "", peReference.Properties.Kind);
527private bool TryGetObservedMetadata(PortableExecutableReference peReference, DiagnosticBag diagnostics, out Metadata? metadata)
546internal AssemblyMetadata? GetAssemblyMetadata(PortableExecutableReference peReference, DiagnosticBag diagnostics)
869private static PortableExecutableReference? ResolveReferenceDirective(string reference, Location location, TCompilation compilation)
Microsoft.CodeAnalysis.CSharp (5)
Microsoft.CodeAnalysis.Features (49)
AddImport\AbstractAddImportFeatureService.cs (21)
32: IAddImportFeatureService, IEqualityComparer<PortableExecutableReference>
36/// Cache of information about whether a <see cref="PortableExecutableReference"/> is likely contained within a
39private static readonly ConditionalWeakTable<PortableExecutableReference, StrongBox<bool>> s_isInPackagesDirectory = new();
148var referenceToCompilation = new ConcurrentDictionary<PortableExecutableReference, Compilation>(concurrencyLevel: 2, capacity: project.Solution.Projects.Sum(p => p.MetadataReferences.Count));
173ConcurrentDictionary<PortableExecutableReference, Compilation> referenceToCompilation,
262ConcurrentDictionary<PortableExecutableReference, Compilation> referenceToCompilation,
274var seenReferences = new HashSet<PortableExecutableReference>(comparer: this);
275seenReferences.AddAll(project.MetadataReferences.OfType<PortableExecutableReference>());
323private static ImmutableArray<(Project, PortableExecutableReference)> GetUnreferencedMetadataReferences(
324Project project, HashSet<PortableExecutableReference> seenReferences)
326using var _ = ArrayBuilder<(Project, PortableExecutableReference)>.GetInstance(out var result);
338if (reference is PortableExecutableReference peReference &&
401private static bool IsInPackagesDirectory(PortableExecutableReference reference)
407static bool ComputeIsInPackagesDirectory(PortableExecutableReference reference)
415static bool ContainsPathComponent(PortableExecutableReference reference, string pathComponent)
430private static Compilation CreateCompilation(Project project, PortableExecutableReference reference)
437bool IEqualityComparer<PortableExecutableReference>.Equals(PortableExecutableReference? x, PortableExecutableReference? y)
450int IEqualityComparer<PortableExecutableReference>.GetHashCode(PortableExecutableReference obj)
Microsoft.CodeAnalysis.Scripting (17)
Hosting\Resolvers\RuntimeMetadataReferenceResolver.cs (14)
40private readonly Func<string, MetadataReferenceProperties, PortableExecutableReference> _createFromFileFunc;
54Func<string, MetadataReferenceProperties, PortableExecutableReference>? createFromFileFunc = null)
71Func<string, MetadataReferenceProperties, PortableExecutableReference>? createFromFileFunc = null)
85Func<string, MetadataReferenceProperties, PortableExecutableReference>? createFromfileFunc = null)
96public override PortableExecutableReference? ResolveMissingAssembly(MetadataReference definition, AssemblyIdentity referenceIdentity)
111var result = ResolveTrustedPlatformAssembly(referenceIdentity.Name, s_resolvedMissingAssemblyReferenceProperties);
119var definitionDirectory = PathUtilities.GetDirectoryName((definition as PortableExecutableReference)?.FilePath);
136private PortableExecutableReference CreateFromFile(string filePath, MetadataReferenceProperties properties) =>
139private PortableExecutableReference CreateResolvedMissingReference(string fullPath) =>
142public override ImmutableArray<PortableExecutableReference> ResolveReference(string reference, string? baseFilePath, MetadataReferenceProperties properties)
157var result = ResolveTrustedPlatformAssembly(PathUtilities.GetFileName(reference, includeExtension: false), properties);
186var result = ResolveTrustedPlatformAssembly(identity.Name, properties);
194return ImmutableArray<PortableExecutableReference>.Empty;
197private PortableExecutableReference? ResolveTrustedPlatformAssembly(string name, MetadataReferenceProperties properties)
Microsoft.CodeAnalysis.VisualBasic (3)
Microsoft.CodeAnalysis.Workspaces (82)
FindSymbols\SymbolTree\SymbolTreeInfo_Metadata.cs (17)
32/// cref="PortableExecutableReference"/>. Generating symbol trees for metadata can be expensive (in large
40private static readonly ConditionalWeakTable<PortableExecutableReference, AsyncLazy<SymbolTreeInfo>> s_peReferenceToInfo = new();
45/// cref="PortableExecutableReference"/>s, while having different checksums. For example, if the aliases of a
46/// <see cref="PortableExecutableReference"/> are changed (see <see
47/// cref="PortableExecutableReference.WithAliases(IEnumerable{string})"/>, then it will have a different
70public static MetadataId? GetMetadataIdNoThrow(PortableExecutableReference reference)
82private static Metadata? GetMetadataNoThrow(PortableExecutableReference reference)
95/// Produces a <see cref="SymbolTreeInfo"/> for a given <see cref="PortableExecutableReference"/>.
104PortableExecutableReference reference,
117/// Produces a <see cref="SymbolTreeInfo"/> for a given <see cref="PortableExecutableReference"/>.
127PortableExecutableReference reference,
146PortableExecutableReference reference,
171PortableExecutableReference reference,
201public static async Task<SymbolTreeInfo?> TryGetCachedInfoForMetadataReferenceIgnoreChecksumAsync(PortableExecutableReference reference, CancellationToken cancellationToken)
211SolutionServices services, PortableExecutableReference reference, CancellationToken cancellationToken)
228private static string GetMetadataKeySuffix(PortableExecutableReference reference)
238PortableExecutableReference reference,
Microsoft.CodeAnalysis.Workspaces.MSBuild (3)
Microsoft.Maui.Controls.SourceGen (2)
rzc (4)
VBCSCompiler (11)
src\roslyn\src\Compilers\Server\VBCSCompiler\CSharpCompilerServer.cs (4)
17private readonly Func<string, MetadataReferenceProperties, PortableExecutableReference> _metadataProvider;
21internal CSharpCompilerServer(Func<string, MetadataReferenceProperties, PortableExecutableReference> metadataProvider, string[] args, BuildPaths buildPaths, string? libDirectory, IAnalyzerAssemblyLoader analyzerLoader, GeneratorDriverCache driverCache, ICompilerServerLogger? logger = null)
26internal CSharpCompilerServer(Func<string, MetadataReferenceProperties, PortableExecutableReference> metadataProvider, string? responseFile, string[] args, BuildPaths buildPaths, string? libDirectory, IAnalyzerAssemblyLoader analyzerLoader, GeneratorDriverCache driverCache, ICompilerServerLogger? logger = null)
34internal override Func<string, MetadataReferenceProperties, PortableExecutableReference> GetMetadataProvider()
src\roslyn\src\Compilers\Server\VBCSCompiler\VisualBasicCompilerServer.cs (4)
17private readonly Func<string, MetadataReferenceProperties, PortableExecutableReference> _metadataProvider;
21internal VisualBasicCompilerServer(Func<string, MetadataReferenceProperties, PortableExecutableReference> metadataProvider, string[] args, BuildPaths buildPaths, string? libDirectory, IAnalyzerAssemblyLoader analyzerLoader, GeneratorDriverCache driverCache, ICompilerServerLogger? logger = null)
26internal VisualBasicCompilerServer(Func<string, MetadataReferenceProperties, PortableExecutableReference> metadataProvider, string? responseFile, string[] args, BuildPaths buildPaths, string? libDirectory, IAnalyzerAssemblyLoader analyzerLoader, GeneratorDriverCache driverCache, ICompilerServerLogger? logger = null)
34internal override Func<string, MetadataReferenceProperties, PortableExecutableReference> GetMetadataProvider()