@zzzen/pyright-internal 1.2.0-dev.20250309 → 1.2.0-dev.20250323

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 (107) hide show
  1. package/dist/analyzer/analyzerFileInfo.d.ts +1 -0
  2. package/dist/analyzer/analyzerFileInfo.js.map +1 -1
  3. package/dist/analyzer/binder.js +21 -13
  4. package/dist/analyzer/binder.js.map +1 -1
  5. package/dist/analyzer/checker.d.ts +3 -0
  6. package/dist/analyzer/checker.js +58 -9
  7. package/dist/analyzer/checker.js.map +1 -1
  8. package/dist/analyzer/codeFlowTypes.d.ts +2 -2
  9. package/dist/analyzer/codeFlowTypes.js +9 -0
  10. package/dist/analyzer/codeFlowTypes.js.map +1 -1
  11. package/dist/analyzer/constructorTransform.js +1 -1
  12. package/dist/analyzer/constructorTransform.js.map +1 -1
  13. package/dist/analyzer/constructors.js +7 -1
  14. package/dist/analyzer/constructors.js.map +1 -1
  15. package/dist/analyzer/declaration.d.ts +1 -1
  16. package/dist/analyzer/declaration.js.map +1 -1
  17. package/dist/analyzer/importResolver.d.ts +2 -0
  18. package/dist/analyzer/importResolver.js +29 -6
  19. package/dist/analyzer/importResolver.js.map +1 -1
  20. package/dist/analyzer/importResult.d.ts +1 -0
  21. package/dist/analyzer/operations.js +10 -2
  22. package/dist/analyzer/operations.js.map +1 -1
  23. package/dist/analyzer/parameterUtils.d.ts +15 -0
  24. package/dist/analyzer/parameterUtils.js +59 -1
  25. package/dist/analyzer/parameterUtils.js.map +1 -1
  26. package/dist/analyzer/parseTreeUtils.d.ts +2 -0
  27. package/dist/analyzer/parseTreeUtils.js +19 -0
  28. package/dist/analyzer/parseTreeUtils.js.map +1 -1
  29. package/dist/analyzer/program.js +17 -4
  30. package/dist/analyzer/program.js.map +1 -1
  31. package/dist/analyzer/programTypes.d.ts +2 -2
  32. package/dist/analyzer/programTypes.js.map +1 -1
  33. package/dist/analyzer/service.d.ts +3 -3
  34. package/dist/analyzer/service.js +16 -6
  35. package/dist/analyzer/service.js.map +1 -1
  36. package/dist/analyzer/sourceFile.d.ts +2 -1
  37. package/dist/analyzer/sourceFile.js +3 -1
  38. package/dist/analyzer/sourceFile.js.map +1 -1
  39. package/dist/analyzer/typeEvaluator.js +236 -245
  40. package/dist/analyzer/typeEvaluator.js.map +1 -1
  41. package/dist/analyzer/typeEvaluatorTypes.d.ts +3 -1
  42. package/dist/analyzer/typeEvaluatorTypes.js.map +1 -1
  43. package/dist/analyzer/typeUtils.js +8 -7
  44. package/dist/analyzer/typeUtils.js.map +1 -1
  45. package/dist/analyzer/typeWalker.js +1 -1
  46. package/dist/analyzer/typeWalker.js.map +1 -1
  47. package/dist/analyzer/types.d.ts +6 -5
  48. package/dist/analyzer/types.js +15 -23
  49. package/dist/analyzer/types.js.map +1 -1
  50. package/dist/common/cancellationUtils.d.ts +3 -0
  51. package/dist/common/cancellationUtils.js +8 -1
  52. package/dist/common/cancellationUtils.js.map +1 -1
  53. package/dist/common/languageServerInterface.d.ts +0 -2
  54. package/dist/common/languageServerInterface.js.map +1 -1
  55. package/dist/common/serviceKeys.d.ts +2 -0
  56. package/dist/common/serviceKeys.js +1 -0
  57. package/dist/common/serviceKeys.js.map +1 -1
  58. package/dist/common/serviceProviderExtensions.d.ts +2 -0
  59. package/dist/common/serviceProviderExtensions.js +9 -2
  60. package/dist/common/serviceProviderExtensions.js.map +1 -1
  61. package/dist/languageServerBase.d.ts +7 -3
  62. package/dist/languageServerBase.js +126 -5
  63. package/dist/languageServerBase.js.map +1 -1
  64. package/dist/languageService/tooltipUtils.js +2 -2
  65. package/dist/languageService/tooltipUtils.js.map +1 -1
  66. package/dist/localization/package.nls.cs.json +1 -1
  67. package/dist/localization/package.nls.de.json +1 -1
  68. package/dist/localization/package.nls.es.json +1 -1
  69. package/dist/localization/package.nls.fr.json +1 -1
  70. package/dist/localization/package.nls.it.json +1 -1
  71. package/dist/localization/package.nls.ja.json +1 -1
  72. package/dist/localization/package.nls.ko.json +1 -1
  73. package/dist/localization/package.nls.pl.json +1 -1
  74. package/dist/localization/package.nls.pt-br.json +1 -1
  75. package/dist/localization/package.nls.ru.json +1 -1
  76. package/dist/localization/package.nls.tr.json +1 -1
  77. package/dist/localization/package.nls.zh-cn.json +1 -1
  78. package/dist/localization/package.nls.zh-tw.json +1 -1
  79. package/dist/pyright.js +9 -3
  80. package/dist/pyright.js.map +1 -1
  81. package/dist/readonlyAugmentedFileSystem.js +4 -0
  82. package/dist/readonlyAugmentedFileSystem.js.map +1 -1
  83. package/dist/server.js +1 -2
  84. package/dist/server.js.map +1 -1
  85. package/dist/tests/checker.test.js +11 -0
  86. package/dist/tests/checker.test.js.map +1 -1
  87. package/dist/tests/fourslash/import.pytyped.privateSymbols.fourslash.js +18 -0
  88. package/dist/tests/fourslash/import.pytyped.privateSymbols.fourslash.js.map +1 -1
  89. package/dist/tests/languageServer.test.js +97 -57
  90. package/dist/tests/languageServer.test.js.map +1 -1
  91. package/dist/tests/lsp/customLsp.d.ts +8 -1
  92. package/dist/tests/lsp/customLsp.js +1 -0
  93. package/dist/tests/lsp/customLsp.js.map +1 -1
  94. package/dist/tests/lsp/languageServer.js +12 -0
  95. package/dist/tests/lsp/languageServer.js.map +1 -1
  96. package/dist/tests/lsp/languageServerTestUtils.d.ts +7 -3
  97. package/dist/tests/lsp/languageServerTestUtils.js +90 -6
  98. package/dist/tests/lsp/languageServerTestUtils.js.map +1 -1
  99. package/dist/tests/sourceFile.test.js +5 -4
  100. package/dist/tests/sourceFile.test.js.map +1 -1
  101. package/dist/tests/typeEvaluator1.test.js +6 -2
  102. package/dist/tests/typeEvaluator1.test.js.map +1 -1
  103. package/dist/tests/typeEvaluator4.test.js +1 -1
  104. package/dist/tests/typeEvaluator5.test.js +1 -1
  105. package/dist/tests/typeEvaluator6.test.js +1 -1
  106. package/dist/types.d.ts +6 -2
  107. package/package.json +1 -1
