1 interface inheriting from IAssemblySymbol
Microsoft.CodeAnalysis (1)
2 implementations of IAssemblySymbol
Microsoft.CodeAnalysis.CSharp (1)
Microsoft.CodeAnalysis.VisualBasic (1)
801 references to IAssemblySymbol
Aspire.Hosting.Integration.Analyzers (1)
ConfigurationSchemaGenerator (4)
GenerateDocumentationAndConfigFiles (61)
ILLink.RoslynAnalyzer (12)
Microsoft.AspNetCore.Analyzers (2)
Microsoft.AspNetCore.OpenApi.SourceGenerators (2)
Microsoft.CodeAnalysis (27)
Microsoft.CodeAnalysis.Analyzers (68)
Microsoft.CodeAnalysis.AnalyzerUtilities (60)
Microsoft.CodeAnalysis.CodeStyle (48)
Microsoft.CodeAnalysis.CodeStyle.Fixes (8)
Microsoft.CodeAnalysis.CSharp (26)
Microsoft.CodeAnalysis.Extensions.Package (37)
Microsoft.CodeAnalysis.ExternalAccess.OmniSharp (2)
Microsoft.CodeAnalysis.Features (44)
Microsoft.CodeAnalysis.Razor.Compiler (16)
Microsoft.CodeAnalysis.ResxSourceGenerator (60)
Microsoft.CodeAnalysis.VisualBasic (19)
Microsoft.CodeAnalysis.Workspaces (95)
FindSymbols\FindReferences\DependentProjectsFinder.cs (12)
28/// name of the <see cref="IAssemblySymbol"/> defined by it.
36(IAssemblySymbol assembly, Project? sourceProject, SymbolVisibility visibility),
111/// cref="IAssemblySymbol"/> for both source and metadata symbols, and an optional <see cref="Project"/> if this
114private static Dictionary<IAssemblySymbol, (Project? sourceProject, SymbolVisibility maxVisibility)> GetSymbolOriginations(
117var result = new Dictionary<IAssemblySymbol, (Project? sourceProject, SymbolVisibility visibility)>();
121var assembly = symbol.OriginalDefinition.ContainingAssembly;
146(IAssemblySymbol assembly, Project? sourceProject) symbolOrigination,
174(IAssemblySymbol assembly, Project? sourceProject) symbolOrigination,
269(IAssemblySymbol assembly, Project? sourceProject) symbolOrigination,
294private static HashSet<string> GetInternalsVisibleToSet(IAssemblySymbol assembly)
317(IAssemblySymbol assembly, Project? sourceProject) symbolOrigination,
382var name = compilation.GetAssemblyOrModuleSymbol(peReference) is IAssemblySymbol { Name: string metadataAssemblyName }
FindSymbols\SymbolTree\SymbolTreeInfo.cs (8)
26/// will still incur a heavy cost (for example, getting the <see cref="IAssemblySymbol"/> root symbol for a
119SearchQuery query, IAssemblySymbol assembly, SymbolFilter filter, CancellationToken cancellationToken)
126query, AsyncLazy.Create((IAssemblySymbol?)assembly), filter, cancellationToken);
130SearchQuery query, AsyncLazy<IAssemblySymbol?> lazyAssembly,
143SearchQuery query, AsyncLazy<IAssemblySymbol?> lazyAssembly, CancellationToken cancellationToken)
168AsyncLazy<IAssemblySymbol?> lazyAssembly, string name, CancellationToken cancellationToken)
214AsyncLazy<IAssemblySymbol?> lazyAssembly,
223IAssemblySymbol? assemblySymbol = null;
Microsoft.CodeAnalysis.Workspaces.MSBuild (2)
Microsoft.DotNet.ApiCompatibility (73)
ApiComparer.cs (22)
39public IEnumerable<CompatDifference> GetDifferences(IAssemblySymbol left,
40IAssemblySymbol right)
42return GetDifferences(new ElementContainer<IAssemblySymbol>(left, MetadataInformation.DefaultLeft),
43new ElementContainer<IAssemblySymbol>(right, MetadataInformation.DefaultRight));
47public IEnumerable<CompatDifference> GetDifferences(ElementContainer<IAssemblySymbol> left,
48ElementContainer<IAssemblySymbol> right)
61public IEnumerable<CompatDifference> GetDifferences(IEnumerable<ElementContainer<IAssemblySymbol>> left,
62IEnumerable<ElementContainer<IAssemblySymbol>> right)
75public IEnumerable<CompatDifference> GetDifferences(IEnumerable<IAssemblySymbol> left,
76IEnumerable<IAssemblySymbol> right)
78List<ElementContainer<IAssemblySymbol>> transformedLeft = [];
79foreach (IAssemblySymbol assemblySymbol in left)
81transformedLeft.Add(new ElementContainer<IAssemblySymbol>(assemblySymbol, MetadataInformation.DefaultLeft));
84List<ElementContainer<IAssemblySymbol>> transformedRight = [];
85foreach (IAssemblySymbol assemblySymbol in right)
87transformedRight.Add(new ElementContainer<IAssemblySymbol>(assemblySymbol, MetadataInformation.DefaultRight));
94public IEnumerable<CompatDifference> GetDifferences(ElementContainer<IAssemblySymbol> left,
95IReadOnlyList<ElementContainer<IAssemblySymbol>> right)
112public IEnumerable<CompatDifference> GetDifferences(IEnumerable<ElementContainer<IAssemblySymbol>> left,
113IReadOnlyList<IEnumerable<ElementContainer<IAssemblySymbol>>> right)
130IEnumerable<ElementContainer<IAssemblySymbol>> inputMetadata)
135foreach (ElementContainer<IAssemblySymbol> elementContainer in inputMetadata)
Rules\RuleContext.cs (8)
13private readonly List<Action<IAssemblySymbol?, IAssemblySymbol?, MetadataInformation, MetadataInformation, bool, IList<CompatDifference>>> _onAssemblySymbolActions = [];
19public void RegisterOnAssemblySymbolAction(Action<IAssemblySymbol?, IAssemblySymbol?, MetadataInformation, MetadataInformation, bool, IList<CompatDifference>> action)
43public void RunOnAssemblySymbolActions(IAssemblySymbol? left, IAssemblySymbol? right, MetadataInformation leftMetadata, MetadataInformation rightMetadata, bool isSingleAssembly, IList<CompatDifference> differences)
45foreach (Action<IAssemblySymbol?, IAssemblySymbol?, MetadataInformation, MetadataInformation, bool, IList<CompatDifference>> action in _onAssemblySymbolActions)
Microsoft.DotNet.ApiSymbolExtensions (44)
AssemblySymbolLoader.cs (25)
15/// Loads <see cref="IAssemblySymbol"/> objects from source files, binaries or directories containing binaries.
64public static (AssemblySymbolLoader, Dictionary<string, IAssemblySymbol>) CreateFromFiles(
75new Dictionary<string, IAssemblySymbol>());
94Dictionary<string, IAssemblySymbol> dictionary = [];
97if (loader._cSharpCompilation.GetAssemblyOrModuleSymbol(metadataReference) is IAssemblySymbol assemblySymbol &&
153public IReadOnlyList<IAssemblySymbol?> LoadAssemblies(params string[] paths)
165IAssemblySymbol?[] assemblySymbols = new IAssemblySymbol[assembliesToReturn.Count];
170assemblySymbols[i] = symbol as IAssemblySymbol;
179public IReadOnlyList<IAssemblySymbol?> LoadAssembliesFromArchive(string archivePath, IReadOnlyList<string> relativePaths)
217IAssemblySymbol?[] assemblySymbols = new IAssemblySymbol[metadataReferences.Length];
223_cSharpCompilation.GetAssemblyOrModuleSymbol(metadataReference) as IAssemblySymbol :
233public IAssemblySymbol? LoadAssembly(string path)
238IAssemblySymbol? assemblySymbol = _cSharpCompilation.GetAssemblyOrModuleSymbol(metadataReference) as IAssemblySymbol;
245public IAssemblySymbol? LoadAssembly(string name, Stream stream)
260IAssemblySymbol? assemblySymbol = _cSharpCompilation.GetAssemblyOrModuleSymbol(metadataReference) as IAssemblySymbol;
267public IAssemblySymbol LoadAssemblyFromSourceFiles(IEnumerable<string> filePaths, string? assemblyName, IEnumerable<string> referencePaths)
296public IEnumerable<IAssemblySymbol> LoadMatchingAssemblies(IEnumerable<IAssemblySymbol> fromAssemblies, IEnumerable<string> searchPaths, bool validateMatchingIdentity = true, bool warnOnMissingAssemblies = true)
298List<IAssemblySymbol> matchingAssemblies = [];
299foreach (IAssemblySymbol assembly in fromAssemblies)
315if (symbol is IAssemblySymbol matchingAssembly)
Microsoft.Extensions.Logging.Generators (1)
Microsoft.Extensions.Options.SourceGeneration (1)
Microsoft.Gen.BuildMetadata (1)
Microsoft.Gen.Logging (1)
Microsoft.Gen.Metrics (1)
Microsoft.Interop.ComInterfaceGenerator (1)
Microsoft.Interop.LibraryImportGenerator (1)
Microsoft.Interop.LibraryImportGenerator.Downlevel (1)
Microsoft.Interop.SourceGeneration (1)
Microsoft.Maui.Controls.SourceGen (6)
Microsoft.ML.InternalCodeAnalyzer (3)
Roslyn.Diagnostics.Analyzers (69)
System.Private.CoreLib.Generators (1)
System.Text.Json.SourceGeneration (1)
System.Text.RegularExpressions.Generator (1)