public static UnitTestingIncrementalAnalyzerProvider?TryRegister( Workspace workspace, string analyzerName, IUnitTestingIncrementalAnalyzerProviderImplementation provider ) { var solutionCrawlerRegistrationService = workspace.Services.GetService <ISolutionCrawlerRegistrationService>(); if (solutionCrawlerRegistrationService == null) { return(null); } var analyzerProvider = new UnitTestingIncrementalAnalyzerProvider(workspace, provider); var metadata = new IncrementalAnalyzerProviderMetadata( analyzerName, highPriorityForActiveFile: false, new[] { workspace.Kind } ); solutionCrawlerRegistrationService.AddAnalyzerProvider(analyzerProvider, metadata); return(analyzerProvider); }
internal UnitTestingIncrementalAnalyzerProvider( Workspace workspace, IUnitTestingIncrementalAnalyzerProviderImplementation incrementalAnalyzerProvider ) { _workspace = workspace; _incrementalAnalyzerProvider = incrementalAnalyzerProvider; }
public static UnitTestingIncrementalAnalyzerProvider?TryRegisterAnalyzerProvider( string analyzerName, IUnitTestingIncrementalAnalyzerProviderImplementation provider ) => UnitTestingIncrementalAnalyzerProvider.TryRegister( RemoteWorkspaceManager.Default.GetWorkspace(), analyzerName, provider );
public UnitTestingIncrementalAnalyzerProvider?TryRegisterAnalyzerProvider( string analyzerName, IUnitTestingIncrementalAnalyzerProviderImplementation provider ) => UnitTestingIncrementalAnalyzerProvider.TryRegister( GetWorkspace(), analyzerName, provider );
public void AddAnalyzerProvider(IUnitTestingIncrementalAnalyzerProviderImplementation provider, UnitTestingIncrementalAnalyzerProviderMetadataWrapper metadata) { if (_analyzerProvider != null) { // NOTE: We expect the analyzer to be a singleton, therefore this method should be called just once. throw new InvalidOperationException(); } _analyzerProvider = new UnitTestingIncrementalAnalyzerProvider(provider); _registrationService.AddAnalyzerProvider(_analyzerProvider, metadata.UnderlyingObject); }
public static async ValueTask <UnitTestingIncrementalAnalyzerProvider?> TryRegisterAnalyzerProviderAsync( ServiceBrokerClient client, string analyzerName, IUnitTestingIncrementalAnalyzerProviderImplementation provider, CancellationToken cancellationToken) { using var rental = await client.GetProxyAsync <IRemoteWorkspaceSolutionProviderService>(RemoteWorkspaceSolutionProviderService.ServiceDescriptor, cancellationToken).ConfigureAwait(false); Contract.ThrowIfNull(rental.Proxy); var workspace = await rental.Proxy.GetWorkspaceAsync(WorkspaceKind.RemoteWorkspace, cancellationToken).ConfigureAwait(false); return(UnitTestingIncrementalAnalyzerProvider.TryRegister(workspace, analyzerName, provider)); }
public UnitTestingIncrementalAnalyzerProvider(IUnitTestingIncrementalAnalyzerProviderImplementation incrementalAnalyzerProvider) => _incrementalAnalyzerProvider = incrementalAnalyzerProvider;