@@ -1,6 +1,7 @@
1
1
  import { CacheManager } from '../analyzer/cacheManager';
2
2
  import { ISourceFileFactory } from '../analyzer/programTypes';
3
3
  import { SupportPartialStubs } from '../partialStubService';
4
+ import { CancellationProvider } from './cancellationUtils';
4
5
  import { CaseSensitivityDetector } from './caseSensitivityDetector';
5
6
  import { ConsoleInterface } from './console';
6
7
  import { DocStringService } from './docStringService';
@@ -23,4 +24,5 @@ export declare namespace ServiceKeys {
23
24
  const docStringService: ServiceKey<DocStringService>;
24
25
  const windowService: ServiceKey<WindowService>;
25
26
  const commandService: ServiceKey<CommandService>;
27
+ const cancellationProvider: ServiceKey<CancellationProvider>;
26
28
  }
@@ -25,5 +25,6 @@ var ServiceKeys;
25
25
  ServiceKeys.docStringService = new serviceProvider_1.ServiceKey();
26
26
  ServiceKeys.windowService = new serviceProvider_1.ServiceKey();
27
27
  ServiceKeys.commandService = new serviceProvider_1.ServiceKey();
28
+ ServiceKeys.cancellationProvider = new serviceProvider_1.ServiceKey();
28
29
  })(ServiceKeys || (exports.ServiceKeys = ServiceKeys = {}));
