@zzzen/pyright-internal 1.2.0-dev.20250309 → 1.2.0-dev.20250316
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.
- package/dist/analyzer/binder.js +1 -1
- package/dist/analyzer/binder.js.map +1 -1
- package/dist/analyzer/declaration.d.ts +1 -1
- package/dist/analyzer/declaration.js.map +1 -1
- package/dist/analyzer/operations.js +10 -2
- package/dist/analyzer/operations.js.map +1 -1
- package/dist/analyzer/service.d.ts +2 -0
- package/dist/analyzer/service.js +15 -3
- package/dist/analyzer/service.js.map +1 -1
- package/dist/analyzer/typeEvaluator.js +84 -49
- package/dist/analyzer/typeEvaluator.js.map +1 -1
- package/dist/analyzer/typeEvaluatorTypes.d.ts +1 -0
- package/dist/analyzer/typeEvaluatorTypes.js.map +1 -1
- package/dist/languageServerBase.d.ts +7 -3
- package/dist/languageServerBase.js +124 -2
- package/dist/languageServerBase.js.map +1 -1
- package/dist/pyright.js +9 -3
- package/dist/pyright.js.map +1 -1
- package/dist/tests/languageServer.test.js +97 -57
- package/dist/tests/languageServer.test.js.map +1 -1
- package/dist/tests/lsp/customLsp.d.ts +8 -1
- package/dist/tests/lsp/customLsp.js +1 -0
- package/dist/tests/lsp/customLsp.js.map +1 -1
- package/dist/tests/lsp/languageServer.js +12 -0
- package/dist/tests/lsp/languageServer.js.map +1 -1
- package/dist/tests/lsp/languageServerTestUtils.d.ts +7 -3
- package/dist/tests/lsp/languageServerTestUtils.js +90 -6
- package/dist/tests/lsp/languageServerTestUtils.js.map +1 -1
- package/dist/tests/typeEvaluator1.test.js +1 -1
- package/dist/types.d.ts +6 -2
- package/package.json +1 -1
@@ -142,6 +142,7 @@ export interface ArgBase {
|
|
142
142
|
typeResult?: TypeResult | undefined;
|
143
143
|
valueExpression?: ExpressionNode | undefined;
|
144
144
|
active?: boolean | undefined;
|
145
|
+
enforceIterable?: boolean | undefined;
|
145
146
|
}
|
146
147
|
export interface ArgWithType extends ArgBase {
|
147
148
|
typeResult: TypeResult;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"typeEvaluatorTypes.js","sourceRoot":"","sources":["../../../../../src/analyzer/typeEvaluatorTypes.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;;AAgDH,gEAAgE;AAChE,kDAAkD;AACrC,QAAA,0BAA0B,GAAG,EAAE,CAAC;AAE7C,2EAA2E;AAC3E,4EAA4E;AAC5E,yBAAyB;AACZ,QAAA,yBAAyB,GAAG,CAAC,CAAC;AAE3C,IAAkB,SA0IjB;AA1ID,WAAkB,SAAS;IACvB,yCAAQ,CAAA;IAER,uDAAuD;IACvD,yEAA6B,CAAA;IAE7B,0DAA0D;IAC1D,gEAAgE;IAChE,SAAS;IACT,yDAAqB,CAAA;IAErB,yDAAyD;IACzD,uDAAoB,CAAA;IAEpB,kCAAkC;IAClC,iEAAyB,CAAA;IAEzB,0CAA0C;IAC1C,gDAAgB,CAAA;IAEhB,6CAA6C;IAC7C,wDAAoB,CAAA;IAEpB,gDAAgD;IAChD,8DAAuB,CAAA;IAEvB,2DAA2D;IAC3D,4BAA4B;IAC5B,mEAAyB,CAAA;IAEzB,kEAAkE;IAClE,gEAAgE;IAChE,qBAAqB;IACrB,+DAAuB,CAAA;IAEvB,qEAAqE;IACrE,2EAA6B,CAAA;IAE7B,2DAA2D;IAC3D,gDAAgD;IAChD,4DAAsB,CAAA;IAEtB,8DAA8D;IAC9D,0BAA0B;IAC1B,4EAA8B,CAAA;IAE9B,oEAAoE;IACpE,0BAA0B;IAC1B,wFAAoC,CAAA;IAEpC,yDAAyD;IACzD,2DAA2D;IAC3D,mCAAmC;IACnC,0EAA6B,CAAA;IAE7B,yDAAyD;IACzD,6DAA6D;IAC7D,uDAAuD;IACvD,yFAAoC,CAAA;IAEpC,oDAAoD;IACpD,uEAA2B,CAAA;IAE3B,wDAAwD;IACxD,+DAAuB,CAAA;IAEvB,6CAA6C;IAC7C,0DAAoB,CAAA;IAEpB,mEAAmE;IACnE,kEAAwB,CAAA;IAExB,iEAAiE;IACjE,iCAAiC;IACjC,wDAAmB,CAAA;IAEnB,wDAAwD;IACxD,iEAAuB,CAAA;IAEvB,uCAAuC;IACvC,iEAAuB,CAAA;IAEvB,uDAAuD;IACvD,2EAA4B,CAAA;IAE5B,yCAAyC;IACzC,mFAAgC,CAAA;IAEhC,6DAA6D;IAC7D,2DAA2D;IAC3D,oDAAoD;IACpD,8EAA6B,CAAA;IAE7B,8DAA8D;IAC9D,iDAAiD;IACjD,gFAA8B,CAAA;IAE9B,oEAAoE;IACpE,mBAAmB;IACnB,kFAA+B,CAAA;IAE/B,6CAA6C;IAC7C,yEAA0B,CAAA;IAE1B,2EAA2E;IAC3E,4BAA4B;IAC5B,6EAA4B,CAAA;IAE5B,sEAAsE;IACtE,+DAA+D;IAC/D,mEAAuB,CAAA;IAEvB,yEAAyE;IACzE,+BAA+B;IAC/B,gEAAqB,CAAA;IAErB,yEAAyE;IACzE,8CAA8C;IAC9C,2FAAkC,CAAA;IAElC,6DAA6D;IAC7D,iEAA+B,CAAA;IAE/B,sEAAsE;IACtE,mEAAgC,CAAA;IAEhC,sEAAsE;IACtE,iFAAuC,CAAA;IAEvC,sEAAsE;IACtE,wBAAwB;IACxB,mFAMiB,CAAA;AACrB,CAAC,EA1IiB,SAAS,yBAAT,SAAS,QA0I1B;
|
1
|
+
{"version":3,"file":"typeEvaluatorTypes.js","sourceRoot":"","sources":["../../../../../src/analyzer/typeEvaluatorTypes.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
|
-
|
76
|
-
|
76
|
+
usingPullDiagnostics: false,
|
77
|
+
requiresPullRelatedInformationCapability: false,
|
77
78
|
};
|
78
79
|
this.openFileMap = new Map();
|
79
80
|
// The URIs for which diagnostics are reported
|
@@ -137,6 +138,12 @@ class LanguageServerBase {
|
|
137
138
|
libraryReanalysisTimeProvider,
|
138
139
|
serviceId,
|
139
140
|
fileSystem: services?.fs ?? this.serverOptions.serviceProvider.fs(),
|
141
|
+
usingPullDiagnostics: this.client.usingPullDiagnostics,
|
142
|
+
onInvalidated: (reason) => {
|
143
|
+
if (this.client.usingPullDiagnostics) {
|
144
|
+
this.connection.sendRequest(vscode_languageserver_1.DiagnosticRefreshRequest.type);
|
145
|
+
}
|
146
|
+
},
|
140
147
|
});
|
141
148
|
service.setCompletionCallback((results) => this.onAnalysisCompletedHandler(service.fs, results));
|
142
149
|
return service;
|
@@ -270,6 +277,8 @@ class LanguageServerBase {
|
|
270
277
|
this.connection.onDidChangeTextDocument(async (params) => this.onDidChangeTextDocument(params));
|
271
278
|
this.connection.onDidCloseTextDocument(async (params) => this.onDidCloseTextDocument(params));
|
272
279
|
this.connection.onDidChangeWatchedFiles((params) => this.onDidChangeWatchedFiles(params));
|
280
|
+
this.connection.languages.diagnostics.on(async (params, token) => this.onDiagnostics(params, token));
|
281
|
+
this.connection.languages.diagnostics.onWorkspace(async (params, token) => this.onWorkspaceDiagnostics(params, token));
|
273
282
|
this.connection.onExecuteCommand(async (params, token, reporter) => this.onExecuteCommand(params, token, reporter));
|
274
283
|
this.connection.onShutdown(async (token) => this.onShutdown(token));
|
275
284
|
}
|
@@ -277,6 +286,7 @@ class LanguageServerBase {
|
|
277
286
|
if (params.locale) {
|
278
287
|
(0, localize_1.setLocaleOverride)(params.locale);
|
279
288
|
}
|
289
|
+
const initializationOptions = (params.initializationOptions ?? {});
|
280
290
|
const capabilities = params.capabilities;
|
281
291
|
this.client.hasConfigurationCapability = !!capabilities.workspace?.configuration;
|
282
292
|
this.client.hasWatchFileCapability = !!capabilities.workspace?.didChangeWatchedFiles?.dynamicRegistration;
|
@@ -310,6 +320,14 @@ class LanguageServerBase {
|
|
310
320
|
this.client.hasGoToDeclarationCapability = !!capabilities.textDocument?.declaration;
|
311
321
|
this.client.completionItemResolveSupportsAdditionalTextEdits =
|
312
322
|
!!capabilities.textDocument?.completion?.completionItem?.resolveSupport?.properties.some((p) => p === 'additionalTextEdits');
|
323
|
+
this.client.usingPullDiagnostics =
|
324
|
+
!!capabilities.textDocument?.diagnostic?.dynamicRegistration &&
|
325
|
+
initializationOptions?.diagnosticMode !== 'workspace' &&
|
326
|
+
initializationOptions?.disablePullDiagnostics !== true;
|
327
|
+
this.client.requiresPullRelatedInformationCapability =
|
328
|
+
!!capabilities.textDocument?.diagnostic?.relatedInformation &&
|
329
|
+
initializationOptions?.diagnosticMode !== 'workspace' &&
|
330
|
+
initializationOptions?.disablePullDiagnostics !== true;
|
313
331
|
// Create a service instance for each of the workspace folders.
|
314
332
|
this.workspaceFactory.handleInitialize(params);
|
315
333
|
if (this.client.hasWatchFileCapability) {
|
@@ -358,6 +376,14 @@ class LanguageServerBase {
|
|
358
376
|
},
|
359
377
|
},
|
360
378
|
};
|
379
|
+
if (this.client.usingPullDiagnostics) {
|
380
|
+
result.capabilities.diagnosticProvider = {
|
381
|
+
identifier: 'pyright',
|
382
|
+
documentSelector: null,
|
383
|
+
interFileDependencies: true,
|
384
|
+
workspaceDiagnostics: false, // Workspace wide are not pull diagnostics.
|
385
|
+
};
|
386
|
+
}
|
361
387
|
return result;
|
362
388
|
}
|
363
389
|
onInitialized() {
|
@@ -634,6 +660,79 @@ class LanguageServerBase {
|
|
634
660
|
});
|
635
661
|
this.openFileMap.delete(uri.key);
|
636
662
|
}
|
663
|
+
async onDiagnostics(params, token) {
|
664
|
+
const uri = this.convertLspUriStringToUri(params.textDocument.uri);
|
665
|
+
const workspace = await this.getWorkspaceForFile(uri);
|
666
|
+
let sourceFile = workspace.service.getSourceFile(uri);
|
667
|
+
let diagnosticsVersion = sourceFile?.isCheckingRequired()
|
668
|
+
? UncomputedDiagnosticsVersion
|
669
|
+
: sourceFile?.getDiagnosticVersion() ?? UncomputedDiagnosticsVersion;
|
670
|
+
const result = {
|
671
|
+
kind: 'full',
|
672
|
+
resultId: sourceFile?.getDiagnosticVersion()?.toString(),
|
673
|
+
items: [],
|
674
|
+
};
|
675
|
+
if (workspace.disableLanguageServices ||
|
676
|
+
!(0, navigationUtils_1.canNavigateToFile)(workspace.service.fs, uri) ||
|
677
|
+
token.isCancellationRequested) {
|
678
|
+
return result;
|
679
|
+
}
|
680
|
+
// Reanalyze the file if it's not up to date.
|
681
|
+
if (params.previousResultId !== diagnosticsVersion.toString() && sourceFile) {
|
682
|
+
let diagnosticsVersionAfter = UncomputedDiagnosticsVersion - 1; // Just has to be different
|
683
|
+
let serverDiagnostics = [];
|
684
|
+
// Loop until we analyze the same version that we started with.
|
685
|
+
while (diagnosticsVersion !== diagnosticsVersionAfter && !token.isCancellationRequested && sourceFile) {
|
686
|
+
// Reset the version we're analyzing
|
687
|
+
sourceFile = workspace.service.getSourceFile(uri);
|
688
|
+
diagnosticsVersion = sourceFile?.getDiagnosticVersion() ?? UncomputedDiagnosticsVersion;
|
689
|
+
// Then reanalyze the file (this should go to the background thread so this thread can handle other requests).
|
690
|
+
if (sourceFile) {
|
691
|
+
await workspace.service.analyzeFile(uri, token);
|
692
|
+
}
|
693
|
+
// Then pick up the diagnostics created.
|
694
|
+
serverDiagnostics = sourceFile
|
695
|
+
? await workspace.service.getDiagnosticsForRange(uri, sourceFile.getRange(), token)
|
696
|
+
: [];
|
697
|
+
// If any text edits came in, make sure we reanalyze the file. Diagnostics version should be reset to zero
|
698
|
+
// if a text edit comes in.
|
699
|
+
const sourceFileAfter = workspace.service.getSourceFile(uri);
|
700
|
+
diagnosticsVersionAfter = sourceFileAfter?.getDiagnosticVersion() ?? UncomputedDiagnosticsVersion;
|
701
|
+
}
|
702
|
+
// Then convert the diagnostics to the LSP format.
|
703
|
+
const lspDiagnostics = this._convertDiagnostics(workspace.service.fs, serverDiagnostics).filter((d) => d !== undefined);
|
704
|
+
result.resultId =
|
705
|
+
diagnosticsVersionAfter === UncomputedDiagnosticsVersion
|
706
|
+
? undefined
|
707
|
+
: diagnosticsVersionAfter.toString();
|
708
|
+
result.items = lspDiagnostics;
|
709
|
+
}
|
710
|
+
else {
|
711
|
+
result.kind = 'unchanged';
|
712
|
+
result.resultId =
|
713
|
+
diagnosticsVersion === UncomputedDiagnosticsVersion ? undefined : diagnosticsVersion.toString();
|
714
|
+
delete result.items;
|
715
|
+
}
|
716
|
+
return result;
|
717
|
+
}
|
718
|
+
async onWorkspaceDiagnostics(params, token) {
|
719
|
+
const workspaces = await this.getWorkspaces();
|
720
|
+
const promises = [];
|
721
|
+
workspaces.forEach((workspace) => {
|
722
|
+
if (!workspace.disableLanguageServices) {
|
723
|
+
const files = workspace.service.getOwnedFiles();
|
724
|
+
files.forEach((file) => {
|
725
|
+
const sourceFile = workspace.service.getSourceFile(file);
|
726
|
+
if ((0, navigationUtils_1.canNavigateToFile)(workspace.service.fs, sourceFile.getUri())) {
|
727
|
+
promises.push(this._getWorkspaceDocumentDiagnostics(params, sourceFile, workspace, token));
|
728
|
+
}
|
729
|
+
});
|
730
|
+
}
|
731
|
+
});
|
732
|
+
return {
|
733
|
+
items: await Promise.all(promises),
|
734
|
+
};
|
735
|
+
}
|
637
736
|
onDidChangeWatchedFiles(params) {
|
638
737
|
params.changes.forEach((change) => {
|
639
738
|
const filePath = this.fs.realCasePath(this.convertLspUriStringToUri(change.uri));
|
@@ -709,6 +808,10 @@ class LanguageServerBase {
|
|
709
808
|
return rule;
|
710
809
|
}
|
711
810
|
onAnalysisCompletedHandler(fs, results) {
|
811
|
+
// If we're in pull mode, disregard any 'tracking' results. They're not necessary.
|
812
|
+
if (this.client.usingPullDiagnostics && results.reason === 'tracking') {
|
813
|
+
return;
|
814
|
+
}
|
712
815
|
// Send the computed diagnostics to the client.
|
713
816
|
results.diagnostics.forEach((fileDiag) => {
|
714
817
|
if (!this.canNavigateToFile(fileDiag.fileUri, fs)) {
|
@@ -840,6 +943,25 @@ class LanguageServerBase {
|
|
840
943
|
}
|
841
944
|
return vscode_languageserver_1.MarkupKind.PlainText;
|
842
945
|
}
|
946
|
+
async _getWorkspaceDocumentDiagnostics(params, sourceFile, workspace, token) {
|
947
|
+
const originalUri = workspace.service.fs.getOriginalUri(sourceFile.getUri());
|
948
|
+
const result = {
|
949
|
+
uri: originalUri.toString(),
|
950
|
+
version: sourceFile.getClientVersion() ?? null,
|
951
|
+
kind: 'full',
|
952
|
+
items: [],
|
953
|
+
};
|
954
|
+
const previousId = params.previousResultIds.find((x) => x.uri === originalUri.toString());
|
955
|
+
const documentResult = await this.onDiagnostics({ previousResultId: previousId?.value, textDocument: { uri: result.uri } }, token);
|
956
|
+
if (documentResult.kind === 'full') {
|
957
|
+
result.items = documentResult.items;
|
958
|
+
}
|
959
|
+
else {
|
960
|
+
result.kind = documentResult.kind;
|
961
|
+
delete result.items;
|
962
|
+
}
|
963
|
+
return result;
|
964
|
+
}
|
843
965
|
_convertDiagnostics(fs, diags) {
|
844
966
|
const convertedDiags = [];
|
845
967
|
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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"}
|
package/dist/pyright.js
CHANGED
@@ -347,8 +347,11 @@ async function runSingleThreaded(args, options, service, minSeverityLevel, outpu
|
|
347
347
|
}
|
348
348
|
let errorCount = 0;
|
349
349
|
if (!args.createstub && !args.verifytypes) {
|
350
|
+
// Sort all file diagnostics by the file URI so
|
351
|
+
// we have a deterministic ordering.
|
352
|
+
const fileDiagnostics = results.diagnostics.sort((a, b) => a.fileUri.toString() < b.fileUri.toString() ? -1 : 1);
|
350
353
|
if (args.outputjson) {
|
351
|
-
const report = reportDiagnosticsAsJson(
|
354
|
+
const report = reportDiagnosticsAsJson(fileDiagnostics, minSeverityLevel, results.filesInProgram, results.elapsedTime);
|
352
355
|
errorCount += report.errorCount;
|
353
356
|
if (treatWarningsAsErrors) {
|
354
357
|
errorCount += report.warningCount;
|
@@ -356,7 +359,7 @@ async function runSingleThreaded(args, options, service, minSeverityLevel, outpu
|
|
356
359
|
}
|
357
360
|
else {
|
358
361
|
printVersion(output);
|
359
|
-
const report = reportDiagnosticsAsText(
|
362
|
+
const report = reportDiagnosticsAsText(fileDiagnostics, minSeverityLevel);
|
360
363
|
errorCount += report.errorCount;
|
361
364
|
if (treatWarningsAsErrors) {
|
362
365
|
errorCount += report.warningCount;
|
@@ -440,7 +443,7 @@ async function runMultiThreaded(args, options, maxThreadCount, service, minSever
|
|
440
443
|
}
|
441
444
|
output.info(`Found ${sourceFilesToAnalyze.length} files to analyze`);
|
442
445
|
output.info(`Using ${workerCount} threads`);
|
443
|
-
|
446
|
+
let fileDiagnostics = [];
|
444
447
|
let pendingAnalysisCount = 0;
|
445
448
|
const sendMessageToWorker = (worker, message, data) => {
|
446
449
|
worker.send(JSON.stringify({ action: message, data: data }));
|
@@ -471,6 +474,9 @@ async function runMultiThreaded(args, options, maxThreadCount, service, minSever
|
|
471
474
|
if (!exitStatus.resolved) {
|
472
475
|
const elapsedTime = (Date.now() - startTime) / 1000;
|
473
476
|
let errorCount = 0;
|
477
|
+
// Sort all file diagnostics by the file URI so
|
478
|
+
// we have a deterministic ordering.
|
479
|
+
fileDiagnostics = fileDiagnostics.sort((a, b) => a.fileUri.toString() < b.fileUri.toString() ? -1 : 1);
|
474
480
|
if (args.outputjson) {
|
475
481
|
const report = reportDiagnosticsAsJson(fileDiagnostics, minSeverityLevel, sourceFilesToAnalyze.length, elapsedTime);
|
476
482
|
errorCount += report.errorCount;
|