@zzzen/pyright-internal 1.2.0-dev.20230305 → 1.2.0-dev.20230319

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (157) hide show
  1. package/dist/analyzer/backgroundAnalysisProgram.d.ts +1 -1
  2. package/dist/analyzer/backgroundAnalysisProgram.js +1 -1
  3. package/dist/analyzer/backgroundAnalysisProgram.js.map +1 -1
  4. package/dist/analyzer/binder.js +23 -3
  5. package/dist/analyzer/binder.js.map +1 -1
  6. package/dist/analyzer/cacheManager.d.ts +4 -0
  7. package/dist/analyzer/cacheManager.js +13 -0
  8. package/dist/analyzer/cacheManager.js.map +1 -1
  9. package/dist/analyzer/checker.d.ts +2 -1
  10. package/dist/analyzer/checker.js +73 -29
  11. package/dist/analyzer/checker.js.map +1 -1
  12. package/dist/analyzer/codeFlowEngine.js +17 -11
  13. package/dist/analyzer/codeFlowEngine.js.map +1 -1
  14. package/dist/analyzer/commentUtils.js +11 -1
  15. package/dist/analyzer/commentUtils.js.map +1 -1
  16. package/dist/analyzer/constructorTransform.d.ts +1 -0
  17. package/dist/analyzer/constructorTransform.js +19 -2
  18. package/dist/analyzer/constructorTransform.js.map +1 -1
  19. package/dist/analyzer/packageTypeVerifier.js +40 -40
  20. package/dist/analyzer/packageTypeVerifier.js.map +1 -1
  21. package/dist/analyzer/patternMatching.js +13 -11
  22. package/dist/analyzer/patternMatching.js.map +1 -1
  23. package/dist/analyzer/program.d.ts +1 -1
  24. package/dist/analyzer/program.js +21 -19
  25. package/dist/analyzer/program.js.map +1 -1
  26. package/dist/analyzer/properties.js +0 -1
  27. package/dist/analyzer/properties.js.map +1 -1
  28. package/dist/analyzer/service.d.ts +2 -1
  29. package/dist/analyzer/service.js +9 -3
  30. package/dist/analyzer/service.js.map +1 -1
  31. package/dist/analyzer/sourceFile.d.ts +2 -2
  32. package/dist/analyzer/sourceFile.js +14 -3
  33. package/dist/analyzer/sourceFile.js.map +1 -1
  34. package/dist/analyzer/sourceFileInfoUtils.d.ts +1 -0
  35. package/dist/analyzer/sourceFileInfoUtils.js +17 -1
  36. package/dist/analyzer/sourceFileInfoUtils.js.map +1 -1
  37. package/dist/analyzer/typeEvaluator.js +195 -87
  38. package/dist/analyzer/typeEvaluator.js.map +1 -1
  39. package/dist/analyzer/typeEvaluatorTypes.d.ts +1 -2
  40. package/dist/analyzer/typeEvaluatorTypes.js +0 -3
  41. package/dist/analyzer/typeEvaluatorTypes.js.map +1 -1
  42. package/dist/analyzer/typePrinter.js +63 -55
  43. package/dist/analyzer/typePrinter.js.map +1 -1
  44. package/dist/analyzer/typeStubWriter.js +2 -0
  45. package/dist/analyzer/typeStubWriter.js.map +1 -1
  46. package/dist/analyzer/typeUtils.d.ts +1 -0
  47. package/dist/analyzer/typeUtils.js +29 -3
  48. package/dist/analyzer/typeUtils.js.map +1 -1
  49. package/dist/analyzer/typedDicts.d.ts +2 -1
  50. package/dist/analyzer/typedDicts.js +84 -40
  51. package/dist/analyzer/typedDicts.js.map +1 -1
  52. package/dist/analyzer/types.d.ts +5 -1
  53. package/dist/analyzer/types.js +11 -1
  54. package/dist/analyzer/types.js.map +1 -1
  55. package/dist/commands/dumpFileDebugInfoCommand.js +82 -4
  56. package/dist/commands/dumpFileDebugInfoCommand.js.map +1 -1
  57. package/dist/commands/quickActionCommand.js +2 -2
  58. package/dist/commands/quickActionCommand.js.map +1 -1
  59. package/dist/common/configOptions.d.ts +1 -0
  60. package/dist/common/configOptions.js +4 -0
  61. package/dist/common/configOptions.js.map +1 -1
  62. package/dist/common/console.d.ts +1 -0
  63. package/dist/common/console.js +19 -1
  64. package/dist/common/console.js.map +1 -1
  65. package/dist/common/diagnosticRules.d.ts +2 -1
  66. package/dist/common/diagnosticRules.js +1 -0
  67. package/dist/common/diagnosticRules.js.map +1 -1
  68. package/dist/common/extensibility.d.ts +2 -2
  69. package/dist/common/extensibility.js +25 -1
  70. package/dist/common/extensibility.js.map +1 -1
  71. package/dist/common/extensions.js +3 -1
  72. package/dist/common/extensions.js.map +1 -1
  73. package/dist/languageServerBase.d.ts +21 -46
  74. package/dist/languageServerBase.js +112 -152
  75. package/dist/languageServerBase.js.map +1 -1
  76. package/dist/languageService/analyzerServiceExecutor.d.ts +4 -3
  77. package/dist/languageService/analyzerServiceExecutor.js +9 -7
  78. package/dist/languageService/analyzerServiceExecutor.js.map +1 -1
  79. package/dist/languageService/codeActionProvider.d.ts +2 -2
  80. package/dist/languageService/codeActionProvider.js +4 -4
  81. package/dist/languageService/codeActionProvider.js.map +1 -1
  82. package/dist/languageService/completionProvider.d.ts +4 -2
  83. package/dist/languageService/completionProvider.js +209 -156
  84. package/dist/languageService/completionProvider.js.map +1 -1
  85. package/dist/languageService/definitionProvider.js +1 -1
  86. package/dist/languageService/definitionProvider.js.map +1 -1
  87. package/dist/languageService/documentSymbolCollector.d.ts +2 -1
  88. package/dist/languageService/documentSymbolCollector.js +23 -2
  89. package/dist/languageService/documentSymbolCollector.js.map +1 -1
  90. package/dist/languageService/hoverProvider.d.ts +2 -1
  91. package/dist/languageService/hoverProvider.js +21 -5
  92. package/dist/languageService/hoverProvider.js.map +1 -1
  93. package/dist/languageService/referencesProvider.d.ts +3 -2
  94. package/dist/languageService/referencesProvider.js +4 -4
  95. package/dist/languageService/referencesProvider.js.map +1 -1
  96. package/dist/languageService/renameModuleProvider.d.ts +1 -1
  97. package/dist/languageService/renameModuleProvider.js +8 -1
  98. package/dist/languageService/renameModuleProvider.js.map +1 -1
  99. package/dist/languageService/tooltipUtils.js +2 -1
  100. package/dist/languageService/tooltipUtils.js.map +1 -1
  101. package/dist/localization/localize.d.ts +17 -6
  102. package/dist/localization/localize.js +6 -4
  103. package/dist/localization/localize.js.map +1 -1
  104. package/dist/localization/package.nls.en-us.json +8 -6
  105. package/dist/parser/parser.js +24 -7
  106. package/dist/parser/parser.js.map +1 -1
  107. package/dist/parser/tokenizer.js +1 -1
  108. package/dist/server.d.ts +3 -2
  109. package/dist/server.js +1 -4
  110. package/dist/server.js.map +1 -1
  111. package/dist/tests/cacheManager.test.d.ts +1 -0
  112. package/dist/tests/cacheManager.test.js +69 -0
  113. package/dist/tests/cacheManager.test.js.map +1 -0
  114. package/dist/tests/checker.test.js +2 -2
  115. package/dist/tests/completions.test.js +445 -0
  116. package/dist/tests/completions.test.js.map +1 -1
  117. package/dist/tests/fourslash/completions.dictionary.keys.expression.fourslash.js +13 -3
  118. package/dist/tests/fourslash/completions.dictionary.keys.expression.fourslash.js.map +1 -1
  119. package/dist/tests/fourslash/completions.dictionary.keys.stringLiterals.fourslash.js +7 -2
  120. package/dist/tests/fourslash/completions.dictionary.keys.stringLiterals.fourslash.js.map +1 -1
  121. package/dist/tests/fourslash/missingTypeStub.command.trycatchImport.fourslash.d.ts +7 -0
  122. package/dist/tests/fourslash/missingTypeStub.command.trycatchImport.fourslash.js +45 -0
  123. package/dist/tests/fourslash/missingTypeStub.command.trycatchImport.fourslash.js.map +1 -0
  124. package/dist/tests/harness/fourslash/testLanguageService.d.ts +7 -6
  125. package/dist/tests/harness/fourslash/testLanguageService.js +14 -13
  126. package/dist/tests/harness/fourslash/testLanguageService.js.map +1 -1
  127. package/dist/tests/harness/fourslash/testState.d.ts +5 -4
  128. package/dist/tests/harness/fourslash/testState.js +14 -13
  129. package/dist/tests/harness/fourslash/testState.js.map +1 -1
  130. package/dist/tests/hoverProvider.test.js +1 -1
  131. package/dist/tests/hoverProvider.test.js.map +1 -1
  132. package/dist/tests/moveSymbol.misc.test.js +27 -0
  133. package/dist/tests/moveSymbol.misc.test.js.map +1 -1
  134. package/dist/tests/service.test.js +4 -4
  135. package/dist/tests/service.test.js.map +1 -1
  136. package/dist/tests/signatureHelp.test.js +2 -2
  137. package/dist/tests/signatureHelp.test.js.map +1 -1
  138. package/dist/tests/sourceFile.test.js +3 -3
  139. package/dist/tests/sourceFile.test.js.map +1 -1
  140. package/dist/tests/typeEvaluator1.test.js +4 -0
  141. package/dist/tests/typeEvaluator1.test.js.map +1 -1
  142. package/dist/tests/typeEvaluator2.test.js +6 -2
  143. package/dist/tests/typeEvaluator2.test.js.map +1 -1
  144. package/dist/tests/typeEvaluator3.test.js +1 -1
  145. package/dist/tests/typeEvaluator4.test.js +5 -1
  146. package/dist/tests/typeEvaluator4.test.js.map +1 -1
  147. package/dist/tests/typeEvaluator5.test.js +12 -0
  148. package/dist/tests/typeEvaluator5.test.js.map +1 -1
  149. package/dist/tests/workspaceEditUtils.test.js +2 -2
  150. package/dist/tests/workspaceEditUtils.test.js.map +1 -1
  151. package/dist/workspaceFactory.d.ts +72 -0
  152. package/dist/workspaceFactory.js +421 -0
  153. package/dist/workspaceFactory.js.map +1 -0
  154. package/package.json +4 -4
  155. package/dist/workspaceMap.d.ts +0 -14
  156. package/dist/workspaceMap.js +0 -172
  157. package/dist/workspaceMap.js.map +0 -1