29
30
  //# sourceMappingURL=serviceKeys.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"serviceKeys.js","sourceRoot":"","sources":["../../../../../src/common/serviceKeys.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;AAgBH,uDAAgE;AAEhE,IAAiB,WAAW,CAe3B;AAfD,WAAiB,WAAW;IACX,cAAE,GAAG,IAAI,4BAAU,EAAc,CAAC;IAClC,mBAAO,GAAG,IAAI,4BAAU,EAAoB,CAAC;IAC7C,6BAAiB,GAAG,IAAI,4BAAU,EAAsB,CAAC;IACzD,wBAAY,GAAG,IAAI,4BAAU,EAAuB,CAAC;IACrD,oCAAwB,GAAG,IAAI,iCAAe,EAA4B,CAAC;IAC3E,sCAA0B,GAAG,IAAI,iCAAe,EAA8B,CAAC;IAC/E,kCAAsB,GAAG,IAAI,iCAAe,EAA0B,CAAC;IACvE,oBAAQ,GAAG,IAAI,4BAAU,EAAY,CAAC;IACtC,wBAAY,GAAG,IAAI,4BAAU,EAAgB,CAAC;IAC9C,8BAAkB,GAAG,IAAI,4BAAU,EAAsB,CAAC;IAC1D,mCAAuB,GAAG,IAAI,4BAAU,EAA2B,CAAC;IACpE,4BAAgB,GAAG,IAAI,4BAAU,EAAoB,CAAC;IACtD,yBAAa,GAAG,IAAI,4BAAU,EAAiB,CAAC;IAChD,0BAAc,GAAG,IAAI,4BAAU,EAAkB,CAAC;AACnE,CAAC,EAfgB,WAAW,2BAAX,WAAW,QAe3B"}
