public EditAndContinueWorkspaceServiceFactory(
     IDiagnosticAnalyzerService diagnosticService,
     EditAndContinueDiagnosticUpdateSource diagnosticUpdateSource,
     [Import(AllowDefault = true)] IActiveStatementProvider activeStatementProvider,
     [Import(AllowDefault = true)] IDebuggeeModuleMetadataProvider debugeeModuleMetadataProvider)
 {
     _diagnosticService                = diagnosticService;
     _diagnosticUpdateSource           = diagnosticUpdateSource;
     _activeStatementProviderOpt       = activeStatementProvider;
     _debugeeModuleMetadataProviderOpt = debugeeModuleMetadataProvider;
 }
 internal EditAndContinueWorkspaceService(
     Workspace workspace,
     IDiagnosticAnalyzerService diagnosticService,
     EditAndContinueDiagnosticUpdateSource diagnosticUpdateSource,
     IDebuggeeModuleMetadataProvider debugeeModuleMetadataProvider,
     Func <Project, CompilationOutputs>?testCompilationOutputsProvider = null,
     Action <DebuggingSessionTelemetry.Data>?testReportTelemetry       = null)
 {
     _workspace                     = workspace;
     _diagnosticService             = diagnosticService;
     _emitDiagnosticsUpdateSource   = diagnosticUpdateSource;
     _debugeeModuleMetadataProvider = debugeeModuleMetadataProvider;
     _debuggingSessionTelemetry     = new DebuggingSessionTelemetry();
     _editSessionTelemetry          = new EditSessionTelemetry();
     _documentsWithReportedDiagnosticsDuringRunMode = new HashSet <DocumentId>();
     _compilationOutputsProvider = testCompilationOutputsProvider ?? GetCompilationOutputs;
     _reportTelemetry            = testReportTelemetry ?? ReportTelemetry;
 }
 internal EditAndContinueWorkspaceService(
     Workspace workspace,
     IActiveStatementTrackingService activeStatementTrackingService,
     ICompilationOutputsProviderService compilationOutputsProvider,
     IDiagnosticAnalyzerService diagnosticService,
     EditAndContinueDiagnosticUpdateSource diagnosticUpdateSource,
     IActiveStatementProvider activeStatementProvider,
     IDebuggeeModuleMetadataProvider debugeeModuleMetadataProvider,
     Action <DebuggingSessionTelemetry.Data>?reportTelemetry = null)
 {
     _workspace                     = workspace;
     _diagnosticService             = diagnosticService;
     _emitDiagnosticsUpdateSource   = diagnosticUpdateSource;
     _activeStatementProvider       = activeStatementProvider;
     _debugeeModuleMetadataProvider = debugeeModuleMetadataProvider;
     _trackingService               = activeStatementTrackingService;
     _debuggingSessionTelemetry     = new DebuggingSessionTelemetry();
     _editSessionTelemetry          = new EditSessionTelemetry();
     _documentsWithReportedDiagnosticsDuringRunMode = new HashSet <DocumentId>();
     _compilationOutputsProvider = compilationOutputsProvider;
     _reportTelemetry            = reportTelemetry ?? ReportTelemetry;
 }