10 instantiations of ReferenceInfo
Microsoft.CodeAnalysis.EditorFeatures.UnitTests (6)
UnusedReferences\ProjectAssets\ProjectAssetsReaderTests.cs (2)
69=> new(ReferenceType.Project, projectPath, treatAsUsed, [Path.ChangeExtension(projectPath, "dll")], [.. dependencies]); 73=> new(ReferenceType.Package, Path.GetFileNameWithoutExtension(assemblyPath), treatAsUsed, [assemblyPath], [.. dependencies]);
UnusedReferences\UnusedReferencesRemoverTests.cs (4)
110var analyzerReference = new ReferenceInfo( 182=> new(ReferenceType.Project, 191=> new(ReferenceType.Package, 200=> new(ReferenceType.Assembly,
Microsoft.CodeAnalysis.Features (3)
UnusedReferences\ProjectAssets\ProjectAssetsReader.cs (1)
179var reference = new ReferenceInfo(referenceType, itemSpecification, treatAsUsed, compilationAssemblies.ToImmutable(), dependencies);
UnusedReferences\ReferenceInfo.cs (2)
48=> new(ReferenceType, itemSpecification, TreatAsUsed, CompilationAssemblies, Dependencies); 51=> new(ReferenceType, ItemSpecification, TreatAsUsed, CompilationAssemblies, dependencies.AsImmutableOrEmpty());
Microsoft.VisualStudio.LanguageServices (1)
UnusedReferences\UnusedReferenceExtensions.cs (1)
15return new ReferenceInfo(
99 references to ReferenceInfo
Microsoft.CodeAnalysis.EditorFeatures.UnitTests (46)
UnusedReferences\ProjectAssets\ProjectAssetsReaderTests.cs (12)
28var myPackage = PackageReference("MyPackage.dll"); 38var myPackage = PackageReference("MyPackage.dll"); 42var realizedReference = Assert.Single(realizedReferences); 63var realizedReference = Assert.Single(realizedReferences); 67private static ReferenceInfo ProjectReference(string projectPath, params ReferenceInfo[] dependencies) => ProjectReference(projectPath, false, dependencies); 68private static ReferenceInfo ProjectReference(string projectPath, bool treatAsUsed, params ReferenceInfo[] dependencies) 71private static ReferenceInfo PackageReference(string assemblyPath, params ReferenceInfo[] dependencies) => PackageReference(assemblyPath, false, dependencies); 72private static ReferenceInfo PackageReference(string assemblyPath, bool treatAsUsed, params ReferenceInfo[] dependencies)
UnusedReferences\ProjectAssets\TestProjectAssetsFile.cs (12)
16public static ProjectAssetsFile Create(int version, string targetFramework, ImmutableArray<ReferenceInfo> references) 18var allReferences = new List<ReferenceInfo>(); 35private static void FlattenReferences(ImmutableArray<ReferenceInfo> references, List<ReferenceInfo> allReferences) 37foreach (var reference in references) 41private static void FlattenReference(ReferenceInfo reference, List<ReferenceInfo> allReferences) 47private static Dictionary<string, ProjectAssetsLibrary> BuildLibraries(List<ReferenceInfo> references) 50foreach (var reference in references) 59private static Dictionary<string, Dictionary<string, ProjectAssetsTargetLibrary>> BuildTargets(string targetFramework, List<ReferenceInfo> references) 62foreach (var reference in references) 87private static Dictionary<string, string> BuildDependencies(ImmutableArray<ReferenceInfo> references)
UnusedReferences\UnusedReferencesRemoverTests.cs (22)
30var usedReference = AssemblyReference(UsedAssemblyPath); 41var usedReference = PackageReference(UsedAssemblyPath); 52var usedReference = ProjectReference(UsedAssemblyName); 63var unusedReference = PackageReference(UnusedAssemblyPath); 75var transitivelyUsedReference = PackageReference(UnusedAssemblyName, PackageReference(UsedAssemblyPath)); 86var transitivelyUsedReference = ProjectReference(UnusedAssemblyName, PackageReference(UsedAssemblyPath)); 97var transitivelyUsedReference = ProjectReference(UnusedAssemblyPath, PackageReference(UsedAssemblyPath)); 98var directlyUsedReference = PackageReference(UsedAssemblyPath); 110var analyzerReference = new ReferenceInfo( 163private static ImmutableArray<ReferenceInfo> GetUnusedReferences(string[] usedCompilationAssemblies, string[] usedProjectAssemblyNames, params ReferenceInfo[] references) 179private static ReferenceInfo ProjectReference(string assemblyPath, params ReferenceInfo[] dependencies) 181private static ReferenceInfo ProjectReference(string assemblyPath, bool treatAsUsed, params ReferenceInfo[] dependencies) 188private static ReferenceInfo PackageReference(string assemblyPath, params ReferenceInfo[] dependencies) 190private static ReferenceInfo PackageReference(string assemblyPath, bool treatAsUsed, params ReferenceInfo[] dependencies) 197private static ReferenceInfo AssemblyReference(string assemblyPath) 199private static ReferenceInfo AssemblyReference(string assemblyPath, bool treatAsUsed) 211public Task<ImmutableArray<ReferenceInfo>> GetProjectReferencesAsync(string projectPath, CancellationToken cancellationToken)
Microsoft.CodeAnalysis.Features (41)
UnusedReferences\IReferenceCleanupService.cs (1)
18Task<ImmutableArray<ReferenceInfo>> GetProjectReferencesAsync(
UnusedReferences\IUnusedReferenceAnalysisService.cs (4)
14Task<ImmutableArray<ReferenceInfo>> GetUnusedReferencesAsync( 18ImmutableArray<ReferenceInfo> projectReferences, 24ValueTask<ImmutableArray<ReferenceInfo>> GetUnusedReferencesAsync( 28ImmutableArray<ReferenceInfo> projectReferences,
UnusedReferences\ProjectAssets\ProjectAssetsReader.cs (11)
24public static ImmutableArray<ReferenceInfo> AddDependencyHierarchies( 25ImmutableArray<ReferenceInfo> projectReferences, 60var builtReferences = new Dictionary<string, ReferenceInfo?>(); 70private static ReferenceInfo? EnhanceReference( 72ReferenceInfo referenceInfo, 75Dictionary<string, ReferenceInfo?> builtReferences) 86var reference = BuildReference(projectAssets, referenceName, referenceInfo.TreatAsUsed, targetLibraryKeys, builtReferences); 95private static ReferenceInfo? BuildReference( 100Dictionary<string, ReferenceInfo?> builtReferences) 169if (builtReferences.TryGetValue(itemSpecification, out var builtReference)) 179var reference = new ReferenceInfo(referenceType, itemSpecification, treatAsUsed, compilationAssemblies.ToImmutable(), dependencies);
UnusedReferences\ReferenceInfo.cs (5)
12internal sealed class ReferenceInfo(ReferenceType referenceType, string itemSpecification, bool treatAsUsed, ImmutableArray<string> compilationAssemblies, ImmutableArray<ReferenceInfo> dependencies) 45public ImmutableArray<ReferenceInfo> Dependencies { get; } = dependencies; 47public ReferenceInfo WithItemSpecification(string itemSpecification) 50public ReferenceInfo WithDependencies(IEnumerable<ReferenceInfo>? dependencies)
UnusedReferences\ReferenceUpdate.cs (2)
7internal sealed class ReferenceUpdate(UpdateAction action, ReferenceInfo referenceInfo) 17public ReferenceInfo ReferenceInfo { get; } = referenceInfo;
UnusedReferences\UnusedReferencesRemover.cs (18)
25public static async Task<ImmutableArray<ReferenceInfo>> GetUnusedReferencesAsync( 28ImmutableArray<ReferenceInfo> references, 64internal static ImmutableArray<ReferenceInfo> GetUnusedReferences( 67ImmutableArray<ReferenceInfo> references) 69var unusedReferencesBuilder = ImmutableArray.CreateBuilder<ReferenceInfo>(); 128private static ImmutableArray<ReferenceInfo> RemoveDirectlyUsedReferences( 129ImmutableArray<ReferenceInfo> references, 139var unusedReferencesBuilder = ImmutableArray.CreateBuilder<ReferenceInfo>(); 141foreach (var reference in references) 184private static ImmutableArray<ReferenceInfo> RemoveTransitivelyUsedReferences( 185ImmutableArray<ReferenceInfo> references, 198var unusedReferencesBuilder = ImmutableArray.CreateBuilder<ReferenceInfo>(); 200foreach (var reference in references) 226internal static bool HasAnyCompilationAssembly(ReferenceInfo reference) 236internal static bool ContainsAnyCompilationAssembly(ReferenceInfo reference, HashSet<string> usedAssemblyFilePaths) 246internal static void RemoveAllCompilationAssemblies(ReferenceInfo reference, HashSet<string> usedAssemblyFilePaths) 250foreach (var dependency in reference.Dependencies) 256internal static ImmutableArray<string> GetAllCompilationAssemblies(ReferenceInfo reference)
Microsoft.CodeAnalysis.Remote.ServiceHub (4)
Services\UnusedReferences\RemoteUnusedReferenceAnalysisService.cs (2)
26public ValueTask<ImmutableArray<ReferenceInfo>> GetUnusedReferencesAsync(Checksum solutionChecksum, string projectFilePath, string projectAssetsFilePath, ImmutableArray<ReferenceInfo> projectReferences, CancellationToken cancellationToken)
src\VisualStudio\Core\Def\UnusedReferences\ProjectAssets\ProjectAssetsFileReader.cs (2)
18public static async Task<ImmutableArray<ReferenceInfo>> ReadReferencesAsync( 19ImmutableArray<ReferenceInfo> projectReferences,
Microsoft.VisualStudio.LanguageServices (8)
UnusedReferences\ProjectAssets\ProjectAssetsFileReader.cs (2)
18public static async Task<ImmutableArray<ReferenceInfo>> ReadReferencesAsync( 19ImmutableArray<ReferenceInfo> projectReferences,
UnusedReferences\UnusedReferenceAnalysisService.cs (3)
26public async Task<ImmutableArray<ReferenceInfo>> GetUnusedReferencesAsync(Solution solution, string projectFilePath, string projectAssetsFilePath, ImmutableArray<ReferenceInfo> projectReferences, CancellationToken cancellationToken) 32var result = await client.TryInvokeAsync<IRemoteUnusedReferenceAnalysisService, ImmutableArray<ReferenceInfo>>(
UnusedReferences\UnusedReferenceExtensions.cs (2)
13public static ReferenceInfo ToReferenceInfo(this ProjectSystemReferenceInfo projectSystemReference) 37public static ProjectSystemReferenceInfo ToProjectSystemReferenceInfo(this ReferenceInfo reference)
UnusedReferences\VisualStudioReferenceCleanupService.cs (1)
32public async Task<ImmutableArray<ReferenceInfo>> GetProjectReferencesAsync(string projectPath, CancellationToken cancellationToken)