1
+ {"version":3,"file":"serviceKeys.js","sourceRoot":"","sources":["../../../../../src/common/serviceKeys.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;AAiBH,uDAAgE;AAEhE,IAAiB,WAAW,CAgB3B;AAhBD,WAAiB,WAAW;IACX,cAAE,GAAG,IAAI,4BAAU,EAAc,CAAC;IAClC,mBAAO,GAAG,IAAI,4BAAU,EAAoB,CAAC;IAC7C,6BAAiB,GAAG,IAAI,4BAAU,EAAsB,CAAC;IACzD,wBAAY,GAAG,IAAI,4BAAU,EAAuB,CAAC;IACrD,oCAAwB,GAAG,IAAI,iCAAe,EAA4B,CAAC;IAC3E,sCAA0B,GAAG,IAAI,iCAAe,EAA8B,CAAC;IAC/E,kCAAsB,GAAG,IAAI,iCAAe,EAA0B,CAAC;IACvE,oBAAQ,GAAG,IAAI,4BAAU,EAAY,CAAC;IACtC,wBAAY,GAAG,IAAI,4BAAU,EAAgB,CAAC;IAC9C,8BAAkB,GAAG,IAAI,4BAAU,EAAsB,CAAC;IAC1D,mCAAuB,GAAG,IAAI,4BAAU,EAA2B,CAAC;IACpE,4BAAgB,GAAG,IAAI,4BAAU,EAAoB,CAAC;IACtD,yBAAa,GAAG,IAAI,4BAAU,EAAiB,CAAC;IAChD,0BAAc,GAAG,IAAI,4BAAU,EAAkB,CAAC;IAClD,gCAAoB,GAAG,IAAI,4BAAU,EAAwB,CAAC;AAC/E,CAAC,EAhBgB,WAAW,2BAAX,WAAW,QAgB3B"}
@@ -1,6 +1,7 @@
1
1
  import { CacheManager } from '../analyzer/cacheManager';
2
2
  import { ISourceFileFactory } from '../analyzer/programTypes';
3
3
  import { SupportPartialStubs } from '../partialStubService';
4
+ import { CancellationProvider } from './cancellationUtils';
4
5
  import { ConsoleInterface } from './console';
5
6
  import { DocStringService } from './docStringService';
6
7
  import { FileSystem, TempFile } from './fileSystem';
@@ -9,6 +10,7 @@ declare module './serviceProvider' {
9
10
  interface ServiceProvider {
10
11
  fs(): FileSystem;
11
12
  console(): ConsoleInterface;
13
+ cancellationProvider(): CancellationProvider;
12
14
  tmp(): TempFile | undefined;
13
15
  sourceFileFactory(): ISourceFileFactory;
14
16
  partialStubs(): SupportPartialStubs;
@@ -12,6 +12,7 @@ const cacheManager_1 = require("../analyzer/cacheManager");
12
12
  const programTypes_1 = require("../analyzer/programTypes");
13
13
  const sourceFile_1 = require("../analyzer/sourceFile");
14
14
  const partialStubService_1 = require("../partialStubService");
15
+ const cancellationUtils_1 = require("./cancellationUtils");
15
16
  const caseSensitivityDetector_1 = require("./caseSensitivityDetector");
16
17
  const console_1 = require("./console");
17
18
  const docStringService_1 = require("./docStringService");
@@ -53,6 +54,9 @@ function createServiceProvider(...services) {
53
54
  if (languageServerInterface_1.CommandService.is(service)) {
54
55
  sp.add(serviceKeys_1.ServiceKeys.commandService, service);
55
56
  }
57
+ if (cancellationUtils_1.CancellationProvider.is(service)) {
58
+ sp.add(serviceKeys_1.ServiceKeys.cancellationProvider, service);
59
+ }
56
60
  });
57
61
  return sp;
58
62
  }
@@ -72,6 +76,9 @@ serviceProvider_1.ServiceProvider.prototype.partialStubs = function () {
72
76
  serviceProvider_1.ServiceProvider.prototype.tmp = function () {
73
77
  return this.tryGet(serviceKeys_1.ServiceKeys.tempFile);
74
78
  };
79
+ serviceProvider_1.ServiceProvider.prototype.cancellationProvider = function () {
80
+ return this.tryGet(serviceKeys_1.ServiceKeys.cancellationProvider) ?? new cancellationUtils_1.DefaultCancellationProvider();
81
+ };
75
82
  serviceProvider_1.ServiceProvider.prototype.sourceFileFactory = function () {
76
83
  const result = this.tryGet(serviceKeys_1.ServiceKeys.sourceFileFactory);
77
84
  return result || DefaultSourceFileFactory;
@@ -85,8 +92,8 @@ serviceProvider_1.ServiceProvider.prototype.cacheManager = function () {
85
92
  return result;
86
93
  };
87
94
  const DefaultSourceFileFactory = {
88
- createSourceFile(serviceProvider, fileUri, moduleName, isThirdPartyImport, isThirdPartyPyTypedPresent, editMode, console, logTracker, ipythonMode) {
89
- return new sourceFile_1.SourceFile(serviceProvider, fileUri, moduleName, isThirdPartyImport, isThirdPartyPyTypedPresent, editMode, console, logTracker, ipythonMode);
95
+ createSourceFile(serviceProvider, fileUri, moduleName, isThirdPartyImport, isThirdPartyPyTypedPresent, isModulePrivate, editMode, console, logTracker, ipythonMode) {
96
+ return new sourceFile_1.SourceFile(serviceProvider, fileUri, moduleName, isThirdPartyImport, isThirdPartyPyTypedPresent, isModulePrivate, editMode, console, logTracker, ipythonMode);
90
97
  },
91
98
  };
92
99
  //# sourceMappingURL=serviceProviderExtensions.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"serviceProviderExtensions.js","sourceRoot":"","sources":["../../../../../src/common/serviceProviderExtensions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"serviceProviderExtensions.js","sourceRoot":"","sources":["../../../../../src/common/serviceProviderExtensions.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,5 @@
1
1
  import './common/extensions';
2
- import { AbstractCancellationTokenSource, CallHierarchyIncomingCallsParams, CallHierarchyItem, CallHierarchyOutgoingCall, CallHierarchyOutgoingCallsParams, CallHierarchyPrepareParams, CancellationToken, CodeAction, CodeActionParams, Command, CompletionItem, CompletionList, CompletionParams, Connection, Declaration, DeclarationLink, Definition, DefinitionLink, DidChangeConfigurationParams, DidChangeTextDocumentParams, DidChangeWatchedFilesParams, DidCloseTextDocumentParams, DidOpenTextDocumentParams, Disposable, DocumentHighlight, DocumentHighlightParams, DocumentSymbol, DocumentSymbolParams, ExecuteCommandParams, HoverParams, InitializeParams, InitializeResult, Location, PrepareRenameParams, PublishDiagnosticsParams, ReferenceParams, RemoteWindow, RenameParams, SignatureHelp, SignatureHelpParams, SymbolInformation, TextDocumentPositionParams, WorkDoneProgressReporter, WorkspaceEdit, WorkspaceFoldersChangeEvent, WorkspaceSymbol, WorkspaceSymbolParams } from 'vscode-languageserver';
3
- import { ResultProgressReporter } from 'vscode-languageserver';
2
+ import { AbstractCancellationTokenSource, CallHierarchyIncomingCallsParams, CallHierarchyItem, CallHierarchyOutgoingCall, CallHierarchyOutgoingCallsParams, CallHierarchyPrepareParams, CancellationToken, CodeAction, CodeActionParams, Command, CompletionItem, CompletionList, CompletionParams, Connection, Declaration, DeclarationLink, Definition, DefinitionLink, DidChangeConfigurationParams, DidChangeTextDocumentParams, DidChangeWatchedFilesParams, DidCloseTextDocumentParams, DidOpenTextDocumentParams, Disposable, DocumentDiagnosticParams, DocumentHighlight, DocumentHighlightParams, DocumentSymbol, DocumentSymbolParams, ExecuteCommandParams, HoverParams, InitializeParams, InitializeResult, Location, PrepareRenameParams, PublishDiagnosticsParams, ReferenceParams, RemoteWindow, RenameParams, ResultProgressReporter, SignatureHelp, SignatureHelpParams, SymbolInformation, TextDocumentPositionParams, WorkDoneProgressReporter, WorkspaceDiagnosticParams, WorkspaceDocumentDiagnosticReport, WorkspaceEdit, WorkspaceFoldersChangeEvent, WorkspaceSymbol, WorkspaceSymbolParams } from 'vscode-languageserver';
4
3
  import { TextDocument } from 'vscode-languageserver-textdocument';
5
4
  import { AnalysisResults } from './analyzer/analysis';
6
5
  import { BackgroundAnalysisProgram } from './analyzer/backgroundAnalysisProgram';
@@ -27,8 +26,8 @@ import { DefinitionFilter } from './languageService/definitionProvider';
27
26
  import { CollectionResult } from './languageService/documentSymbolCollector';
28
27
  import { DynamicFeature, DynamicFeatures } from './languageService/dynamicFeature';
29
28
  import { ParseFileResults } from './parser/parser';
30
- import { InitStatus, Workspace, WorkspaceFactory } from './workspaceFactory';
31
29
  import { ClientCapabilities } from './types';
30
+ import { InitStatus, Workspace, WorkspaceFactory } from './workspaceFactory';
32
31
  export declare abstract class LanguageServerBase implements LanguageServerInterface, Disposable {
33
32
  protected serverOptions: ServerOptions;
34
33
  protected connection: Connection;
@@ -103,6 +102,10 @@ export declare abstract class LanguageServerBase implements LanguageServerInterf
103
102
  protected onDidOpenTextDocument(params: DidOpenTextDocumentParams, ipythonMode?: IPythonMode): Promise<void>;
104
103
  protected onDidChangeTextDocument(params: DidChangeTextDocumentParams, ipythonMode?: IPythonMode): Promise<void>;
105
104
  protected onDidCloseTextDocument(params: DidCloseTextDocumentParams): Promise<void>;
105
+ protected onDiagnostics(params: DocumentDiagnosticParams, token: CancellationToken): Promise<import("vscode-languageserver").RelatedFullDocumentDiagnosticReport>;
106
+ protected onWorkspaceDiagnostics(params: WorkspaceDiagnosticParams, token: CancellationToken): Promise<{
107
+ items: WorkspaceDocumentDiagnosticReport[];
108
+ }>;
106
109
  protected onDidChangeWatchedFiles(params: DidChangeWatchedFilesParams): void;
107
110
  protected onExecuteCommand(params: ExecuteCommandParams, token: CancellationToken, reporter: WorkDoneProgressReporter): Promise<any>;
108
111
  protected onShutdown(token: CancellationToken): Promise<void>;
@@ -125,5 +128,6 @@ export declare abstract class LanguageServerBase implements LanguageServerInterf
125
128
  protected convertLspUriStringToUri(uri: string): Uri;
126
129
  protected addDynamicFeature(feature: DynamicFeature): void;
127
130
  private _getCompatibleMarkupKind;
131
+ private _getWorkspaceDocumentDiagnostics;
128
132
  private _convertDiagnostics;
129
133
  }
@@ -44,6 +44,7 @@ const signatureHelpProvider_1 = require("./languageService/signatureHelpProvider
44
44
  const workspaceSymbolProvider_1 = require("./languageService/workspaceSymbolProvider");
45
45
  const localize_1 = require("./localization/localize");
46
46
  const workspaceFactory_1 = require("./workspaceFactory");
47
+ const UncomputedDiagnosticsVersion = -1;
47
48
  class LanguageServerBase {
48
49
  constructor(serverOptions, connection) {
49
50
  this.serverOptions = serverOptions;
@@ -72,8 +73,8 @@ class LanguageServerBase {
72
73
  supportsUnnecessaryDiagnosticTag: false,
73
74
  supportsTaskItemDiagnosticTag: false,
74
75
  completionItemResolveSupportsAdditionalTextEdits: false,
75
- hasPullDiagnosticsCapability: false,
76
- hasPullRelatedInformationCapability: false,
76
+ usingPullDiagnostics: false,
77
+ requiresPullRelatedInformationCapability: false,
77
78
  };
78
79
  this.openFileMap = new Map();
79
80
  // The URIs for which diagnostics are reported
@@ -133,10 +134,15 @@ class LanguageServerBase {
133
134
  : this.createBackgroundAnalysis(serviceId, workspaceRoot),
134
135
  maxAnalysisTime: this.serverOptions.maxAnalysisTimeInForeground,
135
136
  backgroundAnalysisProgramFactory: this.createBackgroundAnalysisProgram.bind(this),
136
- cancellationProvider: this.serverOptions.cancellationProvider,
137
137
  libraryReanalysisTimeProvider,
138
138
  serviceId,
139
139
  fileSystem: services?.fs ?? this.serverOptions.serviceProvider.fs(),
140
+ usingPullDiagnostics: this.client.usingPullDiagnostics,
141
+ onInvalidated: (reason) => {
142
+ if (this.client.usingPullDiagnostics) {
143
+ this.connection.sendRequest(vscode_languageserver_1.DiagnosticRefreshRequest.type);
144
+ }
145
+ },
140
146
  });
141
147
  service.setCompletionCallback((results) => this.onAnalysisCompletedHandler(service.fs, results));
142
148
  return service;
@@ -270,6 +276,8 @@ class LanguageServerBase {
270
276
  this.connection.onDidChangeTextDocument(async (params) => this.onDidChangeTextDocument(params));
271
277
  this.connection.onDidCloseTextDocument(async (params) => this.onDidCloseTextDocument(params));
272
278
  this.connection.onDidChangeWatchedFiles((params) => this.onDidChangeWatchedFiles(params));
279
+ this.connection.languages.diagnostics.on(async (params, token) => this.onDiagnostics(params, token));
280
+ this.connection.languages.diagnostics.onWorkspace(async (params, token) => this.onWorkspaceDiagnostics(params, token));
273
281
  this.connection.onExecuteCommand(async (params, token, reporter) => this.onExecuteCommand(params, token, reporter));
274
282
  this.connection.onShutdown(async (token) => this.onShutdown(token));
275
283
  }
@@ -277,6 +285,7 @@ class LanguageServerBase {
277
285
  if (params.locale) {
278
286
  (0, localize_1.setLocaleOverride)(params.locale);
279
287
  }
288
+ const initializationOptions = (params.initializationOptions ?? {});
280
289
  const capabilities = params.capabilities;
281
290
  this.client.hasConfigurationCapability = !!capabilities.workspace?.configuration;
282
291
  this.client.hasWatchFileCapability = !!capabilities.workspace?.didChangeWatchedFiles?.dynamicRegistration;
@@ -310,6 +319,14 @@ class LanguageServerBase {
310
319
  this.client.hasGoToDeclarationCapability = !!capabilities.textDocument?.declaration;
311
320
  this.client.completionItemResolveSupportsAdditionalTextEdits =
312
321
  !!capabilities.textDocument?.completion?.completionItem?.resolveSupport?.properties.some((p) => p === 'additionalTextEdits');
322
+ this.client.usingPullDiagnostics =
323
+ !!capabilities.textDocument?.diagnostic?.dynamicRegistration &&
324
+ initializationOptions?.diagnosticMode !== 'workspace' &&
325
+ initializationOptions?.disablePullDiagnostics !== true;
326
+ this.client.requiresPullRelatedInformationCapability =
327
+ !!capabilities.textDocument?.diagnostic?.relatedInformation &&
328
+ initializationOptions?.diagnosticMode !== 'workspace' &&
329
+ initializationOptions?.disablePullDiagnostics !== true;
313
330
  // Create a service instance for each of the workspace folders.
314
331
  this.workspaceFactory.handleInitialize(params);
315
332
  if (this.client.hasWatchFileCapability) {
@@ -358,6 +375,14 @@ class LanguageServerBase {
358
375
  },
359
376
  },
360
377
  };
378
+ if (this.client.usingPullDiagnostics) {
379
+ result.capabilities.diagnosticProvider = {
380
+ identifier: 'pyright',
381
+ documentSelector: null,
382
+ interFileDependencies: true,
383
+ workspaceDiagnostics: false, // Workspace wide are not pull diagnostics.
384
+ };
385
+ }
361
386
  return result;
362
387
  }
363
388
  onInitialized() {
@@ -634,6 +659,79 @@ class LanguageServerBase {
634
659
  });
635
660
  this.openFileMap.delete(uri.key);
636
661
  }
662
+ async onDiagnostics(params, token) {
663
+ const uri = this.convertLspUriStringToUri(params.textDocument.uri);
664
+ const workspace = await this.getWorkspaceForFile(uri);
665
+ let sourceFile = workspace.service.getSourceFile(uri);
666
+ let diagnosticsVersion = sourceFile?.isCheckingRequired()
667
+ ? UncomputedDiagnosticsVersion
668
+ : sourceFile?.getDiagnosticVersion() ?? UncomputedDiagnosticsVersion;
669
+ const result = {
670
+ kind: 'full',
671
+ resultId: sourceFile?.getDiagnosticVersion()?.toString(),
672
+ items: [],
673
+ };
674
+ if (workspace.disableLanguageServices ||
675
+ !(0, navigationUtils_1.canNavigateToFile)(workspace.service.fs, uri) ||
676
+ token.isCancellationRequested) {
677
+ return result;
678
+ }
679
+ // Reanalyze the file if it's not up to date.
680
+ if (params.previousResultId !== diagnosticsVersion.toString() && sourceFile) {
681
+ let diagnosticsVersionAfter = UncomputedDiagnosticsVersion - 1; // Just has to be different
682
+ let serverDiagnostics = [];
683
+ // Loop until we analyze the same version that we started with.
684
+ while (diagnosticsVersion !== diagnosticsVersionAfter && !token.isCancellationRequested && sourceFile) {
685
+ // Reset the version we're analyzing
686
+ sourceFile = workspace.service.getSourceFile(uri);
687
+ diagnosticsVersion = sourceFile?.getDiagnosticVersion() ?? UncomputedDiagnosticsVersion;
688
+ // Then reanalyze the file (this should go to the background thread so this thread can handle other requests).
689
+ if (sourceFile) {
690
+ await workspace.service.analyzeFile(uri, token);
691
+ }
692
+ // Then pick up the diagnostics created.
693
+ serverDiagnostics = sourceFile
694
+ ? await workspace.service.getDiagnosticsForRange(uri, sourceFile.getRange(), token)
695
+ : [];
696
+ // If any text edits came in, make sure we reanalyze the file. Diagnostics version should be reset to zero
697
+ // if a text edit comes in.
698
+ const sourceFileAfter = workspace.service.getSourceFile(uri);
699
+ diagnosticsVersionAfter = sourceFileAfter?.getDiagnosticVersion() ?? UncomputedDiagnosticsVersion;
700
+ }
701
+ // Then convert the diagnostics to the LSP format.
702
+ const lspDiagnostics = this._convertDiagnostics(workspace.service.fs, serverDiagnostics).filter((d) => d !== undefined);
703
+ result.resultId =
704
+ diagnosticsVersionAfter === UncomputedDiagnosticsVersion
705
+ ? undefined
706
+ : diagnosticsVersionAfter.toString();
707
+ result.items = lspDiagnostics;
708
+ }
709
+ else {
710
+ result.kind = 'unchanged';
711
+ result.resultId =
712
+ diagnosticsVersion === UncomputedDiagnosticsVersion ? undefined : diagnosticsVersion.toString();
713
+ delete result.items;
714
+ }
715
+ return result;
716
+ }
717
+ async onWorkspaceDiagnostics(params, token) {
718
+ const workspaces = await this.getWorkspaces();
719
+ const promises = [];
720
+ workspaces.forEach((workspace) => {
721
+ if (!workspace.disableLanguageServices) {
722
+ const files = workspace.service.getOwnedFiles();
723
+ files.forEach((file) => {
724
+ const sourceFile = workspace.service.getSourceFile(file);
725
+ if ((0, navigationUtils_1.canNavigateToFile)(workspace.service.fs, sourceFile.getUri())) {
726
+ promises.push(this._getWorkspaceDocumentDiagnostics(params, sourceFile, workspace, token));
727
+ }
728
+ });
729
+ }
730
+ });
731
+ return {
732
+ items: await Promise.all(promises),
733
+ };
734
+ }
637
735
  onDidChangeWatchedFiles(params) {
638
736
  params.changes.forEach((change) => {
639
737
  const filePath = this.fs.realCasePath(this.convertLspUriStringToUri(change.uri));
@@ -709,6 +807,10 @@ class LanguageServerBase {
709
807
  return rule;
710
808
  }
711
809
  onAnalysisCompletedHandler(fs, results) {
810
+ // If we're in pull mode, disregard any 'tracking' results. They're not necessary.
811
+ if (this.client.usingPullDiagnostics && results.reason === 'tracking') {
812
+ return;
813
+ }
712
814
  // Send the computed diagnostics to the client.
713
815
  results.diagnostics.forEach((fileDiag) => {
714
816
  if (!this.canNavigateToFile(fileDiag.fileUri, fs)) {
@@ -802,7 +904,7 @@ class LanguageServerBase {
802
904
  // created by the LSP library. If it's the latter, we'll create a server-initiated
803
905
  // progress reporter.
804
906
  if (!(0, lspUtils_1.isNullProgressReporter)(reporter)) {
805
- return { reporter: reporter, source: (0, cancellationUtils_1.CancelAfter)(this.serverOptions.cancellationProvider, token) };
907
+ return { reporter: reporter, source: (0, cancellationUtils_1.CancelAfter)(this.serviceProvider.cancellationProvider(), token) };
806
908
  }
807
909
  const serverInitiatedReporter = await this.connection.window.createWorkDoneProgress();
808
910
  serverInitiatedReporter.begin(title,
@@ -811,7 +913,7 @@ class LanguageServerBase {
811
913
  /* cancellable */ true);
812
914
  return {
813
915
  reporter: serverInitiatedReporter,
814
- source: (0, cancellationUtils_1.CancelAfter)(this.serverOptions.cancellationProvider, token, serverInitiatedReporter.token),
916
+ source: (0, cancellationUtils_1.CancelAfter)(this.serviceProvider.cancellationProvider(), token, serverInitiatedReporter.token),
815
917
  };
816
918
  }
817
919
  sendDiagnostics(params) {
@@ -840,6 +942,25 @@ class LanguageServerBase {
840
942
  }
841
943
  return vscode_languageserver_1.MarkupKind.PlainText;
842
944
  }
945
+ async _getWorkspaceDocumentDiagnostics(params, sourceFile, workspace, token) {
946
+ const originalUri = workspace.service.fs.getOriginalUri(sourceFile.getUri());
947
+ const result = {
948
+ uri: originalUri.toString(),
949
+ version: sourceFile.getClientVersion() ?? null,
950
+ kind: 'full',
951
+ items: [],
952
+ };
953
+ const previousId = params.previousResultIds.find((x) => x.uri === originalUri.toString());
954
+ const documentResult = await this.onDiagnostics({ previousResultId: previousId?.value, textDocument: { uri: result.uri } }, token);
955
+ if (documentResult.kind === 'full') {
956
+ result.items = documentResult.items;
957
+ }
958
+ else {
959
+ result.kind = documentResult.kind;
960
+ delete result.items;
961
+ }
962
+ return result;
963
+ }
843
964
  _convertDiagnostics(fs, diags) {
844
965
  const convertedDiags = [];
845
966
  diags.forEach((diag) => {
@@ -1 +1 @@
1
- {"version":3,"file":"languageServerBase.js","sourceRoot":"","sources":["../../../../src/languageServerBase.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"languageServerBase.js","sourceRoot":"","sources":["../../../../src/languageServerBase.ts"],"names":[],"mappings":"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"}
@@ -60,8 +60,8 @@ function getToolTipForType(type, label, name, evaluator, isProperty, functionSig
60
60
  const callMethodResult = (0, constructors_1.getBoundCallMethod)(evaluator, typeNode, type);
61
61
  if (callMethodResult?.type.category === 4 /* TypeCategory.Function */ ||
62
62
  callMethodResult?.type.category === 5 /* TypeCategory.Overloaded */) {
63
- // narrow down specific overload if possible
64
- const methodType = bindFunctionToClassOrObjectToolTip(evaluator, typeNode, type, callMethodResult.type);
63
+ // Eliminate overloads that are not applicable.
64
+ const methodType = limitOverloadBasedOnCall(evaluator, callMethodResult.type, typeNode);
65
65
  if (methodType) {
66
66
  type = methodType;
67
67
  }
@@ -1 +1 @@
1
- {"version":3,"file":"tooltipUtils.js","sourceRoot":"","sources":["../../../../../src/languageService/tooltipUtils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tooltipUtils.js","sourceRoot":"","sources":["../../../../../src/languageService/tooltipUtils.ts"],"names":[],"mappings":"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"}