@@ -1,5 +1,5 @@
1
1
  import './common/extensions';
2
- import { CallHierarchyIncomingCallsParams, CallHierarchyItem, CallHierarchyOutgoingCall, CallHierarchyOutgoingCallsParams, CallHierarchyPrepareParams, CancellationToken, CodeAction, CodeActionParams, Command, CompletionItem, CompletionList, CompletionParams, Connection, Declaration, DeclarationLink, Definition, DefinitionLink, DidChangeConfigurationParams, DidChangeTextDocumentParams, DidChangeWatchedFilesParams, DidCloseTextDocumentParams, DidOpenTextDocumentParams, DocumentHighlight, DocumentHighlightParams, DocumentSymbol, DocumentSymbolParams, ExecuteCommandParams, HoverParams, InitializeParams, InitializeResult, Location, MarkupKind, PrepareRenameParams, PublishDiagnosticsParams, ReferenceParams, RemoteWindow, RenameParams, SignatureHelp, SignatureHelpParams, SymbolInformation, TextDocumentPositionParams, WorkDoneProgressReporter, WorkspaceEdit, WorkspaceFolder, WorkspaceSymbol, WorkspaceSymbolParams } from 'vscode-languageserver';
2
+ import { CallHierarchyIncomingCallsParams, CallHierarchyItem, CallHierarchyOutgoingCall, CallHierarchyOutgoingCallsParams, CallHierarchyPrepareParams, CancellationToken, CodeAction, CodeActionParams, Command, CompletionItem, CompletionList, CompletionParams, Connection, Declaration, DeclarationLink, Definition, DefinitionLink, DidChangeConfigurationParams, DidChangeTextDocumentParams, DidChangeWatchedFilesParams, DidCloseTextDocumentParams, DidOpenTextDocumentParams, DocumentHighlight, DocumentHighlightParams, DocumentSymbol, DocumentSymbolParams, ExecuteCommandParams, HoverParams, InitializeParams, InitializeResult, Location, MarkupKind, PrepareRenameParams, PublishDiagnosticsParams, ReferenceParams, RemoteWindow, RenameParams, SignatureHelp, SignatureHelpParams, SymbolInformation, TextDocumentPositionParams, WorkDoneProgressReporter, WorkspaceEdit, WorkspaceSymbol, WorkspaceSymbolParams } from 'vscode-languageserver';
3
3
  import { ResultProgressReporter } from 'vscode-languageserver/lib/common/progress';
