public RazorLanguageServerClient( RazorLanguageServerCustomMessageTarget customTarget, RazorLanguageClientMiddleLayer middleLayer, LSPRequestInvoker requestInvoker, ProjectConfigurationFilePathStore projectConfigurationFilePathStore, FeedbackFileLoggerProviderFactory feedbackFileLoggerProviderFactory, VSLanguageServerFeatureOptions vsLanguageServerFeatureOptions) { if (customTarget is null) { throw new ArgumentNullException(nameof(customTarget)); } if (middleLayer is null) { throw new ArgumentNullException(nameof(middleLayer)); } if (requestInvoker is null) { throw new ArgumentNullException(nameof(requestInvoker)); } if (projectConfigurationFilePathStore is null) { throw new ArgumentNullException(nameof(projectConfigurationFilePathStore)); } if (feedbackFileLoggerProviderFactory is null) { throw new ArgumentNullException(nameof(feedbackFileLoggerProviderFactory)); } if (vsLanguageServerFeatureOptions is null) { throw new ArgumentNullException(nameof(vsLanguageServerFeatureOptions)); } _customMessageTarget = customTarget; _middleLayer = middleLayer; _requestInvoker = requestInvoker; _projectConfigurationFilePathStore = projectConfigurationFilePathStore; _feedbackFileLoggerProviderFactory = feedbackFileLoggerProviderFactory; _vsLanguageServerFeatureOptions = vsLanguageServerFeatureOptions; _shutdownLock = new object(); }