public TestMonitorProjectConfigurationFilePathEndpoint( ProjectSnapshotManagerDispatcher projectSnapshotManagerDispatcher, FilePathNormalizer filePathNormalizer, WorkspaceDirectoryPathResolver workspaceDirectoryPathResolver, IEnumerable <IProjectConfigurationFileChangeListener> listeners) : this( fileChangeDetectorFactory : null, projectSnapshotManagerDispatcher, filePathNormalizer, workspaceDirectoryPathResolver, listeners) { }
public VisualStudioMacEditorDocumentManagerFactory( ProjectSnapshotManagerDispatcher projectSnapshotManagerDispatcher, JoinableTaskContext joinableTaskContext) { if (projectSnapshotManagerDispatcher is null) { throw new ArgumentNullException(nameof(projectSnapshotManagerDispatcher)); } _projectSnapshotManagerDispatcher = projectSnapshotManagerDispatcher; _joinableTaskContext = joinableTaskContext; }
protected AbstractTextDocumentPresentationEndpointBase( ProjectSnapshotManagerDispatcher projectSnapshotManagerDispatcher, DocumentResolver documentResolver, RazorDocumentMappingService razorDocumentMappingService, ClientNotifierServiceBase languageServer, DocumentVersionCache documentVersionCache, LanguageServerFeatureOptions languageServerFeatureOptions, ILogger logger) { if (projectSnapshotManagerDispatcher is null) { throw new ArgumentNullException(nameof(projectSnapshotManagerDispatcher)); } if (documentResolver is null) { throw new ArgumentNullException(nameof(documentResolver)); } if (razorDocumentMappingService is null) { throw new ArgumentNullException(nameof(razorDocumentMappingService)); } if (languageServer is null) { throw new ArgumentNullException(nameof(languageServer)); } if (documentVersionCache is null) { throw new ArgumentNullException(nameof(documentVersionCache)); } if (languageServerFeatureOptions is null) { throw new ArgumentNullException(nameof(languageServerFeatureOptions)); } if (logger is null) { throw new ArgumentNullException(nameof(logger)); } _projectSnapshotManagerDispatcher = projectSnapshotManagerDispatcher; _documentResolver = documentResolver; _razorDocumentMappingService = razorDocumentMappingService; _languageServer = languageServer; _documentVersionCache = documentVersionCache; _languageServerFeatureOptions = languageServerFeatureOptions; _logger = logger; }
public RazorFormattingEndpoint( ProjectSnapshotManagerDispatcher projectSnapshotManagerDispatcher, DocumentResolver documentResolver, RazorFormattingService razorFormattingService, RazorDocumentMappingService razorDocumentMappingService, AdhocWorkspaceFactory adhocWorkspaceFactory, IOptionsMonitor <RazorLSPOptions> optionsMonitor, ILoggerFactory loggerFactory) { if (projectSnapshotManagerDispatcher is null) { throw new ArgumentNullException(nameof(projectSnapshotManagerDispatcher)); } if (documentResolver is null) { throw new ArgumentNullException(nameof(documentResolver)); } if (razorFormattingService is null) { throw new ArgumentNullException(nameof(razorFormattingService)); } if (razorDocumentMappingService is null) { throw new ArgumentNullException(nameof(razorDocumentMappingService)); } if (adhocWorkspaceFactory is null) { throw new ArgumentNullException(nameof(adhocWorkspaceFactory)); } if (optionsMonitor is null) { throw new ArgumentNullException(nameof(optionsMonitor)); } if (loggerFactory is null) { throw new ArgumentNullException(nameof(loggerFactory)); } _projectSnapshotManagerDispatcher = projectSnapshotManagerDispatcher; _documentResolver = documentResolver; _razorFormattingService = razorFormattingService; _razorDocumentMappingService = razorDocumentMappingService; _adhocWorkspaceFactory = adhocWorkspaceFactory; _optionsMonitor = optionsMonitor; _logger = loggerFactory.CreateLogger <RazorFormattingEndpoint>(); }
public ProjectConfigurationStateSynchronizer( ProjectSnapshotManagerDispatcher projectSnapshotManagerDispatcher, RazorProjectService projectService, FilePathNormalizer filePathNormalizer, ILoggerFactory loggerFactory) { _projectSnapshotManagerDispatcher = projectSnapshotManagerDispatcher; _projectService = projectService; _filePathNormalizer = filePathNormalizer; _logger = loggerFactory.CreateLogger <ProjectConfigurationStateSynchronizer>(); _configurationToProjectMap = new Dictionary <string, string>(FilePathComparer.Instance); ProjectInfoMap = new Dictionary <string, DelayedProjectInfo>(FilePathComparer.Instance); }
public UnformattedRemappingCSharpCodeActionResolver( ProjectSnapshotManagerDispatcher projectSnapshotManagerDispatcher, DocumentResolver documentResolver, ClientNotifierServiceBase languageServer, DocumentVersionCache documentVersionCache, RazorDocumentMappingService documentMappingService) : base(languageServer) { _projectSnapshotManagerDispatcher = projectSnapshotManagerDispatcher ?? throw new ArgumentNullException(nameof(projectSnapshotManagerDispatcher)); _documentResolver = documentResolver ?? throw new ArgumentNullException(nameof(documentResolver)); _documentVersionCache = documentVersionCache ?? throw new ArgumentNullException(nameof(documentVersionCache)); _documentMappingService = documentMappingService ?? throw new ArgumentNullException(nameof(documentMappingService)); }
public RazorComponentRenameEndpoint( ProjectSnapshotManagerDispatcher projectSnapshotManagerDispatcher, DocumentResolver documentResolver, RazorComponentSearchEngine componentSearchEngine, ProjectSnapshotManagerAccessor projectSnapshotManagerAccessor, LanguageServerFeatureOptions languageServerFeatureOptions) { _projectSnapshotManagerDispatcher = projectSnapshotManagerDispatcher ?? throw new ArgumentNullException(nameof(projectSnapshotManagerDispatcher)); _documentResolver = documentResolver ?? throw new ArgumentNullException(nameof(documentResolver)); _componentSearchEngine = componentSearchEngine ?? throw new ArgumentNullException(nameof(componentSearchEngine)); _projectSnapshotManager = projectSnapshotManagerAccessor?.Instance ?? throw new ArgumentNullException(nameof(projectSnapshotManagerAccessor)); _languageServerFeatureOptions = languageServerFeatureOptions ?? throw new ArgumentNullException(nameof(languageServerFeatureOptions)); }
public TestMonitorProjectConfigurationFilePathEndpoint( Func <IFileChangeDetector> fileChangeDetectorFactory, ProjectSnapshotManagerDispatcher projectSnapshotManagerDispatcher, FilePathNormalizer filePathNormalizer, WorkspaceDirectoryPathResolver workspaceDirectoryPathResolver, IEnumerable <IProjectConfigurationFileChangeListener> listeners) : base( projectSnapshotManagerDispatcher, filePathNormalizer, workspaceDirectoryPathResolver, listeners) { _fileChangeDetectorFactory = fileChangeDetectorFactory ?? (() => Mock.Of <IFileChangeDetector>(MockBehavior.Strict)); }
public DefaultRazorComponentSearchEngine( ProjectSnapshotManagerDispatcher projectSnapshotManagerDispatcher, ProjectSnapshotManagerAccessor projectSnapshotManagerAccessor, ILoggerFactory loggerFactory) { if (loggerFactory is null) { throw new ArgumentNullException(nameof(loggerFactory)); } _projectSnapshotManagerDispatcher = projectSnapshotManagerDispatcher ?? throw new ArgumentNullException(nameof(projectSnapshotManagerDispatcher)); _projectSnapshotManager = projectSnapshotManagerAccessor?.Instance ?? throw new ArgumentNullException(nameof(projectSnapshotManagerAccessor)); _logger = loggerFactory.CreateLogger <DefaultRazorComponentSearchEngine>(); }
public DefaultWorkspaceEditorSettingsFactory(ProjectSnapshotManagerDispatcher projectSnapshotManagerDispatcher, EditorSettingsManager editorSettingsManager) { if (projectSnapshotManagerDispatcher == null) { throw new ArgumentNullException(nameof(projectSnapshotManagerDispatcher)); } if (editorSettingsManager == null) { throw new ArgumentNullException(nameof(editorSettingsManager)); } _projectSnapshotManagerDispatcher = projectSnapshotManagerDispatcher; _editorSettingsManager = editorSettingsManager; }
// Internal for testing protected RazorProjectHostBase( IUnconfiguredProjectCommonServices commonServices, Workspace workspace, ProjectSnapshotManagerDispatcher projectSnapshotManagerDispatcher, ProjectConfigurationFilePathStore projectConfigurationFilePathStore, ProjectSnapshotManagerBase projectManager) : this(commonServices, workspace, projectSnapshotManagerDispatcher, projectConfigurationFilePathStore) { if (projectManager == null) { throw new ArgumentNullException(nameof(projectManager)); } _projectManager = projectManager; }
public DefaultProjectSnapshotManager( ProjectSnapshotManagerDispatcher projectSnapshotManagerDispatcher, ErrorReporter errorReporter, IEnumerable <ProjectSnapshotChangeTrigger> triggers, Workspace workspace) { if (projectSnapshotManagerDispatcher is null) { throw new ArgumentNullException(nameof(projectSnapshotManagerDispatcher)); } if (errorReporter is null) { throw new ArgumentNullException(nameof(errorReporter)); } if (triggers is null) { throw new ArgumentNullException(nameof(triggers)); } if (workspace is null) { throw new ArgumentNullException(nameof(workspace)); } _projectSnapshotManagerDispatcher = projectSnapshotManagerDispatcher; _errorReporter = errorReporter; _triggers = triggers.OrderByDescending(trigger => trigger.InitializePriority).ToArray(); Workspace = workspace; _projects = new Dictionary <string, Entry>(FilePathComparer.Instance); _openDocuments = new HashSet <string>(FilePathComparer.Instance); _notificationWork = new Queue <ProjectChangeEventArgs>(); // All methods involving the project snapshot manager need to be run on the // project snapshot manager's specialized thread. The LSP editor should already // be on the specialized thread, however the old editor may be calling this // constructor on the UI thread. if (_projectSnapshotManagerDispatcher.IsDispatcherThread) { InitializeTriggers(this, _triggers); } else { _ = _projectSnapshotManagerDispatcher.RunOnDispatcherThreadAsync( () => InitializeTriggers(this, _triggers), CancellationToken.None); }
public RazorDefinitionEndpoint( ProjectSnapshotManagerDispatcher projectSnapshotManagerDispatcher, DocumentResolver documentResolver, RazorComponentSearchEngine componentSearchEngine, ILoggerFactory loggerFactory) { if (loggerFactory is null) { throw new ArgumentNullException(nameof(loggerFactory)); } _projectSnapshotManagerDispatcher = projectSnapshotManagerDispatcher ?? throw new ArgumentNullException(nameof(projectSnapshotManagerDispatcher)); _documentResolver = documentResolver ?? throw new ArgumentNullException(nameof(documentResolver)); _componentSearchEngine = componentSearchEngine ?? throw new ArgumentNullException(nameof(componentSearchEngine)); _logger = loggerFactory.CreateLogger <RazorDefinitionEndpoint>(); }
public RazorFileSynchronizer( ProjectSnapshotManagerDispatcher projectSnapshotManagerDispatcher, RazorProjectService projectService) { if (projectSnapshotManagerDispatcher is null) { throw new ArgumentNullException(nameof(projectSnapshotManagerDispatcher)); } if (projectService is null) { throw new ArgumentNullException(nameof(projectService)); } _projectSnapshotManagerDispatcher = projectSnapshotManagerDispatcher; _projectService = projectService; }
public FoldingRangeEndpoint( RazorDocumentMappingService documentMappingService, ProjectSnapshotManagerDispatcher projectSnapshotManagerDispatcher, DocumentResolver documentResolver, ClientNotifierServiceBase languageServer, DocumentVersionCache documentVersionCache, IEnumerable <RazorFoldingRangeProvider> foldingRangeProviders, ILoggerFactory loggerFactory) { _documentMappingService = documentMappingService ?? throw new ArgumentNullException(nameof(documentMappingService)); _languageServer = languageServer ?? throw new ArgumentNullException(nameof(languageServer)); _projectSnapshotManagerDispatcher = projectSnapshotManagerDispatcher ?? throw new ArgumentNullException(nameof(projectSnapshotManagerDispatcher)); _documentResolver = documentResolver ?? throw new ArgumentNullException(nameof(documentResolver)); _documentVersionCache = documentVersionCache ?? throw new ArgumentNullException(nameof(documentVersionCache)); _foldingRangeProviders = foldingRangeProviders ?? throw new ArgumentNullException(nameof(foldingRangeProviders)); _logger = loggerFactory.CreateLogger <FoldingRangeEndpoint>(); }
public DefaultProjectSnapshotManagerFactory( ProjectSnapshotManagerDispatcher projectSnapshotManagerDispatcher, [ImportMany] IEnumerable <ProjectSnapshotChangeTrigger> triggers) { if (projectSnapshotManagerDispatcher is null) { throw new ArgumentNullException(nameof(projectSnapshotManagerDispatcher)); } if (triggers is null) { throw new ArgumentNullException(nameof(triggers)); } _projectSnapshotManagerDispatcher = projectSnapshotManagerDispatcher; _triggers = triggers; }
public TextDocumentTextPresentationEndpoint( ProjectSnapshotManagerDispatcher projectSnapshotManagerDispatcher, DocumentResolver documentResolver, RazorDocumentMappingService razorDocumentMappingService, ClientNotifierServiceBase languageServer, DocumentVersionCache documentVersionCache, LanguageServerFeatureOptions languageServerFeatureOptions, ILoggerFactory loggerFactory) : base(projectSnapshotManagerDispatcher, documentResolver, razorDocumentMappingService, languageServer, documentVersionCache, languageServerFeatureOptions, loggerFactory.CreateLogger <TextDocumentTextPresentationEndpoint>()) { }
// For testing purposes only. internal EditorDocumentManagerListener( ProjectSnapshotManagerDispatcher projectSnapshotManagerDispatcher, JoinableTaskContext joinableTaskContext, EditorDocumentManager documentManager, EventHandler onChangedOnDisk, EventHandler onChangedInEditor, EventHandler onOpened, EventHandler onClosed) { _projectSnapshotManagerDispatcher = projectSnapshotManagerDispatcher; _joinableTaskContext = joinableTaskContext; _documentManager = documentManager; _onChangedOnDisk = onChangedOnDisk; _onChangedInEditor = onChangedInEditor; _onOpened = onOpened; _onClosed = onClosed; }
public RazorServerReadyPublisher( ProjectSnapshotManagerDispatcher projectSnapshotManagerDispatcher, ClientNotifierServiceBase clientNotifierService) { if (projectSnapshotManagerDispatcher is null) { throw new ArgumentNullException(nameof(projectSnapshotManagerDispatcher)); } if (clientNotifierService is null) { throw new ArgumentNullException(nameof(clientNotifierService)); } _projectSnapshotManagerDispatcher = projectSnapshotManagerDispatcher; _clientNotifierService = clientNotifierService; }
public AddUsingsCodeActionResolver( ProjectSnapshotManagerDispatcher projectSnapshotManagerDispatcher, DocumentResolver documentResolver) { if (projectSnapshotManagerDispatcher is null) { throw new ArgumentNullException(nameof(projectSnapshotManagerDispatcher)); } if (documentResolver is null) { throw new ArgumentNullException(nameof(documentResolver)); } _projectSnapshotManagerDispatcher = projectSnapshotManagerDispatcher; _documentResolver = documentResolver; }
public RazorLanguageEndpoint( ProjectSnapshotManagerDispatcher projectSnapshotManagerDispatcher, DocumentResolver documentResolver, DocumentVersionCache documentVersionCache, RazorDocumentMappingService documentMappingService, RazorFormattingService razorFormattingService, ILoggerFactory loggerFactory) { if (projectSnapshotManagerDispatcher is null) { throw new ArgumentNullException(nameof(projectSnapshotManagerDispatcher)); } if (documentResolver is null) { throw new ArgumentNullException(nameof(documentResolver)); } if (documentVersionCache is null) { throw new ArgumentNullException(nameof(documentVersionCache)); } if (documentMappingService is null) { throw new ArgumentNullException(nameof(documentMappingService)); } if (razorFormattingService is null) { throw new ArgumentNullException(nameof(razorFormattingService)); } if (loggerFactory is null) { throw new ArgumentNullException(nameof(loggerFactory)); } _projectSnapshotManagerDispatcher = projectSnapshotManagerDispatcher; _documentResolver = documentResolver; _documentVersionCache = documentVersionCache; _documentMappingService = documentMappingService; _razorFormattingService = razorFormattingService; _logger = loggerFactory.CreateLogger <RazorLanguageEndpoint>(); }
public DefaultDotNetProjectHost( DotNetProject project, ProjectSnapshotManagerDispatcher projectSnapshotManagerDispatcher, VisualStudioMacWorkspaceAccessor workspaceAccessor, TextBufferProjectService projectService, ProjectConfigurationFilePathStore projectConfigurationFilePathStore, VSLanguageServerFeatureOptions languageServerFeatureOptions) { if (project is null) { throw new ArgumentNullException(nameof(project)); } if (projectSnapshotManagerDispatcher is null) { throw new ArgumentNullException(nameof(projectSnapshotManagerDispatcher)); } if (workspaceAccessor is null) { throw new ArgumentNullException(nameof(workspaceAccessor)); } if (projectService is null) { throw new ArgumentNullException(nameof(projectService)); } if (projectConfigurationFilePathStore is null) { throw new ArgumentNullException(nameof(projectConfigurationFilePathStore)); } if (languageServerFeatureOptions is null) { throw new ArgumentNullException(nameof(languageServerFeatureOptions)); } _project = project; _projectSnapshotManagerDispatcher = projectSnapshotManagerDispatcher; _workspaceAccessor = workspaceAccessor; _projectService = projectService; _projectConfigurationFilePathStore = projectConfigurationFilePathStore; _languageServerFeatureOptions = languageServerFeatureOptions; }
public InlineCompletionEndpoint( ProjectSnapshotManagerDispatcher projectSnapshotManagerDispatcher, DocumentResolver documentResolver, RazorDocumentMappingService documentMappingService, ClientNotifierServiceBase languageServer, AdhocWorkspaceFactory adhocWorkspaceFactory, ILoggerFactory loggerFactory) { if (projectSnapshotManagerDispatcher is null) { throw new ArgumentNullException(nameof(projectSnapshotManagerDispatcher)); } if (documentResolver is null) { throw new ArgumentNullException(nameof(documentResolver)); } if (documentMappingService is null) { throw new ArgumentNullException(nameof(documentMappingService)); } if (languageServer is null) { throw new ArgumentNullException(nameof(languageServer)); } if (adhocWorkspaceFactory is null) { throw new ArgumentNullException(nameof(adhocWorkspaceFactory)); } if (loggerFactory is null) { throw new ArgumentNullException(nameof(loggerFactory)); } _projectSnapshotManagerDispatcher = projectSnapshotManagerDispatcher; _documentResolver = documentResolver; _documentMappingService = documentMappingService; _languageServer = languageServer; _adhocWorkspaceFactory = adhocWorkspaceFactory; _logger = loggerFactory.CreateLogger <InlineCompletionEndpoint>(); }
public static TestProjectSnapshotManager Create(ProjectSnapshotManagerDispatcher dispatcher) { if (dispatcher is null) { throw new ArgumentNullException(nameof(dispatcher)); } var services = TestServices.Create( workspaceServices: new[] { new DefaultProjectSnapshotProjectEngineFactory(new FallbackProjectEngineFactory(), ProjectEngineFactories.Factories) }, razorLanguageServices: Enumerable.Empty <ILanguageService>()); var workspace = TestWorkspace.Create(services); var testProjectManager = new TestProjectSnapshotManager(dispatcher, workspace); return(testProjectManager); }
public OpenDocumentGenerator( ProjectSnapshotManagerDispatcher projectSnapshotManagerDispatcher, IEnumerable <DocumentProcessedListener> documentProcessedListeners) { if (projectSnapshotManagerDispatcher is null) { throw new ArgumentNullException(nameof(projectSnapshotManagerDispatcher)); } if (documentProcessedListeners is null) { throw new ArgumentNullException(nameof(documentProcessedListeners)); } _projectSnapshotManagerDispatcher = projectSnapshotManagerDispatcher; _documentProcessedListeners = documentProcessedListeners.ToArray(); _work = new Dictionary <string, DocumentSnapshot>(StringComparer.Ordinal); }
public VisualStudioMacFileChangeTracker( string filePath, ProjectSnapshotManagerDispatcher projectSnapshotManagerDispatcher) { if (string.IsNullOrEmpty(filePath)) { throw new ArgumentException(Resources.ArgumentCannotBeNullOrEmpty, nameof(filePath)); } if (projectSnapshotManagerDispatcher is null) { throw new ArgumentNullException(nameof(projectSnapshotManagerDispatcher)); } FilePath = filePath; _normalizedFilePath = NormalizePath(FilePath); _projectSnapshotManagerDispatcher = projectSnapshotManagerDispatcher; }
public CodeActionEndpoint( RazorDocumentMappingService documentMappingService, IEnumerable <RazorCodeActionProvider> razorCodeActionProviders, IEnumerable <CSharpCodeActionProvider> csharpCodeActionProviders, ProjectSnapshotManagerDispatcher projectSnapshotManagerDispatcher, DocumentResolver documentResolver, ClientNotifierServiceBase languageServer, LanguageServerFeatureOptions languageServerFeatureOptions) { _documentMappingService = documentMappingService ?? throw new ArgumentNullException(nameof(documentMappingService)); _razorCodeActionProviders = razorCodeActionProviders ?? throw new ArgumentNullException(nameof(razorCodeActionProviders)); _csharpCodeActionProviders = csharpCodeActionProviders ?? throw new ArgumentNullException(nameof(csharpCodeActionProviders)); _projectSnapshotManagerDispatcher = projectSnapshotManagerDispatcher ?? throw new ArgumentNullException(nameof(projectSnapshotManagerDispatcher)); _documentResolver = documentResolver ?? throw new ArgumentNullException(nameof(documentResolver)); _languageServer = languageServer ?? throw new ArgumentNullException(nameof(languageServer)); _languageServerFeatureOptions = languageServerFeatureOptions ?? throw new ArgumentNullException(nameof(languageServerFeatureOptions)); _allAvailableCodeActionNames = GetAllAvailableCodeActionNames(); }
public EditorDocumentManagerListener(ProjectSnapshotManagerDispatcher projectSnapshotManagerDispatcher, JoinableTaskContext joinableTaskContext) { if (projectSnapshotManagerDispatcher is null) { throw new ArgumentNullException(nameof(projectSnapshotManagerDispatcher)); } if (joinableTaskContext is null) { throw new ArgumentNullException(nameof(joinableTaskContext)); } _projectSnapshotManagerDispatcher = projectSnapshotManagerDispatcher; _joinableTaskContext = joinableTaskContext; _onChangedOnDisk = Document_ChangedOnDisk; _onChangedInEditor = Document_ChangedInEditor; _onOpened = Document_Opened; _onClosed = Document_Closed; }
public DefaultRazorSemanticTokensInfoService( ClientNotifierServiceBase languageServer, RazorDocumentMappingService documentMappingService, ProjectSnapshotManagerDispatcher projectSnapshotManagerDispatcher, DocumentResolver documentResolver, DocumentVersionCache documentVersionCache, ILoggerFactory loggerFactory) { _languageServer = languageServer ?? throw new ArgumentNullException(nameof(languageServer)); _documentMappingService = documentMappingService ?? throw new ArgumentNullException(nameof(documentMappingService)); _projectSnapshotManagerDispatcher = projectSnapshotManagerDispatcher ?? throw new ArgumentNullException(nameof(projectSnapshotManagerDispatcher)); _documentResolver = documentResolver ?? throw new ArgumentNullException(nameof(documentResolver)); _documentVersionCache = documentVersionCache ?? throw new ArgumentNullException(nameof(documentVersionCache)); if (loggerFactory is null) { throw new ArgumentNullException(nameof(loggerFactory)); } _logger = loggerFactory.CreateLogger <DefaultRazorSemanticTokensInfoService>(); }
public VsSolutionUpdatesProjectSnapshotChangeTrigger( [Import(typeof(SVsServiceProvider))] IServiceProvider services, TextBufferProjectService projectService, ProjectWorkspaceStateGenerator workspaceStateGenerator, ProjectSnapshotManagerDispatcher projectSnapshotManagerDispatcher, JoinableTaskContext joinableTaskContext) { if (services is null) { throw new ArgumentNullException(nameof(services)); } if (projectService is null) { throw new ArgumentNullException(nameof(projectService)); } if (workspaceStateGenerator is null) { throw new ArgumentNullException(nameof(workspaceStateGenerator)); } if (projectSnapshotManagerDispatcher is null) { throw new ArgumentNullException(nameof(projectSnapshotManagerDispatcher)); } if (joinableTaskContext is null) { throw new ArgumentNullException(nameof(joinableTaskContext)); } _services = services; _projectService = projectService; _workspaceStateGenerator = workspaceStateGenerator; _projectSnapshotManagerDispatcher = projectSnapshotManagerDispatcher; _joinableTaskContext = joinableTaskContext; _activeSolutionCancellationTokenSource = new CancellationTokenSource(); }