4
4
  import { AnalysisResults } from './analyzer/analysis';
5
5
  import { BackgroundAnalysisProgram } from './analyzer/backgroundAnalysisProgram';
@@ -24,7 +24,7 @@ import { UriParser } from './common/uriParser';
24
24
  import { CompletionOptions, CompletionResultsList } from './languageService/completionProvider';
25
25
  import { DefinitionFilter } from './languageService/definitionProvider';
26
26
  import { PyrightFileSystem } from './pyrightFileSystem';
27
- import { WorkspaceMap } from './workspaceMap';
27
+ import { InitStatus, Workspace, WorkspaceFactory } from './workspaceFactory';
28
28
  export interface ServerSettings {
29
29
  venvPath?: string | undefined;
30
30
  pythonPath?: string | undefined;
@@ -52,34 +52,6 @@ export interface ServerSettings {
52
52
  taskListTokens?: TaskListToken[];
53
53
  functionSignatureDisplay?: SignatureDisplayType | undefined;
54
54
  }
55
- export declare enum WellKnownWorkspaceKinds {
56
- Default = "default",
57
- Regular = "regular",
58
- Limited = "limited",
59
- Cloned = "cloned",
60
- Test = "test"
61
- }
62
- export declare function createInitStatus(): InitStatus;
63
- export interface InitStatus {
64
- resolve(): void;
65
- reset(): InitStatus;
66
- markCalled(): void;
67
- promise: Promise<void>;
68
- resolved(): boolean;
69
- }
70
- export interface WorkspaceServiceInstance {
71
- workspaceName: string;
72
- rootPath: string;
73
- path: string;
74
- uri: string;
75
- kinds: string[];
76
- serviceInstance: AnalyzerService;
77
- disableLanguageServices: boolean;
78
- disableOrganizeImports: boolean;
79
- disableWorkspaceSymbol: boolean;
80
- isInitialized: InitStatus;
81
- searchPathsToWatch: string[];
82
- }
83
55
  export interface MessageAction {
84
56
  title: string;
85
57
  id: string;
@@ -93,8 +65,8 @@ export interface WindowInterface {
93
65
  showInformationMessage(message: string, ...actions: MessageAction[]): Promise<MessageAction | undefined>;
94
66
  }
95
67
  export interface LanguageServerInterface {
96
- getWorkspaceForFile(filePath: string): Promise<WorkspaceServiceInstance>;
97
- getSettings(workspace: WorkspaceServiceInstance): Promise<ServerSettings>;
68
+ getWorkspaceForFile(filePath: string): Promise<Workspace>;
69
+ getSettings(workspace: Workspace): Promise<ServerSettings>;
98
70
  createBackgroundAnalysis(serviceId: string): BackgroundAnalysisBase | undefined;
99
71
  reanalyze(): void;
100
72
  restart(): void;
@@ -108,7 +80,6 @@ export interface ServerOptions {
108
80
  productName: string;
109
81
  rootDirectory: string;
110
82
  version: string;
111
- workspaceMap: WorkspaceMap;
112
83
  cancellationProvider: CancellationProvider;
113
84
  fileSystem: FileSystem;
114
85
  fileWatcherHandler: FileWatcherHandler;
@@ -116,6 +87,7 @@ export interface ServerOptions {
116
87
  disableChecker?: boolean;
117
88
  supportedCommands?: string[];
118
89
  supportedCodeActions?: string[];
90
+ supportsTelemetry?: boolean;
119
91
  }
120
92
  export interface WorkspaceServices {
121
93
  fs: FileSystem;
@@ -149,13 +121,14 @@ export declare abstract class LanguageServerBase implements LanguageServerInterf
149
121
  protected _connection: Connection;
150
122
  readonly console: ConsoleInterface;
151
123
  protected _defaultClientConfig: any;
152
- protected _workspaceMap: WorkspaceMap;
124
+ protected _workspaceFactory: WorkspaceFactory;
153
125
  protected _cacheManager: CacheManager;
154
126
  private _pendingFindAllRefsCancellationSource;
155
127
  private _pendingCommandCancellationSource;
156
128
  private _progressReporter;
157
129
  private _lastTriggerKind;
158
130
  private _lastFileWatcherRegistration;
131
+ private _initialized;
159
132
  rootPath: string;
160
133
  protected client: ClientCapabilities;
161
134
  protected _serviceFS: PyrightFileSystem;
@@ -166,7 +139,8 @@ export declare abstract class LanguageServerBase implements LanguageServerInterf
166
139
  protected abstract executeCommand(params: ExecuteCommandParams, token: CancellationToken): Promise<any>;
167
140
  protected abstract isLongRunningCommand(command: string): boolean;
168
141
  protected abstract executeCodeAction(params: CodeActionParams, token: CancellationToken): Promise<(Command | CodeAction)[] | undefined | null>;
169
- abstract getSettings(workspace: WorkspaceServiceInstance): Promise<ServerSettings>;
142
+ abstract getSettings(workspace: Workspace): Promise<ServerSettings>;
143
+ protected isPythonPathImmutable(filePath: string): boolean;
170
144
  protected getConfiguration(scopeUri: string | undefined, section: string): Promise<any>;
171
145
  protected isOpenFilesOnly(diagnosticMode: string): boolean;
172
146
  protected get allowModuleRename(): boolean;
@@ -178,8 +152,9 @@ export declare abstract class LanguageServerBase implements LanguageServerInterf
178
152
  get window(): RemoteWindow;
179
153
  get supportAdvancedEdits(): boolean;
180
154
  createAnalyzerService(name: string, services?: WorkspaceServices, libraryReanalysisTimeProvider?: () => number): AnalyzerService;
181
- test_getWorkspaces(): Promise<WorkspaceServiceInstance[]>;
182
- getWorkspaceForFile(filePath: string): Promise<WorkspaceServiceInstance>;
155
+ test_getWorkspaces(): Promise<Workspace[]>;
156
+ getWorkspaceForFile(filePath: string, pythonPath?: string): Promise<Workspace>;
157
+ getContainingWorkspacesForFile(filePath: string): Promise<Workspace[]>;
183
158
  reanalyze(): void;
184
159
  restart(): void;
185
160
  protected setupConnection(supportedCommands: string[], supportedCodeActions: string[]): void;
@@ -190,11 +165,11 @@ export declare abstract class LanguageServerBase implements LanguageServerInterf
190
165
  protected onDefinition(params: TextDocumentPositionParams, token: CancellationToken): Promise<Definition | DefinitionLink[] | undefined | null>;
191
166
  protected onDeclaration(params: TextDocumentPositionParams, token: CancellationToken): Promise<Declaration | DeclarationLink[] | undefined | null>;
192
167
  protected onTypeDefinition(params: TextDocumentPositionParams, token: CancellationToken): Promise<Definition | DefinitionLink[] | undefined | null>;
193
- protected getDefinitions(params: TextDocumentPositionParams, token: CancellationToken, filter: DefinitionFilter, getDefinitionsFunc: (workspace: WorkspaceServiceInstance, filePath: string, position: Position, filter: DefinitionFilter, token: CancellationToken) => DocumentRange[] | undefined): Promise<Location[] | undefined>;
168
+ protected getDefinitions(params: TextDocumentPositionParams, token: CancellationToken, filter: DefinitionFilter, getDefinitionsFunc: (workspace: Workspace, filePath: string, position: Position, filter: DefinitionFilter, token: CancellationToken) => DocumentRange[] | undefined): Promise<Location[] | undefined>;
194
169
  protected onReferences(params: ReferenceParams, token: CancellationToken, workDoneReporter: WorkDoneProgressReporter, resultReporter: ResultProgressReporter<Location[]> | undefined): Promise<Location[] | null | undefined>;
195
170
  protected onDocumentSymbol(params: DocumentSymbolParams, token: CancellationToken): Promise<DocumentSymbol[] | SymbolInformation[] | null | undefined>;
196
171
  protected onWorkspaceSymbol(params: WorkspaceSymbolParams, token: CancellationToken, resultReporter: ResultProgressReporter<SymbolInformation[]> | undefined): Promise<SymbolInformation[] | WorkspaceSymbol[] | null | undefined>;
197
- protected onHover(params: HoverParams, token: CancellationToken): Promise<import("vscode-languageserver").Hover | undefined>;
172
+ protected onHover(params: HoverParams, token: CancellationToken): Promise<import("vscode-languageserver-types").Hover | undefined>;
198
173
  protected onDocumentHighlight(params: DocumentHighlightParams, token: CancellationToken): Promise<DocumentHighlight[] | null | undefined>;
199
174
  protected onSignatureHelp(params: SignatureHelpParams, token: CancellationToken): Promise<SignatureHelp | undefined | null>;
200
175
  protected onCompletion(params: CompletionParams, token: CancellationToken): Promise<CompletionList | undefined>;
@@ -213,16 +188,16 @@ export declare abstract class LanguageServerBase implements LanguageServerInterf
213
188
  protected onDidChangeWatchedFiles(params: DidChangeWatchedFilesParams): void;
214
189
  protected onExecuteCommand(params: ExecuteCommandParams, token: CancellationToken, reporter: WorkDoneProgressReporter): Promise<any>;
215
190
  protected onShutdown(token: CancellationToken): Promise<void>;
216
- protected resolveWorkspaceCompletionItem(workspace: WorkspaceServiceInstance, filePath: string, item: CompletionItem, token: CancellationToken): void;
217
- protected getWorkspaceCompletionsForPosition(workspace: WorkspaceServiceInstance, filePath: string, position: Position, options: CompletionOptions, token: CancellationToken): Promise<CompletionResultsList | undefined>;
191
+ protected resolveWorkspaceCompletionItem(workspace: Workspace, filePath: string, item: CompletionItem, token: CancellationToken): void;
192
+ protected getWorkspaceCompletionsForPosition(workspace: Workspace, filePath: string, position: Position, options: CompletionOptions, token: CancellationToken): Promise<CompletionResultsList | undefined>;
218
193
  updateSettingsForAllWorkspaces(): void;
219
- protected getCompletionOptions(workspace: WorkspaceServiceInstance, params?: CompletionParams): CompletionOptions;
220
- protected createWorkspaceServiceInstance(workspaceFolder: WorkspaceFolder | undefined, rootPath: string, path: string, kinds?: string[], services?: WorkspaceServices): WorkspaceServiceInstance;
194
+ protected getCompletionOptions(workspace: Workspace, params?: CompletionParams): CompletionOptions;
221
195
  protected convertDiagnostics(fs: FileSystem, fileDiagnostics: FileDiagnostics): PublishDiagnosticsParams[];
222
196
  protected onAnalysisCompletedHandler(fs: FileSystem, results: AnalysisResults): void;
223
- updateSettingsForWorkspace(workspace: WorkspaceServiceInstance, status: InitStatus | undefined, serverSettings?: ServerSettings): Promise<void>;
224
- updateOptionsAndRestartService(workspace: WorkspaceServiceInstance, serverSettings: ServerSettings, typeStubTargetImportName?: string): void;
225
- protected convertLogLevel(logLevelValue?: string): LogLevel;
197
+ updateSettingsForWorkspace(workspace: Workspace, status: InitStatus | undefined, serverSettings?: ServerSettings): Promise<void>;
198
+ updateOptionsAndRestartService(workspace: Workspace, serverSettings: ServerSettings, typeStubTargetImportName?: string): void;
199
+ protected onWorkspaceCreated(workspace: Workspace): void;
200
+ protected createAnalyzerServiceForWorkspace(name: string, _rootPath: string, _uri: string, kinds: string[], services?: WorkspaceServices): AnalyzerService;
226
201
  private _sendDiagnostics;
227
202
  private _getCompatibleMarkupKind;
228
203
  private _getProgressReporter;