@zzzen/pyright-internal 1.2.0-dev.20240331 → 1.2.0-dev.20240414
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 +24 -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 +29 -20
- 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 +44 -11
- 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/constructors.d.ts +2 -2
- package/dist/analyzer/constructors.js +162 -109
- package/dist/analyzer/constructors.js.map +1 -1
- package/dist/analyzer/dataClasses.js +17 -7
- 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/importResolver.js +1 -1
- package/dist/analyzer/importResolver.js.map +1 -1
- package/dist/analyzer/importStatementUtils.d.ts +6 -6
- package/dist/analyzer/importStatementUtils.js +43 -43
- 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 +8 -5
- package/dist/analyzer/parseTreeUtils.js +36 -14
- 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 +12 -12
- package/dist/analyzer/properties.js.map +1 -1
- package/dist/analyzer/protocols.js +10 -10
- package/dist/analyzer/protocols.js.map +1 -1
- package/dist/analyzer/pyTypedUtils.d.ts +4 -0
- package/dist/analyzer/pyTypedUtils.js +17 -3
- package/dist/analyzer/pyTypedUtils.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 +2 -1
- package/dist/analyzer/symbolUtils.js +13 -3
- 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 +254 -119
- package/dist/analyzer/typeEvaluator.js.map +1 -1
- package/dist/analyzer/typeEvaluatorTypes.d.ts +3 -1
- package/dist/analyzer/typeGuards.js +107 -59
- 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.d.ts +1 -1
- package/dist/analyzer/typeUtils.js +33 -33
- package/dist/analyzer/typeUtils.js.map +1 -1
- package/dist/analyzer/typeVarContext.js +1 -1
- package/dist/analyzer/typeVarContext.js.map +1 -1
- package/dist/analyzer/typedDicts.js +30 -21
- package/dist/analyzer/typedDicts.js.map +1 -1
- package/dist/analyzer/types.d.ts +7 -3
- package/dist/analyzer/types.js +48 -8
- 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 +8 -1
- package/dist/backgroundAnalysisBase.js.map +1 -1
- package/dist/backgroundThreadBase.d.ts +6 -5
- package/dist/backgroundThreadBase.js +9 -5
- 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 -4
- package/dist/languageService/completionProvider.js +15 -37
- 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 +2 -2
- package/dist/languageService/symbolIndexer.js.map +1 -1
- package/dist/languageService/tooltipUtils.d.ts +1 -1
- package/dist/languageService/tooltipUtils.js +4 -4
- package/dist/languageService/workspaceSymbolProvider.js +1 -1
- package/dist/languageService/workspaceSymbolProvider.js.map +1 -1
- package/dist/localization/localize.d.ts +7 -0
- package/dist/localization/localize.js +5 -0
- package/dist/localization/localize.js.map +1 -1
- package/dist/localization/package.nls.cs.json +1 -0
- package/dist/localization/package.nls.de.json +2 -1
- package/dist/localization/package.nls.en-us.json +28 -23
- package/dist/localization/package.nls.es.json +5 -4
- package/dist/localization/package.nls.fr.json +5 -4
- package/dist/localization/package.nls.it.json +2 -1
- package/dist/localization/package.nls.ja.json +1 -0
- package/dist/localization/package.nls.ko.json +4 -3
- package/dist/localization/package.nls.pl.json +4 -3
- package/dist/localization/package.nls.pt-br.json +1 -0
- package/dist/localization/package.nls.qps-ploc.json +1 -0
- package/dist/localization/package.nls.ru.json +2 -1
- package/dist/localization/package.nls.tr.json +3 -2
- package/dist/localization/package.nls.zh-cn.json +2 -1
- package/dist/localization/package.nls.zh-tw.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 +10 -7
- package/dist/parser/parser.js.map +1 -1
- package/dist/parser/tokenizer.js +1 -0
- package/dist/parser/tokenizer.js.map +1 -1
- package/dist/parser/tokenizerTypes.d.ts +1 -0
- package/dist/parser/tokenizerTypes.js +1 -0
- package/dist/parser/tokenizerTypes.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 +5 -5
- package/dist/tests/harness/fourslash/testState.js +8 -7
- package/dist/tests/harness/fourslash/testState.js.map +1 -1
- package/dist/tests/harness/fourslash/workspaceEditTestUtils.d.ts +2 -2
- package/dist/tests/harness/fourslash/workspaceEditTestUtils.js +5 -5
- package/dist/tests/harness/fourslash/workspaceEditTestUtils.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/tokenizer.test.js +4 -4
- package/dist/tests/tokenizer.test.js.map +1 -1
- package/dist/tests/typeEvaluator1.test.js +6 -2
- package/dist/tests/typeEvaluator1.test.js.map +1 -1
- package/dist/tests/typeEvaluator2.test.js +4 -0
- package/dist/tests/typeEvaluator2.test.js.map +1 -1
- package/dist/tests/typeEvaluator3.test.js +21 -11
- package/dist/tests/typeEvaluator3.test.js.map +1 -1
- package/dist/tests/typeEvaluator4.test.js +1 -1
- package/package.json +2 -2
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"tokenizer.js","sourceRoot":"","sources":["../../../../../src/parser/tokenizer.ts"],"names":[],"mappings":"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"}
|
1
|
+
{"version":3,"file":"tokenizer.js","sourceRoot":"","sources":["../../../../../src/parser/tokenizer.ts"],"names":[],"mappings":"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"}
|
@@ -166,6 +166,7 @@ var StringTokenFlags;
|
|
166
166
|
// Other conditions
|
167
167
|
StringTokenFlags[StringTokenFlags["ReplacementFieldStart"] = 128] = "ReplacementFieldStart";
|
168
168
|
StringTokenFlags[StringTokenFlags["ReplacementFieldEnd"] = 256] = "ReplacementFieldEnd";
|
169
|
+
StringTokenFlags[StringTokenFlags["NamedUnicodeEscape"] = 512] = "NamedUnicodeEscape";
|
169
170
|
// Error conditions
|
170
171
|
StringTokenFlags[StringTokenFlags["Unterminated"] = 65536] = "Unterminated";
|
171
172
|
})(StringTokenFlags || (exports.StringTokenFlags = StringTokenFlags = {}));
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"tokenizerTypes.js","sourceRoot":"","sources":["../../../../../src/parser/tokenizerTypes.ts"],"names":[],"mappings":"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
|
1
|
+
{"version":3,"file":"tokenizerTypes.js","sourceRoot":"","sources":["../../../../../src/parser/tokenizerTypes.ts"],"names":[],"mappings":"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"}
|
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":"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"}
|
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';
|
@@ -119,7 +119,7 @@ export declare class TestState {
|
|
119
119
|
verifyCommand(command: Command, files: {
|
120
120
|
[filePath: string]: string;
|
121
121
|
}): Promise<any>;
|
122
|
-
verifyWorkspaceEdit(expected: WorkspaceEdit, actual: WorkspaceEdit): void;
|
122
|
+
verifyWorkspaceEdit(expected: WorkspaceEdit, actual: WorkspaceEdit, marker?: string): void;
|
123
123
|
verifyInvokeCodeAction(map: {
|
124
124
|
[marker: string]: {
|
125
125
|
title: string;
|
@@ -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;
|