@zzzen/pyright-internal 1.2.0-dev.20240331 → 1.2.0-dev.20240407
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/analyzerFileInfo.d.ts +0 -1
- package/dist/analyzer/analyzerFileInfo.js.map +1 -1
- package/dist/analyzer/binder.js +11 -7
- package/dist/analyzer/binder.js.map +1 -1
- package/dist/analyzer/cacheManager.d.ts +11 -0
- package/dist/analyzer/cacheManager.js +59 -2
- package/dist/analyzer/cacheManager.js.map +1 -1
- package/dist/analyzer/checker.d.ts +2 -2
- package/dist/analyzer/checker.js +8 -8
- package/dist/analyzer/checker.js.map +1 -1
- package/dist/analyzer/codeFlowEngine.js +14 -2
- package/dist/analyzer/codeFlowEngine.js.map +1 -1
- package/dist/analyzer/codeFlowTypes.d.ts +1 -0
- package/dist/analyzer/codeFlowTypes.js.map +1 -1
- package/dist/analyzer/constraintSolver.js +20 -3
- package/dist/analyzer/constraintSolver.js.map +1 -1
- package/dist/analyzer/constructorTransform.js +2 -2
- package/dist/analyzer/constructorTransform.js.map +1 -1
- package/dist/analyzer/dataClasses.js +5 -6
- package/dist/analyzer/dataClasses.js.map +1 -1
- package/dist/analyzer/enums.js +7 -3
- package/dist/analyzer/enums.js.map +1 -1
- package/dist/analyzer/functionTransform.js +1 -1
- package/dist/analyzer/functionTransform.js.map +1 -1
- package/dist/analyzer/importStatementUtils.d.ts +6 -6
- package/dist/analyzer/importStatementUtils.js +42 -42
- package/dist/analyzer/importStatementUtils.js.map +1 -1
- package/dist/analyzer/namedTuples.js +1 -1
- package/dist/analyzer/namedTuples.js.map +1 -1
- package/dist/analyzer/packageTypeVerifier.js +6 -6
- package/dist/analyzer/packageTypeVerifier.js.map +1 -1
- package/dist/analyzer/parseTreeUtils.d.ts +6 -5
- package/dist/analyzer/parseTreeUtils.js +12 -13
- package/dist/analyzer/parseTreeUtils.js.map +1 -1
- package/dist/analyzer/patternMatching.js +1 -1
- package/dist/analyzer/patternMatching.js.map +1 -1
- package/dist/analyzer/program.d.ts +4 -3
- package/dist/analyzer/program.js +21 -12
- package/dist/analyzer/program.js.map +1 -1
- package/dist/analyzer/properties.js +10 -10
- package/dist/analyzer/properties.js.map +1 -1
- package/dist/analyzer/protocols.js +5 -5
- package/dist/analyzer/protocols.js.map +1 -1
- package/dist/analyzer/service.d.ts +3 -2
- package/dist/analyzer/service.js +7 -4
- package/dist/analyzer/service.js.map +1 -1
- package/dist/analyzer/sourceFile.d.ts +5 -3
- package/dist/analyzer/sourceFile.js +108 -71
- package/dist/analyzer/sourceFile.js.map +1 -1
- package/dist/analyzer/sourceFileInfoUtils.js +1 -1
- package/dist/analyzer/sourceMapper.js +6 -6
- package/dist/analyzer/symbol.d.ts +4 -1
- package/dist/analyzer/symbol.js +10 -0
- package/dist/analyzer/symbol.js.map +1 -1
- package/dist/analyzer/symbolUtils.d.ts +1 -0
- package/dist/analyzer/symbolUtils.js +11 -1
- package/dist/analyzer/symbolUtils.js.map +1 -1
- package/dist/analyzer/typeDocStringUtils.js +1 -1
- package/dist/analyzer/typeDocStringUtils.js.map +1 -1
- package/dist/analyzer/typeEvaluator.js +106 -49
- package/dist/analyzer/typeEvaluator.js.map +1 -1
- package/dist/analyzer/typeGuards.js +2 -2
- package/dist/analyzer/typeGuards.js.map +1 -1
- package/dist/analyzer/typeStubWriter.js +1 -1
- package/dist/analyzer/typeStubWriter.js.map +1 -1
- package/dist/analyzer/typeUtils.js +13 -16
- package/dist/analyzer/typeUtils.js.map +1 -1
- package/dist/analyzer/typedDicts.js +29 -20
- package/dist/analyzer/typedDicts.js.map +1 -1
- package/dist/analyzer/types.d.ts +5 -1
- package/dist/analyzer/types.js +20 -0
- package/dist/analyzer/types.js.map +1 -1
- package/dist/backgroundAnalysis.d.ts +1 -0
- package/dist/backgroundAnalysis.js +5 -1
- package/dist/backgroundAnalysis.js.map +1 -1
- package/dist/backgroundAnalysisBase.d.ts +2 -1
- package/dist/backgroundAnalysisBase.js +5 -0
- package/dist/backgroundAnalysisBase.js.map +1 -1
- package/dist/backgroundThreadBase.d.ts +1 -0
- package/dist/backgroundThreadBase.js +5 -1
- package/dist/backgroundThreadBase.js.map +1 -1
- package/dist/commands/dumpFileDebugInfoCommand.js +4 -4
- package/dist/commands/dumpFileDebugInfoCommand.js.map +1 -1
- package/dist/common/extensibility.d.ts +3 -2
- package/dist/common/extensibility.js.map +1 -1
- package/dist/common/serviceProviderExtensions.d.ts +2 -0
- package/dist/common/serviceProviderExtensions.js +4 -0
- package/dist/common/serviceProviderExtensions.js.map +1 -1
- package/dist/common/textEditTracker.d.ts +5 -5
- package/dist/common/textEditTracker.js +33 -33
- package/dist/common/textEditTracker.js.map +1 -1
- package/dist/common/workspaceEditUtils.js +2 -2
- package/dist/common/workspaceEditUtils.js.map +1 -1
- package/dist/languageServerBase.d.ts +4 -4
- package/dist/languageServerBase.js +1 -1
- package/dist/languageServerBase.js.map +1 -1
- package/dist/languageService/autoImporter.d.ts +3 -3
- package/dist/languageService/autoImporter.js +2 -1
- package/dist/languageService/autoImporter.js.map +1 -1
- package/dist/languageService/callHierarchyProvider.js +2 -2
- package/dist/languageService/callHierarchyProvider.js.map +1 -1
- package/dist/languageService/completionProvider.d.ts +2 -2
- package/dist/languageService/completionProvider.js +8 -9
- package/dist/languageService/completionProvider.js.map +1 -1
- package/dist/languageService/definitionProvider.js +1 -1
- package/dist/languageService/definitionProvider.js.map +1 -1
- package/dist/languageService/documentHighlightProvider.js +2 -2
- package/dist/languageService/documentHighlightProvider.js.map +1 -1
- package/dist/languageService/documentSymbolCollector.js +1 -1
- package/dist/languageService/documentSymbolCollector.js.map +1 -1
- package/dist/languageService/documentSymbolProvider.js +1 -1
- package/dist/languageService/documentSymbolProvider.js.map +1 -1
- package/dist/languageService/hoverProvider.js +2 -2
- package/dist/languageService/hoverProvider.js.map +1 -1
- package/dist/languageService/importSorter.d.ts +2 -2
- package/dist/languageService/importSorter.js +1 -1
- package/dist/languageService/importSorter.js.map +1 -1
- package/dist/languageService/referencesProvider.d.ts +4 -4
- package/dist/languageService/referencesProvider.js +2 -2
- package/dist/languageService/referencesProvider.js.map +1 -1
- package/dist/languageService/signatureHelpProvider.js +2 -2
- package/dist/languageService/signatureHelpProvider.js.map +1 -1
- package/dist/languageService/symbolIndexer.d.ts +2 -2
- package/dist/languageService/symbolIndexer.js +1 -1
- package/dist/languageService/symbolIndexer.js.map +1 -1
- package/dist/languageService/workspaceSymbolProvider.js +1 -1
- package/dist/languageService/workspaceSymbolProvider.js.map +1 -1
- package/dist/localization/localize.d.ts +3 -0
- package/dist/localization/localize.js +1 -0
- package/dist/localization/localize.js.map +1 -1
- package/dist/localization/package.nls.en-us.json +1 -0
- package/dist/nodeMain.d.ts +1 -1
- package/dist/nodeMain.js +2 -2
- package/dist/nodeMain.js.map +1 -1
- package/dist/parser/parser.d.ts +7 -4
- package/dist/parser/parser.js +7 -5
- package/dist/parser/parser.js.map +1 -1
- package/dist/server.d.ts +3 -3
- package/dist/server.js +3 -3
- package/dist/server.js.map +1 -1
- package/dist/tests/cacheManager.test.js +35 -0
- package/dist/tests/cacheManager.test.js.map +1 -1
- package/dist/tests/chainedSourceFiles.test.js +7 -7
- package/dist/tests/chainedSourceFiles.test.js.map +1 -1
- package/dist/tests/harness/fourslash/testState.d.ts +4 -4
- package/dist/tests/harness/fourslash/testState.js +6 -5
- package/dist/tests/harness/fourslash/testState.js.map +1 -1
- package/dist/tests/importStatementUtils.test.js +4 -4
- package/dist/tests/importStatementUtils.test.js.map +1 -1
- package/dist/tests/ipythonMode.test.js +1 -1
- package/dist/tests/ipythonMode.test.js.map +1 -1
- package/dist/tests/lsp/languageServer.js +1 -1
- package/dist/tests/lsp/languageServer.js.map +1 -1
- package/dist/tests/lsp/languageServerTestUtils.d.ts +1 -1
- package/dist/tests/parser.test.js +14 -14
- package/dist/tests/parser.test.js.map +1 -1
- package/dist/tests/signatureHelp.test.js +1 -1
- package/dist/tests/signatureHelp.test.js.map +1 -1
- package/dist/tests/testStateUtils.js +5 -3
- package/dist/tests/testStateUtils.js.map +1 -1
- package/dist/tests/testUtils.d.ts +4 -8
- package/dist/tests/testUtils.js +4 -7
- package/dist/tests/testUtils.js.map +1 -1
- package/dist/tests/textEditUtil.test.js +3 -3
- package/dist/tests/textEditUtil.test.js.map +1 -1
- package/dist/tests/typeEvaluator1.test.js +1 -1
- package/dist/tests/typeEvaluator1.test.js.map +1 -1
- package/dist/tests/typeEvaluator3.test.js +10 -4
- package/dist/tests/typeEvaluator3.test.js.map +1 -1
- package/package.json +1 -1
package/dist/server.d.ts
CHANGED
@@ -5,14 +5,14 @@ import { ConfigOptions } from './common/configOptions';
|
|
5
5
|
import { FileSystem } from './common/fileSystem';
|
6
6
|
import { FullAccessHost } from './common/fullAccessHost';
|
7
7
|
import { Host } from './common/host';
|
8
|
+
import { ServerSettings } from './common/languageServerInterface';
|
8
9
|
import { ProgressReporter } from './common/progressReporter';
|
9
10
|
import { ServiceProvider } from './common/serviceProvider';
|
10
|
-
import { ServerSettings } from './common/languageServerInterface';
|
11
|
-
import { Workspace } from './workspaceFactory';
|
12
11
|
import { LanguageServerBase } from './languageServerBase';
|
12
|
+
import { Workspace } from './workspaceFactory';
|
13
13
|
export declare class PyrightServer extends LanguageServerBase {
|
14
14
|
private _controller;
|
15
|
-
constructor(connection: Connection, realFileSystem?: FileSystem);
|
15
|
+
constructor(connection: Connection, maxWorkers: number, realFileSystem?: FileSystem);
|
16
16
|
getSettings(workspace: Workspace): Promise<ServerSettings>;
|
17
17
|
createBackgroundAnalysis(serviceId: string): BackgroundAnalysisBase | undefined;
|
18
18
|
protected createHost(): FullAccessHost;
|
package/dist/server.js
CHANGED
@@ -23,13 +23,13 @@ const realFileSystem_1 = require("./common/realFileSystem");
|
|
23
23
|
const serviceProviderExtensions_1 = require("./common/serviceProviderExtensions");
|
24
24
|
const uri_1 = require("./common/uri/uri");
|
25
25
|
const uriUtils_1 = require("./common/uri/uriUtils");
|
26
|
+
const languageServerBase_1 = require("./languageServerBase");
|
26
27
|
const codeActionProvider_1 = require("./languageService/codeActionProvider");
|
27
28
|
const pyrightFileSystem_1 = require("./pyrightFileSystem");
|
28
29
|
const workspaceFactory_1 = require("./workspaceFactory");
|
29
|
-
const languageServerBase_1 = require("./languageServerBase");
|
30
30
|
const maxAnalysisTimeInForeground = { openFilesTimeInMs: 50, noOpenFilesTimeInMs: 200 };
|
31
31
|
class PyrightServer extends languageServerBase_1.LanguageServerBase {
|
32
|
-
constructor(connection, realFileSystem) {
|
32
|
+
constructor(connection, maxWorkers, realFileSystem) {
|
33
33
|
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
34
34
|
const version = require('../package.json').version || '';
|
35
35
|
const tempFile = new realFileSystem_1.RealTempFile();
|
@@ -37,7 +37,7 @@ class PyrightServer extends languageServerBase_1.LanguageServerBase {
|
|
37
37
|
const fileWatcherProvider = new realFileSystem_1.WorkspaceFileWatcherProvider();
|
38
38
|
const fileSystem = realFileSystem !== null && realFileSystem !== void 0 ? realFileSystem : (0, realFileSystem_1.createFromRealFileSystem)(tempFile, console, fileWatcherProvider);
|
39
39
|
const pyrightFs = new pyrightFileSystem_1.PyrightFileSystem(fileSystem);
|
40
|
-
const cacheManager = new cacheManager_1.CacheManager();
|
40
|
+
const cacheManager = new cacheManager_1.CacheManager(maxWorkers);
|
41
41
|
const serviceProvider = (0, serviceProviderExtensions_1.createServiceProvider)(pyrightFs, tempFile, console, cacheManager);
|
42
42
|
// When executed from CLI command (pyright-langserver), __rootDirectory is
|
43
43
|
// already defined. When executed from VSCode extension, rootDirectory should
|
package/dist/server.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../../../src/server.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAEH,iEAS+B;AAG/B,0DAAuD;AACvD,8DAA2D;AAC3D,gEAA4D;AAC5D,6DAA0D;AAE1D,oEAAiE;AACjE,kEAAuE;AACvE,0DAA6E;AAC7E,8CAAkF;AAClF,wCAAiE;AACjE,sDAAmE;AACnE,oFAAoF;AAEpF,4DAAyD;
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../../../src/server.ts"],"names":[],"mappings":"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"}
|
@@ -11,6 +11,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
11
11
|
};
|
12
12
|
Object.defineProperty(exports, "__esModule", { value: true });
|
13
13
|
const assert_1 = __importDefault(require("assert"));
|
14
|
+
const worker_threads_1 = require("worker_threads");
|
14
15
|
const cacheManager_1 = require("../analyzer/cacheManager");
|
15
16
|
test('basic', () => {
|
16
17
|
const manager = new cacheManager_1.CacheManager();
|
@@ -54,6 +55,40 @@ test('multiple owners', () => {
|
|
54
55
|
manager.unregisterCacheOwner(mock2);
|
55
56
|
assert_1.default.strictEqual(manager.getCacheUsage(), 0);
|
56
57
|
});
|
58
|
+
test('Shared memory', async () => {
|
59
|
+
const manager = new cacheManager_1.CacheManager(/* maxWorkers */ 1);
|
60
|
+
// Without the .js output from Jest, we need to generate a non module worker. Use a string
|
61
|
+
// to do so. This means the worker can't use the CacheManager, but it just needs to
|
62
|
+
// listen for the sharedArrayBuffer message.
|
63
|
+
const workerSource = `
|
64
|
+
const { parentPort } = require('worker_threads');
|
65
|
+
parentPort.on('message', (msg) => {
|
66
|
+
if (msg.requestType === 'cacheUsageBuffer') {
|
67
|
+
const buffer = msg.sharedUsageBuffer;
|
68
|
+
const view = new Float64Array(buffer);
|
69
|
+
view[1] = 50 * 1024 * 1024 * 1024; // Make this super huge, 50GB to make sure usage is over 100%
|
70
|
+
parentPort.postMessage('done');
|
71
|
+
}
|
72
|
+
});
|
73
|
+
`;
|
74
|
+
const worker = new worker_threads_1.Worker(workerSource, { eval: true });
|
75
|
+
worker.on('error', (err) => {
|
76
|
+
throw err;
|
77
|
+
});
|
78
|
+
manager.addWorker(1, worker);
|
79
|
+
// Wait for the worker to post a message back to us.
|
80
|
+
await new Promise((resolve, reject) => {
|
81
|
+
worker.on('message', (msg) => {
|
82
|
+
if (msg === 'done') {
|
83
|
+
resolve();
|
84
|
+
}
|
85
|
+
});
|
86
|
+
});
|
87
|
+
// Get the heap usage and verify it's more than 100%
|
88
|
+
const usage = manager.getUsedHeapRatio();
|
89
|
+
worker.terminate();
|
90
|
+
(0, assert_1.default)(usage > 1);
|
91
|
+
});
|
57
92
|
class MockCacheOwner {
|
58
93
|
constructor(_used) {
|
59
94
|
this._used = _used;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"cacheManager.test.js","sourceRoot":"","sources":["../../../../../src/tests/cacheManager.test.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;;;AAEH,oDAA4B;AAE5B,2DAAoE;AAEpE,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE;IACf,MAAM,OAAO,GAAG,IAAI,2BAAY,EAAE,CAAC;IACnC,MAAM,IAAI,GAAG,IAAI,cAAc,CAAC,EAAE,CAAC,CAAC;IAEpC,OAAO,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;IACjC,gBAAM,CAAC,WAAW,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,EAAE,CAAC,CAAC;IAEhD,OAAO,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC;IACnC,gBAAM,CAAC,WAAW,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC,CAAC;AACnD,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,qBAAqB,EAAE,GAAG,EAAE;IAC7B,MAAM,OAAO,GAAG,IAAI,2BAAY,EAAE,CAAC;IACnC,MAAM,IAAI,GAAG,IAAI,cAAc,CAAC,EAAE,CAAC,CAAC;IAEpC,OAAO,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC;IACjC,gBAAM,CAAC,WAAW,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,EAAE,CAAC,CAAC;IAEhD,MAAM,OAAO,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;IACxC,gBAAM,CAAC,WAAW,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;IAEhD,SAAS;IACT,MAAM,OAAO,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;IACxC,gBAAM,CAAC,WAAW,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;IAEhD,OAAO,CAAC,OAAO,EAAE,CAAC;IAClB,gBAAM,CAAC,WAAW,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;IAEhD,OAAO,CAAC,OAAO,EAAE,CAAC;IAClB,gBAAM,CAAC,WAAW,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,EAAE,CAAC,CAAC;IAEhD,OAAO,CAAC,oBAAoB,CAAC,IAAI,CAAC,CAAC;IACnC,gBAAM,CAAC,WAAW,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC,CAAC;AACnD,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,iBAAiB,EAAE,GAAG,EAAE;IACzB,MAAM,OAAO,GAAG,IAAI,2BAAY,EAAE,CAAC;IACnC,MAAM,KAAK,GAAG,IAAI,cAAc,CAAC,EAAE,CAAC,CAAC;IACrC,MAAM,KAAK,GAAG,IAAI,cAAc,CAAC,EAAE,CAAC,CAAC;IAErC,OAAO,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;IAClC,gBAAM,CAAC,WAAW,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,EAAE,CAAC,CAAC;IAEhD,OAAO,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;IAClC,gBAAM,CAAC,WAAW,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,EAAE,CAAC,CAAC;IAEhD,MAAM,MAAM,GAAG,OAAO,CAAC,aAAa,EAAE,CAAC;IACvC,gBAAM,CAAC,WAAW,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;IAEhD,OAAO,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;IACpC,gBAAM,CAAC,WAAW,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;IAEhD,MAAM,CAAC,OAAO,EAAE,CAAC;IACjB,gBAAM,CAAC,WAAW,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,EAAE,CAAC,CAAC;IAEhD,OAAO,CAAC,oBAAoB,CAAC,KAAK,CAAC,CAAC;IACpC,gBAAM,CAAC,WAAW,CAAC,OAAO,CAAC,aAAa,EAAE,EAAE,CAAC,CAAC,CAAC;AACnD,CAAC,CAAC,CAAC;AAEH,MAAM,cAAc;IAChB,YAAoB,KAAa;QAAb,UAAK,GAAL,KAAK,CAAQ;QAC7B,QAAQ;IACZ,CAAC;IAED,aAAa;QACT,OAAO,IAAI,CAAC,KAAK,CAAC;IACtB,CAAC;IAED,UAAU;QACN,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC;IACnB,CAAC;CACJ"}
|
1
|
+
{"version":3,"file":"cacheManager.test.js","sourceRoot":"","sources":["../../../../../src/tests/cacheManager.test.ts"],"names":[],"mappings":"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"}
|
@@ -43,13 +43,13 @@ const console_1 = require("../common/console");
|
|
43
43
|
const pathUtils_1 = require("../common/pathUtils");
|
44
44
|
const positionUtils_1 = require("../common/positionUtils");
|
45
45
|
const serviceProvider_1 = require("../common/serviceProvider");
|
46
|
+
const uriUtils_1 = require("../common/uri/uriUtils");
|
46
47
|
const completionProvider_1 = require("../languageService/completionProvider");
|
47
48
|
const fourSlashParser_1 = require("./harness/fourslash/fourSlashParser");
|
48
49
|
const testAccessHost_1 = require("./harness/testAccessHost");
|
49
50
|
const host = __importStar(require("./harness/testHost"));
|
50
51
|
const factory_1 = require("./harness/vfs/factory");
|
51
52
|
const vfs = __importStar(require("./harness/vfs/filesystem"));
|
52
|
-
const uriUtils_1 = require("../common/uri/uriUtils");
|
53
53
|
test('check chained files', () => {
|
54
54
|
const code = `
|
55
55
|
// @filename: test1.py
|
@@ -68,7 +68,7 @@ test('check chained files', () => {
|
|
68
68
|
const { data, service } = createServiceWithChainedSourceFiles(basePath, code);
|
69
69
|
const marker = data.markerPositions.get('marker');
|
70
70
|
const markerUri = marker.fileUri;
|
71
|
-
const parseResult = service.
|
71
|
+
const parseResult = service.getParseResults(markerUri);
|
72
72
|
const result = new completionProvider_1.CompletionProvider(service.test_program, markerUri, (0, positionUtils_1.convertOffsetToPosition)(marker.position, parseResult.tokenizerOutput.lines), {
|
73
73
|
format: vscode_languageserver_types_1.MarkupKind.Markdown,
|
74
74
|
lazyEdit: false,
|
@@ -98,7 +98,7 @@ test('modify chained files', () => {
|
|
98
98
|
// Make sure files are all realized.
|
99
99
|
const marker = data.markerPositions.get('marker');
|
100
100
|
const markerUri = marker.fileUri;
|
101
|
-
const parseResult = service.
|
101
|
+
const parseResult = service.getParseResults(markerUri);
|
102
102
|
// Close file in the middle of the chain
|
103
103
|
service.setFileClosed(data.markerPositions.get('delete').fileUri);
|
104
104
|
// Make sure we don't get suggestion from auto import but from chained files.
|
@@ -133,7 +133,7 @@ test('modify chained files', async () => {
|
|
133
133
|
const marker = data.markerPositions.get('marker');
|
134
134
|
const markerUri = marker.fileUri;
|
135
135
|
const range = data.ranges.find((r) => r.marker === marker);
|
136
|
-
const parseResults = service.
|
136
|
+
const parseResults = service.getParseResults(markerUri);
|
137
137
|
analyze(service.test_program);
|
138
138
|
// Initially, there should be no error.
|
139
139
|
const initialDiags = await service.getDiagnosticsForRange(markerUri, (0, positionUtils_1.convertOffsetsToRange)(range.pos, range.end, parseResults.tokenizerOutput.lines), vscode_jsonrpc_1.CancellationToken.None);
|
@@ -166,7 +166,7 @@ test('chained files with 1000s of files', async () => {
|
|
166
166
|
const marker = data.markerPositions.get('marker');
|
167
167
|
const markerUri = marker.fileUri;
|
168
168
|
const range = data.ranges.find((r) => r.marker === marker);
|
169
|
-
const parseResults = service.
|
169
|
+
const parseResults = service.getParseResults(markerUri);
|
170
170
|
analyze(service.test_program);
|
171
171
|
// There should be no error as it should find the foo1 in the first chained file.
|
172
172
|
const initialDiags = await service.getDiagnosticsForRange(markerUri, (0, positionUtils_1.convertOffsetsToRange)(range.pos, range.end, parseResults.tokenizerOutput.lines), vscode_jsonrpc_1.CancellationToken.None);
|
@@ -186,7 +186,7 @@ test('imported by files', async () => {
|
|
186
186
|
const marker = data.markerPositions.get('marker');
|
187
187
|
const markerUri = marker.fileUri;
|
188
188
|
const range = data.ranges.find((r) => r.marker === marker);
|
189
|
-
const parseResults = service.
|
189
|
+
const parseResults = service.getParseResults(markerUri);
|
190
190
|
const diagnostics = await service.getDiagnosticsForRange(markerUri, (0, positionUtils_1.convertOffsetsToRange)(range.pos, range.end, parseResults.tokenizerOutput.lines), vscode_jsonrpc_1.CancellationToken.None);
|
191
191
|
assert_1.default.strictEqual(diagnostics.length, 0);
|
192
192
|
});
|
@@ -209,7 +209,7 @@ test('re ordering cells', async () => {
|
|
209
209
|
service.updateChainedUri(bottomUri, undefined);
|
210
210
|
service.updateChainedUri(markerUri, bottomUri);
|
211
211
|
analyze(service.test_program);
|
212
|
-
const parseResults = service.
|
212
|
+
const parseResults = service.getParseResults(markerUri);
|
213
213
|
const diagnostics = await service.getDiagnosticsForRange(markerUri, (0, positionUtils_1.convertOffsetsToRange)(range.pos, range.end, parseResults.tokenizerOutput.lines), vscode_jsonrpc_1.CancellationToken.None);
|
214
214
|
assert_1.default.strictEqual(diagnostics.length, 1);
|
215
215
|
});
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"chainedSourceFiles.test.js","sourceRoot":"","sources":["../../../../../src/tests/chainedSourceFiles.test.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,oDAA4B;AAC5B,mDAAmD;AACnD,6EAAyD;AAGzD,iDAAsD;AACtD,uDAAqD;AACrD,2DAAwD;AACxD,+CAAgD;AAChD,mDAAuD;AACvD,2DAAyF;AACzF,+DAA4D;AAE5D,8EAA2E;AAC3E,yEAAoE;AACpE,6DAA0D;AAC1D,yDAA2C;AAC3C,mDAAuF;AACvF,8DAAgD;
|
1
|
+
{"version":3,"file":"chainedSourceFiles.test.js","sourceRoot":"","sources":["../../../../../src/tests/chainedSourceFiles.test.ts"],"names":[],"mappings":"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"}
|
@@ -7,14 +7,14 @@ import { ConfigOptions } from '../../../common/configOptions';
|
|
7
7
|
import { ConsoleInterface } from '../../../common/console';
|
8
8
|
import { FileEditAction } from '../../../common/editAction';
|
9
9
|
import { ReadOnlyFileSystem } from '../../../common/fileSystem';
|
10
|
+
import { LanguageServerInterface } from '../../../common/languageServerInterface';
|
10
11
|
import { ServiceProvider } from '../../../common/serviceProvider';
|
11
12
|
import { DocumentRange, Position, Range as PositionRange, TextRange } from '../../../common/textRange';
|
12
13
|
import { Uri } from '../../../common/uri/uri';
|
13
|
-
import { LanguageServerInterface } from '../../../common/languageServerInterface';
|
14
14
|
import { DefinitionFilter } from '../../../languageService/definitionProvider';
|
15
15
|
import { CollectionResult } from '../../../languageService/documentSymbolCollector';
|
16
16
|
import { ParseNode } from '../../../parser/parseNodes';
|
17
|
-
import {
|
17
|
+
import { ParseFileResults } from '../../../parser/parser';
|
18
18
|
import { PyrightFileSystem } from '../../../pyrightFileSystem';
|
19
19
|
import { NormalWorkspace, Workspace } from '../../../workspaceFactory';
|
20
20
|
import * as vfs from '../vfs/filesystem';
|
@@ -163,7 +163,7 @@ export declare class TestState {
|
|
163
163
|
[marker: string]: {
|
164
164
|
references: DocumentRange[];
|
165
165
|
};
|
166
|
-
}, createDocumentRange?: (fileUri: Uri, result: CollectionResult, parseResults:
|
166
|
+
}, createDocumentRange?: (fileUri: Uri, result: CollectionResult, parseResults: ParseFileResults) => DocumentRange, convertToLocation?: (fs: ReadOnlyFileSystem, ranges: DocumentRange) => Location | undefined): void;
|
167
167
|
verifyShowCallHierarchyGetIncomingCalls(map: {
|
168
168
|
[marker: string]: {
|
169
169
|
items: _.FourSlashCallHierarchyItem[];
|
@@ -221,7 +221,7 @@ export declare class TestState {
|
|
221
221
|
protected verifyCompletionItem(expected: _.FourSlashCompletionItem, actual: CompletionItem): void;
|
222
222
|
private _convertGlobalOptionsToConfigOptions;
|
223
223
|
private _applyTestConfigOptions;
|
224
|
-
private
|
224
|
+
private _getParserOutput;
|
225
225
|
private _getTextRangeCollection;
|
226
226
|
private _messageAtLastKnownMarker;
|
227
227
|
private _checkPostEditInvariants;
|
@@ -1165,15 +1165,16 @@ class TestState {
|
|
1165
1165
|
}
|
1166
1166
|
return configOptions;
|
1167
1167
|
}
|
1168
|
-
|
1168
|
+
_getParserOutput(fileName) {
|
1169
1169
|
const file = this.program.getBoundSourceFile(uri_1.Uri.file(fileName, this.serviceProvider));
|
1170
1170
|
return file === null || file === void 0 ? void 0 : file.getParseResults();
|
1171
1171
|
}
|
1172
1172
|
_getTextRangeCollection(fileName) {
|
1173
|
+
var _a;
|
1173
1174
|
if (this.files.includes(fileName)) {
|
1174
|
-
const
|
1175
|
-
if (
|
1176
|
-
return
|
1175
|
+
const tokenizerOutput = (_a = this._getParserOutput(fileName)) === null || _a === void 0 ? void 0 : _a.tokenizerOutput;
|
1176
|
+
if (tokenizerOutput) {
|
1177
|
+
return tokenizerOutput.lines;
|
1177
1178
|
}
|
1178
1179
|
}
|
1179
1180
|
// slow path
|
@@ -1455,7 +1456,7 @@ function getNodeAtMarker(codeOrState, markerName = 'marker') {
|
|
1455
1456
|
(0, assert_1.default)(sourceFile);
|
1456
1457
|
const parserResults = sourceFile.getParseResults();
|
1457
1458
|
(0, assert_1.default)(parserResults);
|
1458
|
-
const node = (0, parseTreeUtils_1.findNodeByOffset)(parserResults.parseTree, marker.position);
|
1459
|
+
const node = (0, parseTreeUtils_1.findNodeByOffset)(parserResults.parserOutput.parseTree, marker.position);
|
1459
1460
|
(0, assert_1.default)(node);
|
1460
1461
|
return node;
|
1461
1462
|
}
|