@zzzen/pyright-internal 1.2.0-dev.20231203 → 1.2.0-dev.20231217
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 +4 -3
- package/dist/analyzer/analyzerFileInfo.js.map +1 -1
- package/dist/analyzer/backgroundAnalysisProgram.d.ts +15 -14
- package/dist/analyzer/backgroundAnalysisProgram.js +38 -38
- package/dist/analyzer/backgroundAnalysisProgram.js.map +1 -1
- package/dist/analyzer/binder.js +67 -62
- package/dist/analyzer/binder.js.map +1 -1
- package/dist/analyzer/checker.js +43 -33
- package/dist/analyzer/checker.js.map +1 -1
- package/dist/analyzer/circularDependency.d.ts +3 -2
- package/dist/analyzer/circularDependency.js.map +1 -1
- package/dist/analyzer/codeFlowEngine.js +47 -47
- package/dist/analyzer/codeFlowEngine.js.map +1 -1
- package/dist/analyzer/codeFlowTypes.d.ts +0 -1
- package/dist/analyzer/codeFlowTypes.js.map +1 -1
- package/dist/analyzer/constraintSolver.js +3 -5
- package/dist/analyzer/constraintSolver.js.map +1 -1
- package/dist/analyzer/dataClasses.js +1 -1
- package/dist/analyzer/dataClasses.js.map +1 -1
- package/dist/analyzer/declaration.d.ts +5 -3
- package/dist/analyzer/declaration.js +3 -2
- package/dist/analyzer/declaration.js.map +1 -1
- package/dist/analyzer/declarationUtils.d.ts +3 -2
- package/dist/analyzer/declarationUtils.js +14 -12
- package/dist/analyzer/declarationUtils.js.map +1 -1
- package/dist/analyzer/decorators.js +14 -43
- package/dist/analyzer/decorators.js.map +1 -1
- package/dist/analyzer/enums.js +1 -1
- package/dist/analyzer/enums.js.map +1 -1
- package/dist/analyzer/importResolver.d.ts +29 -25
- package/dist/analyzer/importResolver.js +300 -301
- package/dist/analyzer/importResolver.js.map +1 -1
- package/dist/analyzer/importResult.d.ts +5 -4
- package/dist/analyzer/importResult.js.map +1 -1
- package/dist/analyzer/importStatementUtils.d.ts +5 -4
- package/dist/analyzer/importStatementUtils.js +23 -22
- package/dist/analyzer/importStatementUtils.js.map +1 -1
- package/dist/analyzer/namedTuples.js +3 -3
- package/dist/analyzer/namedTuples.js.map +1 -1
- package/dist/analyzer/packageTypeReport.d.ts +7 -6
- package/dist/analyzer/packageTypeReport.js +4 -4
- package/dist/analyzer/packageTypeReport.js.map +1 -1
- package/dist/analyzer/packageTypeVerifier.js +68 -64
- package/dist/analyzer/packageTypeVerifier.js.map +1 -1
- package/dist/analyzer/parentDirectoryCache.d.ts +7 -6
- package/dist/analyzer/parentDirectoryCache.js +9 -10
- package/dist/analyzer/parentDirectoryCache.js.map +1 -1
- package/dist/analyzer/parseTreeUtils.d.ts +1 -1
- package/dist/analyzer/parseTreeUtils.js +7 -4
- package/dist/analyzer/parseTreeUtils.js.map +1 -1
- package/dist/analyzer/patternMatching.js +102 -14
- package/dist/analyzer/patternMatching.js.map +1 -1
- package/dist/analyzer/program.d.ts +27 -26
- package/dist/analyzer/program.js +162 -156
- package/dist/analyzer/program.js.map +1 -1
- package/dist/analyzer/properties.js +6 -3
- package/dist/analyzer/properties.js.map +1 -1
- package/dist/analyzer/pyTypedUtils.d.ts +3 -2
- package/dist/analyzer/pyTypedUtils.js +4 -5
- package/dist/analyzer/pyTypedUtils.js.map +1 -1
- package/dist/analyzer/pythonPathUtils.d.ts +7 -6
- package/dist/analyzer/pythonPathUtils.js +21 -23
- package/dist/analyzer/pythonPathUtils.js.map +1 -1
- package/dist/analyzer/service.d.ts +24 -23
- package/dist/analyzer/service.js +190 -184
- package/dist/analyzer/service.js.map +1 -1
- package/dist/analyzer/sourceFile.d.ts +4 -5
- package/dist/analyzer/sourceFile.js +68 -56
- package/dist/analyzer/sourceFile.js.map +1 -1
- package/dist/analyzer/sourceFileInfoUtils.js +3 -3
- package/dist/analyzer/sourceFileInfoUtils.js.map +1 -1
- package/dist/analyzer/sourceMapper.d.ts +11 -10
- package/dist/analyzer/sourceMapper.js +61 -63
- package/dist/analyzer/sourceMapper.js.map +1 -1
- package/dist/analyzer/sourceMapperUtils.d.ts +2 -1
- package/dist/analyzer/sourceMapperUtils.js +2 -2
- package/dist/analyzer/sourceMapperUtils.js.map +1 -1
- package/dist/analyzer/tracePrinter.d.ts +3 -2
- package/dist/analyzer/tracePrinter.js +21 -23
- package/dist/analyzer/tracePrinter.js.map +1 -1
- package/dist/analyzer/typeDocStringUtils.d.ts +2 -1
- package/dist/analyzer/typeDocStringUtils.js +14 -17
- package/dist/analyzer/typeDocStringUtils.js.map +1 -1
- package/dist/analyzer/typeEvaluator.js +259 -152
- package/dist/analyzer/typeEvaluator.js.map +1 -1
- package/dist/analyzer/typeGuards.d.ts +1 -0
- package/dist/analyzer/typeGuards.js +5 -4
- package/dist/analyzer/typeGuards.js.map +1 -1
- package/dist/analyzer/typePrinter.d.ts +2 -0
- package/dist/analyzer/typePrinter.js +48 -8
- package/dist/analyzer/typePrinter.js.map +1 -1
- package/dist/analyzer/typeStubWriter.d.ts +2 -1
- package/dist/analyzer/typeStubWriter.js +2 -2
- package/dist/analyzer/typeStubWriter.js.map +1 -1
- package/dist/analyzer/typeUtils.d.ts +5 -2
- package/dist/analyzer/typeUtils.js +37 -10
- package/dist/analyzer/typeUtils.js.map +1 -1
- package/dist/analyzer/typedDicts.js +4 -4
- package/dist/analyzer/typedDicts.js.map +1 -1
- package/dist/analyzer/types.d.ts +10 -6
- package/dist/analyzer/types.js +7 -5
- package/dist/analyzer/types.js.map +1 -1
- package/dist/backgroundAnalysis.d.ts +1 -2
- package/dist/backgroundAnalysis.js +6 -4
- package/dist/backgroundAnalysis.js.map +1 -1
- package/dist/backgroundAnalysisBase.d.ts +22 -20
- package/dist/backgroundAnalysisBase.js +76 -55
- package/dist/backgroundAnalysisBase.js.map +1 -1
- package/dist/backgroundThreadBase.d.ts +1 -1
- package/dist/backgroundThreadBase.js +20 -11
- package/dist/backgroundThreadBase.js.map +1 -1
- package/dist/commands/createTypeStub.js +3 -2
- package/dist/commands/createTypeStub.js.map +1 -1
- package/dist/commands/dumpFileDebugInfoCommand.js +21 -20
- package/dist/commands/dumpFileDebugInfoCommand.js.map +1 -1
- package/dist/commands/quickActionCommand.js +5 -5
- package/dist/commands/quickActionCommand.js.map +1 -1
- package/dist/common/configOptions.d.ts +14 -13
- package/dist/common/configOptions.js +29 -27
- package/dist/common/configOptions.js.map +1 -1
- package/dist/common/diagnostic.d.ts +6 -5
- package/dist/common/diagnostic.js +2 -2
- package/dist/common/diagnostic.js.map +1 -1
- package/dist/common/diagnosticSink.d.ts +2 -1
- package/dist/common/diagnosticSink.js.map +1 -1
- package/dist/common/editAction.d.ts +6 -5
- package/dist/common/editAction.js +2 -2
- package/dist/common/editAction.js.map +1 -1
- package/dist/common/envVarUtils.d.ts +2 -1
- package/dist/common/envVarUtils.js +20 -28
- package/dist/common/envVarUtils.js.map +1 -1
- package/dist/common/extensibility.d.ts +19 -19
- package/dist/common/extensibility.js.map +1 -1
- package/dist/common/fileSystem.d.ts +29 -28
- package/dist/common/fileWatcher.d.ts +2 -1
- package/dist/common/fileWatcher.js.map +1 -1
- package/dist/common/fullAccessHost.d.ts +8 -7
- package/dist/common/fullAccessHost.js +21 -16
- package/dist/common/fullAccessHost.js.map +1 -1
- package/dist/common/host.d.ts +7 -6
- package/dist/common/host.js +1 -1
- package/dist/common/host.js.map +1 -1
- package/dist/common/logTracker.d.ts +2 -1
- package/dist/common/logTracker.js +4 -4
- package/dist/common/logTracker.js.map +1 -1
- package/dist/common/pathUtils.d.ts +1 -28
- package/dist/common/pathUtils.js +17 -366
- package/dist/common/pathUtils.js.map +1 -1
- package/dist/common/realFileSystem.d.ts +7 -3
- package/dist/common/realFileSystem.js +78 -60
- package/dist/common/realFileSystem.js.map +1 -1
- package/dist/common/serviceProviderExtensions.d.ts +2 -1
- package/dist/common/serviceProviderExtensions.js +5 -2
- package/dist/common/serviceProviderExtensions.js.map +1 -1
- package/dist/common/textEditTracker.d.ts +2 -1
- package/dist/common/textEditTracker.js +28 -28
- package/dist/common/textEditTracker.js.map +1 -1
- package/dist/common/textRange.d.ts +2 -1
- package/dist/common/textRange.js.map +1 -1
- package/dist/common/uri/baseUri.d.ts +51 -0
- package/dist/common/uri/baseUri.js +194 -0
- package/dist/common/uri/baseUri.js.map +1 -0
- package/dist/common/uri/emptyUri.d.ts +32 -0
- package/dist/common/uri/emptyUri.js +98 -0
- package/dist/common/uri/emptyUri.js.map +1 -0
- package/dist/common/uri/fileUri.d.ts +36 -0
- package/dist/common/uri/fileUri.js +180 -0
- package/dist/common/uri/fileUri.js.map +1 -0
- package/dist/common/uri/memoization.d.ts +3 -0
- package/dist/common/uri/memoization.js +72 -0
- package/dist/common/uri/memoization.js.map +1 -0
- package/dist/common/uri/uri.d.ts +50 -0
- package/dist/common/uri/uri.js +104 -0
- package/dist/common/uri/uri.js.map +1 -0
- package/dist/common/uri/uriUtils.d.ts +39 -0
- package/dist/common/uri/uriUtils.js +362 -0
- package/dist/common/uri/uriUtils.js.map +1 -0
- package/dist/common/uri/webUri.d.ts +36 -0
- package/dist/common/uri/webUri.js +207 -0
- package/dist/common/uri/webUri.js.map +1 -0
- package/dist/common/workspaceEditUtils.d.ts +8 -8
- package/dist/common/workspaceEditUtils.js +35 -38
- package/dist/common/workspaceEditUtils.js.map +1 -1
- package/dist/languageServerBase.d.ts +19 -22
- package/dist/languageServerBase.js +91 -95
- package/dist/languageServerBase.js.map +1 -1
- package/dist/languageService/analyzerServiceExecutor.d.ts +2 -1
- package/dist/languageService/analyzerServiceExecutor.js +14 -16
- package/dist/languageService/analyzerServiceExecutor.js.map +1 -1
- package/dist/languageService/autoImporter.d.ts +11 -9
- package/dist/languageService/autoImporter.js +45 -44
- package/dist/languageService/autoImporter.js.map +1 -1
- package/dist/languageService/callHierarchyProvider.d.ts +3 -2
- package/dist/languageService/callHierarchyProvider.js +23 -35
- package/dist/languageService/callHierarchyProvider.js.map +1 -1
- package/dist/languageService/codeActionProvider.d.ts +2 -1
- package/dist/languageService/codeActionProvider.js +8 -10
- package/dist/languageService/codeActionProvider.js.map +1 -1
- package/dist/languageService/completionProvider.d.ts +7 -6
- package/dist/languageService/completionProvider.js +32 -30
- package/dist/languageService/completionProvider.js.map +1 -1
- package/dist/languageService/completionProviderUtils.d.ts +2 -1
- package/dist/languageService/completionProviderUtils.js +1 -1
- package/dist/languageService/completionProviderUtils.js.map +1 -1
- package/dist/languageService/definitionProvider.d.ts +4 -3
- package/dist/languageService/definitionProvider.js +26 -24
- package/dist/languageService/definitionProvider.js.map +1 -1
- package/dist/languageService/documentHighlightProvider.d.ts +3 -2
- package/dist/languageService/documentHighlightProvider.js +3 -3
- package/dist/languageService/documentHighlightProvider.js.map +1 -1
- package/dist/languageService/documentSymbolCollector.js +8 -7
- package/dist/languageService/documentSymbolCollector.js.map +1 -1
- package/dist/languageService/documentSymbolProvider.d.ts +5 -4
- package/dist/languageService/documentSymbolProvider.js +9 -11
- package/dist/languageService/documentSymbolProvider.js.map +1 -1
- package/dist/languageService/hoverProvider.d.ts +4 -3
- package/dist/languageService/hoverProvider.js +6 -5
- package/dist/languageService/hoverProvider.js.map +1 -1
- package/dist/languageService/navigationUtils.d.ts +2 -1
- package/dist/languageService/navigationUtils.js +2 -3
- package/dist/languageService/navigationUtils.js.map +1 -1
- package/dist/languageService/quickActions.d.ts +2 -1
- package/dist/languageService/quickActions.js +3 -3
- package/dist/languageService/quickActions.js.map +1 -1
- package/dist/languageService/referencesProvider.d.ts +10 -9
- package/dist/languageService/referencesProvider.js +28 -28
- package/dist/languageService/referencesProvider.js.map +1 -1
- package/dist/languageService/renameProvider.d.ts +4 -3
- package/dist/languageService/renameProvider.js +17 -18
- package/dist/languageService/renameProvider.js.map +1 -1
- package/dist/languageService/signatureHelpProvider.d.ts +3 -2
- package/dist/languageService/signatureHelpProvider.js +4 -4
- package/dist/languageService/signatureHelpProvider.js.map +1 -1
- package/dist/languageService/symbolIndexer.d.ts +2 -1
- package/dist/languageService/symbolIndexer.js +11 -3
- package/dist/languageService/symbolIndexer.js.map +1 -1
- package/dist/languageService/tooltipUtils.js +10 -4
- package/dist/languageService/tooltipUtils.js.map +1 -1
- package/dist/languageService/workspaceSymbolProvider.d.ts +4 -3
- package/dist/languageService/workspaceSymbolProvider.js +10 -11
- package/dist/languageService/workspaceSymbolProvider.js.map +1 -1
- package/dist/localization/localize.d.ts +2 -0
- package/dist/localization/localize.js +2 -0
- package/dist/localization/localize.js.map +1 -1
- package/dist/localization/package.nls.en-us.json +3 -1
- package/dist/parser/parseNodes.d.ts +1 -0
- package/dist/parser/parseNodes.js +1 -0
- package/dist/parser/parseNodes.js.map +1 -1
- package/dist/parser/parser.js +18 -15
- package/dist/parser/parser.js.map +1 -1
- package/dist/pyright.js +16 -15
- package/dist/pyright.js.map +1 -1
- package/dist/pyrightFileSystem.d.ts +13 -13
- package/dist/pyrightFileSystem.js +38 -43
- package/dist/pyrightFileSystem.js.map +1 -1
- package/dist/readonlyAugmentedFileSystem.d.ts +29 -28
- package/dist/readonlyAugmentedFileSystem.js +62 -65
- package/dist/readonlyAugmentedFileSystem.js.map +1 -1
- package/dist/server.js +21 -20
- package/dist/server.js.map +1 -1
- package/dist/tests/chainedSourceFiles.test.js +39 -30
- package/dist/tests/chainedSourceFiles.test.js.map +1 -1
- package/dist/tests/checker.test.js +31 -30
- package/dist/tests/checker.test.js.map +1 -1
- package/dist/tests/classDeclaration.test.d.ts +1 -0
- package/dist/tests/classDeclaration.test.js +166 -0
- package/dist/tests/classDeclaration.test.js.map +1 -0
- package/dist/tests/completions.test.js +7 -3
- package/dist/tests/completions.test.js.map +1 -1
- package/dist/tests/config.test.js +24 -22
- package/dist/tests/config.test.js.map +1 -1
- package/dist/tests/documentSymbolCollector.test.js +3 -2
- package/dist/tests/documentSymbolCollector.test.js.map +1 -1
- package/dist/tests/filesystem.test.js +37 -35
- package/dist/tests/filesystem.test.js.map +1 -1
- package/dist/tests/fourSlashParser.test.js +4 -4
- package/dist/tests/fourSlashParser.test.js.map +1 -1
- package/dist/tests/fourslash/hover.docstring.alias.fourslash.js +27 -11
- package/dist/tests/fourslash/hover.docstring.alias.fourslash.js.map +1 -1
- package/dist/tests/harness/fourslash/fourSlashParser.js +2 -2
- package/dist/tests/harness/fourslash/fourSlashParser.js.map +1 -1
- package/dist/tests/harness/fourslash/testLanguageService.d.ts +4 -5
- package/dist/tests/harness/fourslash/testLanguageService.js +9 -15
- package/dist/tests/harness/fourslash/testLanguageService.js.map +1 -1
- package/dist/tests/harness/fourslash/testState.d.ts +4 -4
- package/dist/tests/harness/fourslash/testState.js +91 -51
- package/dist/tests/harness/fourslash/testState.js.map +1 -1
- package/dist/tests/harness/fourslash/workspaceEditTestUtils.js +4 -0
- package/dist/tests/harness/fourslash/workspaceEditTestUtils.js.map +1 -1
- package/dist/tests/harness/testAccessHost.d.ts +3 -2
- package/dist/tests/harness/testAccessHost.js +2 -1
- package/dist/tests/harness/testAccessHost.js.map +1 -1
- package/dist/tests/harness/testHost.js +13 -11
- package/dist/tests/harness/testHost.js.map +1 -1
- package/dist/tests/harness/vfs/factory.d.ts +3 -2
- package/dist/tests/harness/vfs/factory.js +5 -4
- package/dist/tests/harness/vfs/factory.js.map +1 -1
- package/dist/tests/harness/vfs/filesystem.d.ts +32 -31
- package/dist/tests/harness/vfs/filesystem.js +47 -49
- package/dist/tests/harness/vfs/filesystem.js.map +1 -1
- package/dist/tests/harness/vfs/pathValidation.js +1 -10
- package/dist/tests/harness/vfs/pathValidation.js.map +1 -1
- package/dist/tests/importResolver.test.js +106 -58
- package/dist/tests/importResolver.test.js.map +1 -1
- package/dist/tests/importStatementUtils.test.js +10 -9
- package/dist/tests/importStatementUtils.test.js.map +1 -1
- package/dist/tests/ipythonMode.test.js +12 -11
- package/dist/tests/ipythonMode.test.js.map +1 -1
- package/dist/tests/logger.test.js +2 -1
- package/dist/tests/logger.test.js.map +1 -1
- package/dist/tests/parseTreeUtils.test.js +2 -1
- package/dist/tests/parseTreeUtils.test.js.map +1 -1
- package/dist/tests/pathUtils.test.js +3 -138
- package/dist/tests/pathUtils.test.js.map +1 -1
- package/dist/tests/pyrightFileSystem.test.js +38 -34
- package/dist/tests/pyrightFileSystem.test.js.map +1 -1
- package/dist/tests/service.test.js +37 -42
- package/dist/tests/service.test.js.map +1 -1
- package/dist/tests/signatureHelp.test.js +3 -2
- package/dist/tests/signatureHelp.test.js.map +1 -1
- package/dist/tests/sourceFile.test.js +8 -7
- package/dist/tests/sourceFile.test.js.map +1 -1
- package/dist/tests/sourceMapperUtils.test.js +73 -35
- package/dist/tests/sourceMapperUtils.test.js.map +1 -1
- package/dist/tests/testState.test.js +13 -9
- package/dist/tests/testState.test.js.map +1 -1
- package/dist/tests/testStateUtils.d.ts +2 -5
- package/dist/tests/testStateUtils.js +27 -64
- package/dist/tests/testStateUtils.js.map +1 -1
- package/dist/tests/testUtils.d.ts +3 -5
- package/dist/tests/testUtils.js +15 -64
- package/dist/tests/testUtils.js.map +1 -1
- package/dist/tests/textEditUtil.test.js +4 -3
- package/dist/tests/textEditUtil.test.js.map +1 -1
- package/dist/tests/typeEvaluator1.test.js +16 -15
- package/dist/tests/typeEvaluator1.test.js.map +1 -1
- package/dist/tests/typeEvaluator2.test.js +22 -9
- package/dist/tests/typeEvaluator2.test.js.map +1 -1
- package/dist/tests/typeEvaluator3.test.js +86 -63
- package/dist/tests/typeEvaluator3.test.js.map +1 -1
- package/dist/tests/typeEvaluator4.test.js +29 -20
- package/dist/tests/typeEvaluator4.test.js.map +1 -1
- package/dist/tests/typeEvaluator5.test.js +28 -27
- package/dist/tests/typeEvaluator5.test.js.map +1 -1
- package/dist/tests/typePrinter.test.js +4 -3
- package/dist/tests/typePrinter.test.js.map +1 -1
- package/dist/tests/uri.test.d.ts +1 -0
- package/dist/tests/uri.test.js +695 -0
- package/dist/tests/uri.test.js.map +1 -0
- package/dist/tests/workspaceEditUtils.test.js +28 -28
- package/dist/tests/workspaceEditUtils.test.js.map +1 -1
- package/dist/tests/zipfs.test.js +11 -11
- package/dist/tests/zipfs.test.js.map +1 -1
- package/dist/workspaceFactory.d.ts +13 -14
- package/dist/workspaceFactory.js +54 -55
- package/dist/workspaceFactory.js.map +1 -1
- package/package.json +2 -2
- package/dist/common/uriParser.d.ts +0 -24
- package/dist/common/uriParser.js +0 -45
- package/dist/common/uriParser.js.map +0 -1
@@ -11,7 +11,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
11
11
|
exports.ReadOnlyAugmentedFileSystem = void 0;
|
12
12
|
const collectionUtils_1 = require("./common/collectionUtils");
|
13
13
|
const fileSystem_1 = require("./common/fileSystem");
|
14
|
-
const pathUtils_1 = require("./common/pathUtils");
|
15
14
|
class ReadOnlyAugmentedFileSystem {
|
16
15
|
constructor(realFS) {
|
17
16
|
this.realFS = realFS;
|
@@ -22,29 +21,31 @@ class ReadOnlyAugmentedFileSystem {
|
|
22
21
|
// Mapped files per a containing folder map
|
23
22
|
this._folderMap = new Map();
|
24
23
|
}
|
25
|
-
|
26
|
-
|
24
|
+
get isCaseSensitive() {
|
25
|
+
return this.realFS.isCaseSensitive;
|
26
|
+
}
|
27
|
+
existsSync(uri) {
|
28
|
+
if (this.isMovedEntry(uri)) {
|
27
29
|
// Pretend partial stub folder and its files not exist
|
28
30
|
return false;
|
29
31
|
}
|
30
|
-
return this.realFS.existsSync(this.getOriginalPath(
|
32
|
+
return this.realFS.existsSync(this.getOriginalPath(uri));
|
31
33
|
}
|
32
|
-
mkdirSync(
|
34
|
+
mkdirSync(uri, options) {
|
33
35
|
throw new Error('Operation is not allowed.');
|
34
36
|
}
|
35
|
-
chdir(
|
37
|
+
chdir(uri) {
|
36
38
|
throw new Error('Operation is not allowed.');
|
37
39
|
}
|
38
|
-
readdirEntriesSync(
|
39
|
-
const maybeDirectory = (0, pathUtils_1.ensureTrailingDirectorySeparator)(path);
|
40
|
+
readdirEntriesSync(uri) {
|
40
41
|
const entries = [];
|
41
|
-
const movedEntries = this._folderMap.get(
|
42
|
-
if (!movedEntries || this.realFS.existsSync(
|
43
|
-
(0, collectionUtils_1.appendArray)(entries, this.realFS.readdirEntriesSync(
|
42
|
+
const movedEntries = this._folderMap.get(uri.key);
|
43
|
+
if (!movedEntries || this.realFS.existsSync(uri)) {
|
44
|
+
(0, collectionUtils_1.appendArray)(entries, this.realFS.readdirEntriesSync(uri).filter((item) => {
|
44
45
|
// Filter out the stub package directory and any
|
45
46
|
// entries that will be overwritten by stub package
|
46
47
|
// virtual items.
|
47
|
-
return (!this.isMovedEntry(
|
48
|
+
return (!this.isMovedEntry(uri.combinePaths(item.name)) &&
|
48
49
|
!(movedEntries === null || movedEntries === void 0 ? void 0 : movedEntries.some((movedEntry) => movedEntry.name === item.name)));
|
49
50
|
}));
|
50
51
|
}
|
@@ -53,29 +54,29 @@ class ReadOnlyAugmentedFileSystem {
|
|
53
54
|
}
|
54
55
|
return entries.concat(movedEntries.map((e) => new fileSystem_1.VirtualDirent(e.name, e.isFile)));
|
55
56
|
}
|
56
|
-
readdirSync(
|
57
|
-
return this.readdirEntriesSync(
|
57
|
+
readdirSync(uri) {
|
58
|
+
return this.readdirEntriesSync(uri).map((p) => p.name);
|
58
59
|
}
|
59
|
-
readFileSync(
|
60
|
-
return this.realFS.readFileSync(this.getOriginalPath(
|
60
|
+
readFileSync(uri, encoding) {
|
61
|
+
return this.realFS.readFileSync(this.getOriginalPath(uri), encoding);
|
61
62
|
}
|
62
|
-
writeFileSync(
|
63
|
+
writeFileSync(uri, data, encoding) {
|
63
64
|
throw new Error('Operation is not allowed.');
|
64
65
|
}
|
65
|
-
statSync(
|
66
|
-
return this.realFS.statSync(this.getOriginalPath(
|
66
|
+
statSync(uri) {
|
67
|
+
return this.realFS.statSync(this.getOriginalPath(uri));
|
67
68
|
}
|
68
|
-
rmdirSync(
|
69
|
+
rmdirSync(uri) {
|
69
70
|
throw new Error('Operation is not allowed.');
|
70
71
|
}
|
71
|
-
unlinkSync(
|
72
|
+
unlinkSync(uri) {
|
72
73
|
throw new Error('Operation is not allowed.');
|
73
74
|
}
|
74
|
-
realpathSync(
|
75
|
-
if (this._entryMap.has(
|
76
|
-
return
|
75
|
+
realpathSync(uri) {
|
76
|
+
if (this._entryMap.has(uri.key)) {
|
77
|
+
return uri;
|
77
78
|
}
|
78
|
-
return this.realFS.realpathSync(
|
79
|
+
return this.realFS.realpathSync(uri);
|
79
80
|
}
|
80
81
|
getModulePath() {
|
81
82
|
return this.realFS.getModulePath();
|
@@ -83,73 +84,69 @@ class ReadOnlyAugmentedFileSystem {
|
|
83
84
|
createFileSystemWatcher(paths, listener) {
|
84
85
|
return this.realFS.createFileSystemWatcher(paths, listener);
|
85
86
|
}
|
86
|
-
createReadStream(
|
87
|
-
return this.realFS.createReadStream(this.getOriginalPath(
|
87
|
+
createReadStream(uri) {
|
88
|
+
return this.realFS.createReadStream(this.getOriginalPath(uri));
|
88
89
|
}
|
89
|
-
createWriteStream(
|
90
|
+
createWriteStream(uri) {
|
90
91
|
throw new Error('Operation is not allowed.');
|
91
92
|
}
|
92
93
|
copyFileSync(src, dst) {
|
93
94
|
throw new Error('Operation is not allowed.');
|
94
95
|
}
|
95
96
|
// Async I/O
|
96
|
-
readFile(
|
97
|
-
return this.realFS.readFile(this.getOriginalPath(
|
98
|
-
}
|
99
|
-
readFileText(path, encoding) {
|
100
|
-
return this.realFS.readFileText(this.getOriginalPath(path), encoding);
|
97
|
+
readFile(uri) {
|
98
|
+
return this.realFS.readFile(this.getOriginalPath(uri));
|
101
99
|
}
|
102
|
-
|
103
|
-
return this.realFS.
|
100
|
+
readFileText(uri, encoding) {
|
101
|
+
return this.realFS.readFileText(this.getOriginalPath(uri), encoding);
|
104
102
|
}
|
105
|
-
|
106
|
-
return this.realFS.
|
103
|
+
realCasePath(uri) {
|
104
|
+
return this.realFS.realCasePath(uri);
|
107
105
|
}
|
108
106
|
// See whether the file is mapped to another location.
|
109
|
-
|
110
|
-
return this._entryMap.has(
|
107
|
+
isMappedUri(fileUri) {
|
108
|
+
return this._entryMap.has(fileUri.key) || this.realFS.isMappedUri(fileUri);
|
111
109
|
}
|
112
110
|
// Get original filepath if the given filepath is mapped.
|
113
|
-
|
114
|
-
return this.realFS.
|
111
|
+
getOriginalUri(mappedFileUri) {
|
112
|
+
return this.realFS.getOriginalUri(this.getOriginalPath(mappedFileUri));
|
115
113
|
}
|
116
114
|
// Get mapped filepath if the given filepath is mapped.
|
117
|
-
|
115
|
+
getMappedUri(originalFileUri) {
|
118
116
|
var _a;
|
119
|
-
const
|
120
|
-
return (_a = this._reverseEntryMap.get(
|
121
|
-
}
|
122
|
-
isInZip(
|
123
|
-
return this.realFS.isInZip(
|
124
|
-
}
|
125
|
-
recordMovedEntry(
|
126
|
-
this._entryMap.set(
|
127
|
-
this._reverseEntryMap.set(
|
128
|
-
const directory =
|
129
|
-
const folderInfo = (0, collectionUtils_1.getOrAdd)(this._folderMap, directory, () => []);
|
130
|
-
const name =
|
117
|
+
const mappedFileUri = this.realFS.getMappedUri(originalFileUri);
|
118
|
+
return (_a = this._reverseEntryMap.get(mappedFileUri.key)) !== null && _a !== void 0 ? _a : mappedFileUri;
|
119
|
+
}
|
120
|
+
isInZip(uri) {
|
121
|
+
return this.realFS.isInZip(uri);
|
122
|
+
}
|
123
|
+
recordMovedEntry(mappedUri, originalUri, rootPath) {
|
124
|
+
this._entryMap.set(mappedUri.key, originalUri);
|
125
|
+
this._reverseEntryMap.set(originalUri.key, mappedUri);
|
126
|
+
const directory = mappedUri.getDirectory();
|
127
|
+
const folderInfo = (0, collectionUtils_1.getOrAdd)(this._folderMap, directory.key, () => []);
|
128
|
+
const name = mappedUri.fileName;
|
131
129
|
if (!folderInfo.some((entry) => entry.name === name)) {
|
132
130
|
folderInfo.push({ name, isFile: true });
|
133
131
|
}
|
134
|
-
// Add the directory entries for the sub paths as well.
|
135
|
-
|
136
|
-
|
137
|
-
|
138
|
-
const
|
139
|
-
const parent = (0, pathUtils_1.ensureTrailingDirectorySeparator)((0, pathUtils_1.getDirectoryPath)(subdir));
|
132
|
+
// Add the directory entries for the sub paths as well.
|
133
|
+
const subPathEntries = rootPath.getRelativePathComponents(directory);
|
134
|
+
for (let i = 0; i < subPathEntries.length; i++) {
|
135
|
+
const subdir = rootPath.combinePaths(...subPathEntries.slice(0, i + 1));
|
136
|
+
const parent = subdir.getDirectory().key;
|
140
137
|
const dirInfo = (0, collectionUtils_1.getOrAdd)(this._folderMap, parent, () => []);
|
141
|
-
const dirName =
|
138
|
+
const dirName = subdir.fileName;
|
142
139
|
if (!dirInfo.some((entry) => entry.name === dirName)) {
|
143
140
|
dirInfo.push({ name: dirName, isFile: false });
|
144
141
|
}
|
145
142
|
}
|
146
143
|
}
|
147
|
-
getOriginalPath(
|
144
|
+
getOriginalPath(mappedFileUri) {
|
148
145
|
var _a;
|
149
|
-
return (_a = this._entryMap.get(
|
146
|
+
return (_a = this._entryMap.get(mappedFileUri.key)) !== null && _a !== void 0 ? _a : mappedFileUri;
|
150
147
|
}
|
151
|
-
isMovedEntry(
|
152
|
-
return this._reverseEntryMap.has(
|
148
|
+
isMovedEntry(uri) {
|
149
|
+
return this._reverseEntryMap.has(uri.key);
|
153
150
|
}
|
154
151
|
clear() {
|
155
152
|
this._entryMap.clear();
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"readonlyAugmentedFileSystem.js","sourceRoot":"","sources":["../../src/readonlyAugmentedFileSystem.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;;AAIH,8DAAiE;AACjE,oDAAqF;
|
1
|
+
{"version":3,"file":"readonlyAugmentedFileSystem.js","sourceRoot":"","sources":["../../src/readonlyAugmentedFileSystem.ts"],"names":[],"mappings":"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"}
|
package/dist/server.js
CHANGED
@@ -19,9 +19,10 @@ const core_1 = require("./common/core");
|
|
19
19
|
const envVarUtils_1 = require("./common/envVarUtils");
|
20
20
|
const fileBasedCancellationUtils_1 = require("./common/fileBasedCancellationUtils");
|
21
21
|
const fullAccessHost_1 = require("./common/fullAccessHost");
|
22
|
-
const pathUtils_1 = require("./common/pathUtils");
|
23
22
|
const realFileSystem_1 = require("./common/realFileSystem");
|
24
23
|
const serviceProviderExtensions_1 = require("./common/serviceProviderExtensions");
|
24
|
+
const uri_1 = require("./common/uri/uri");
|
25
|
+
const uriUtils_1 = require("./common/uri/uriUtils");
|
25
26
|
const languageServerBase_1 = require("./languageServerBase");
|
26
27
|
const codeActionProvider_1 = require("./languageService/codeActionProvider");
|
27
28
|
const pyrightFileSystem_1 = require("./pyrightFileSystem");
|
@@ -30,18 +31,18 @@ class PyrightServer extends languageServerBase_1.LanguageServerBase {
|
|
30
31
|
constructor(connection) {
|
31
32
|
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
32
33
|
const version = require('../package.json').version || '';
|
33
|
-
// When executed from CLI command (pyright-langserver), __rootDirectory is
|
34
|
-
// already defined. When executed from VSCode extension, rootDirectory should
|
35
|
-
// be __dirname.
|
36
|
-
const rootDirectory = global.__rootDirectory || __dirname;
|
37
34
|
const console = new console_1.ConsoleWithLogLevel(connection.console);
|
38
35
|
const fileWatcherProvider = new realFileSystem_1.WorkspaceFileWatcherProvider();
|
39
36
|
const fileSystem = (0, realFileSystem_1.createFromRealFileSystem)(console, fileWatcherProvider);
|
40
37
|
const pyrightFs = new pyrightFileSystem_1.PyrightFileSystem(fileSystem);
|
41
|
-
const tempFile = new realFileSystem_1.RealTempFile();
|
38
|
+
const tempFile = new realFileSystem_1.RealTempFile(pyrightFs.isCaseSensitive);
|
42
39
|
const cacheManager = new cacheManager_1.CacheManager();
|
43
40
|
const serviceProvider = (0, serviceProviderExtensions_1.createServiceProvider)(pyrightFs, tempFile, console, cacheManager);
|
44
|
-
|
41
|
+
// When executed from CLI command (pyright-langserver), __rootDirectory is
|
42
|
+
// already defined. When executed from VSCode extension, rootDirectory should
|
43
|
+
// be __dirname.
|
44
|
+
const rootDirectory = (0, uriUtils_1.getRootUri)(pyrightFs.isCaseSensitive) || uri_1.Uri.file(__dirname, pyrightFs.isCaseSensitive);
|
45
|
+
const realPathRoot = pyrightFs.realCasePath(rootDirectory);
|
45
46
|
super({
|
46
47
|
productName: 'Pyright',
|
47
48
|
rootDirectory: realPathRoot,
|
@@ -70,29 +71,29 @@ class PyrightServer extends languageServerBase_1.LanguageServerBase {
|
|
70
71
|
functionSignatureDisplay: configOptions_1.SignatureDisplayType.formatted,
|
71
72
|
};
|
72
73
|
try {
|
73
|
-
const pythonSection = await this.getConfiguration(workspace.
|
74
|
+
const pythonSection = await this.getConfiguration(workspace.rootUri, 'python');
|
74
75
|
if (pythonSection) {
|
75
76
|
const pythonPath = pythonSection.pythonPath;
|
76
77
|
if (pythonPath && (0, core_1.isString)(pythonPath) && !(0, pythonPathUtils_1.isPythonBinary)(pythonPath)) {
|
77
|
-
serverSettings.pythonPath =
|
78
|
+
serverSettings.pythonPath = workspace.rootUri.combinePaths((0, envVarUtils_1.expandPathVariables)(workspace.rootUri, pythonPath));
|
78
79
|
}
|
79
80
|
const venvPath = pythonSection.venvPath;
|
80
81
|
if (venvPath && (0, core_1.isString)(venvPath)) {
|
81
|
-
serverSettings.venvPath =
|
82
|
+
serverSettings.venvPath = workspace.rootUri.combinePaths((0, envVarUtils_1.expandPathVariables)(workspace.rootUri, venvPath));
|
82
83
|
}
|
83
84
|
}
|
84
|
-
const pythonAnalysisSection = await this.getConfiguration(workspace.
|
85
|
+
const pythonAnalysisSection = await this.getConfiguration(workspace.rootUri, 'python.analysis');
|
85
86
|
if (pythonAnalysisSection) {
|
86
87
|
const typeshedPaths = pythonAnalysisSection.typeshedPaths;
|
87
88
|
if (typeshedPaths && Array.isArray(typeshedPaths) && typeshedPaths.length > 0) {
|
88
89
|
const typeshedPath = typeshedPaths[0];
|
89
90
|
if (typeshedPath && (0, core_1.isString)(typeshedPath)) {
|
90
|
-
serverSettings.typeshedPath =
|
91
|
+
serverSettings.typeshedPath = workspace.rootUri.combinePaths((0, envVarUtils_1.expandPathVariables)(workspace.rootUri, typeshedPath));
|
91
92
|
}
|
92
93
|
}
|
93
94
|
const stubPath = pythonAnalysisSection.stubPath;
|
94
95
|
if (stubPath && (0, core_1.isString)(stubPath)) {
|
95
|
-
serverSettings.stubPath =
|
96
|
+
serverSettings.stubPath = workspace.rootUri.combinePaths((0, envVarUtils_1.expandPathVariables)(workspace.rootUri, stubPath));
|
96
97
|
}
|
97
98
|
const diagnosticSeverityOverrides = pythonAnalysisSection.diagnosticSeverityOverrides;
|
98
99
|
if (diagnosticSeverityOverrides) {
|
@@ -119,7 +120,7 @@ class PyrightServer extends languageServerBase_1.LanguageServerBase {
|
|
119
120
|
if (extraPaths && Array.isArray(extraPaths) && extraPaths.length > 0) {
|
120
121
|
serverSettings.extraPaths = extraPaths
|
121
122
|
.filter((p) => p && (0, core_1.isString)(p))
|
122
|
-
.map((p) =>
|
123
|
+
.map((p) => workspace.rootUri.combinePaths((0, envVarUtils_1.expandPathVariables)(workspace.rootUri, p)));
|
123
124
|
}
|
124
125
|
serverSettings.includeFileSpecs = this._getStringValues(pythonAnalysisSection.include);
|
125
126
|
serverSettings.excludeFileSpecs = this._getStringValues(pythonAnalysisSection.exclude);
|
@@ -141,7 +142,7 @@ class PyrightServer extends languageServerBase_1.LanguageServerBase {
|
|
141
142
|
else {
|
142
143
|
serverSettings.autoSearchPaths = true;
|
143
144
|
}
|
144
|
-
const pyrightSection = await this.getConfiguration(workspace.
|
145
|
+
const pyrightSection = await this.getConfiguration(workspace.rootUri, 'pyright');
|
145
146
|
if (pyrightSection) {
|
146
147
|
if (pyrightSection.openFilesOnly !== undefined) {
|
147
148
|
serverSettings.openFilesOnly = !!pyrightSection.openFilesOnly;
|
@@ -168,10 +169,10 @@ class PyrightServer extends languageServerBase_1.LanguageServerBase {
|
|
168
169
|
// is used where cancellation is not supported.
|
169
170
|
return undefined;
|
170
171
|
}
|
171
|
-
return new backgroundAnalysis_1.BackgroundAnalysis(this.
|
172
|
+
return new backgroundAnalysis_1.BackgroundAnalysis(this.serverOptions.serviceProvider);
|
172
173
|
}
|
173
174
|
createHost() {
|
174
|
-
return new fullAccessHost_1.FullAccessHost(this.
|
175
|
+
return new fullAccessHost_1.FullAccessHost(this.serverOptions.serviceProvider);
|
175
176
|
}
|
176
177
|
createImportResolver(serviceProvider, options, host) {
|
177
178
|
const importResolver = new importResolver_1.ImportResolver(serviceProvider, options, host);
|
@@ -188,9 +189,9 @@ class PyrightServer extends languageServerBase_1.LanguageServerBase {
|
|
188
189
|
}
|
189
190
|
async executeCodeAction(params, token) {
|
190
191
|
this.recordUserInteractionTime();
|
191
|
-
const
|
192
|
-
const workspace = await this.getWorkspaceForFile(
|
193
|
-
return codeActionProvider_1.CodeActionProvider.getCodeActionsForPosition(workspace,
|
192
|
+
const uri = uri_1.Uri.parse(params.textDocument.uri, this.serverOptions.serviceProvider.fs().isCaseSensitive);
|
193
|
+
const workspace = await this.getWorkspaceForFile(uri);
|
194
|
+
return codeActionProvider_1.CodeActionProvider.getCodeActionsForPosition(workspace, uri, params.range, params.context.only, token);
|
194
195
|
}
|
195
196
|
createProgressReporter() {
|
196
197
|
// The old progress notifications are kept for backwards compatibility with
|
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,wCAAsD;AACtD,sDAA2D;AAC3D,oFAAoF;AACpF,4DAAyD;
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/server.ts"],"names":[],"mappings":"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"}
|
@@ -42,13 +42,14 @@ const configOptions_1 = require("../common/configOptions");
|
|
42
42
|
const console_1 = require("../common/console");
|
43
43
|
const pathUtils_1 = require("../common/pathUtils");
|
44
44
|
const positionUtils_1 = require("../common/positionUtils");
|
45
|
+
const serviceProvider_1 = require("../common/serviceProvider");
|
46
|
+
const uri_1 = require("../common/uri/uri");
|
47
|
+
const completionProvider_1 = require("../languageService/completionProvider");
|
45
48
|
const fourSlashParser_1 = require("./harness/fourslash/fourSlashParser");
|
46
49
|
const testAccessHost_1 = require("./harness/testAccessHost");
|
47
50
|
const host = __importStar(require("./harness/testHost"));
|
48
51
|
const factory_1 = require("./harness/vfs/factory");
|
49
52
|
const vfs = __importStar(require("./harness/vfs/filesystem"));
|
50
|
-
const completionProvider_1 = require("../languageService/completionProvider");
|
51
|
-
const serviceProvider_1 = require("../common/serviceProvider");
|
52
53
|
test('check chained files', () => {
|
53
54
|
const code = `
|
54
55
|
// @filename: test1.py
|
@@ -63,11 +64,12 @@ test('check chained files', () => {
|
|
63
64
|
// @filename: test4.py
|
64
65
|
//// [|foo/*marker*/|]
|
65
66
|
`;
|
66
|
-
const basePath = (0, pathUtils_1.normalizeSlashes)('/');
|
67
|
+
const basePath = uri_1.Uri.file((0, pathUtils_1.normalizeSlashes)('/'));
|
67
68
|
const { data, service } = createServiceWithChainedSourceFiles(basePath, code);
|
68
69
|
const marker = data.markerPositions.get('marker');
|
69
|
-
const
|
70
|
-
const
|
70
|
+
const markerUri = uri_1.Uri.file(marker.fileName);
|
71
|
+
const parseResult = service.getParseResult(markerUri);
|
72
|
+
const result = new completionProvider_1.CompletionProvider(service.test_program, basePath, markerUri, (0, positionUtils_1.convertOffsetToPosition)(marker.position, parseResult.tokenizerOutput.lines), {
|
71
73
|
format: vscode_languageserver_types_1.MarkupKind.Markdown,
|
72
74
|
lazyEdit: false,
|
73
75
|
snippet: false,
|
@@ -91,16 +93,17 @@ test('modify chained files', () => {
|
|
91
93
|
// @filename: test4.py
|
92
94
|
//// [|foo/*marker*/|]
|
93
95
|
`;
|
94
|
-
const basePath = (0, pathUtils_1.normalizeSlashes)('/');
|
96
|
+
const basePath = uri_1.Uri.file((0, pathUtils_1.normalizeSlashes)('/'));
|
95
97
|
const { data, service } = createServiceWithChainedSourceFiles(basePath, code);
|
96
98
|
// Make sure files are all realized.
|
97
99
|
const marker = data.markerPositions.get('marker');
|
98
|
-
const
|
100
|
+
const markerUri = uri_1.Uri.file(marker.fileName);
|
101
|
+
const parseResult = service.getParseResult(markerUri);
|
99
102
|
// Close file in the middle of the chain
|
100
|
-
service.setFileClosed(data.markerPositions.get('delete').fileName);
|
103
|
+
service.setFileClosed(uri_1.Uri.file(data.markerPositions.get('delete').fileName));
|
101
104
|
// Make sure we don't get suggestion from auto import but from chained files.
|
102
105
|
service.test_program.configOptions.autoImportCompletions = false;
|
103
|
-
const result = new completionProvider_1.CompletionProvider(service.test_program, basePath,
|
106
|
+
const result = new completionProvider_1.CompletionProvider(service.test_program, basePath, markerUri, (0, positionUtils_1.convertOffsetToPosition)(marker.position, parseResult.tokenizerOutput.lines), {
|
104
107
|
format: vscode_languageserver_types_1.MarkupKind.Markdown,
|
105
108
|
lazyEdit: false,
|
106
109
|
snippet: false,
|
@@ -125,19 +128,20 @@ test('modify chained files', async () => {
|
|
125
128
|
// @filename: test4.py
|
126
129
|
//// [|/*marker*/foo1()|]
|
127
130
|
`;
|
128
|
-
const basePath = (0, pathUtils_1.normalizeSlashes)('/');
|
131
|
+
const basePath = uri_1.Uri.file((0, pathUtils_1.normalizeSlashes)('/'));
|
129
132
|
const { data, service } = createServiceWithChainedSourceFiles(basePath, code);
|
130
133
|
const marker = data.markerPositions.get('marker');
|
134
|
+
const markerUri = uri_1.Uri.file(marker.fileName);
|
131
135
|
const range = data.ranges.find((r) => r.marker === marker);
|
132
|
-
const parseResults = service.getParseResult(
|
136
|
+
const parseResults = service.getParseResult(markerUri);
|
133
137
|
analyze(service.test_program);
|
134
138
|
// Initially, there should be no error.
|
135
|
-
const initialDiags = await service.getDiagnosticsForRange(
|
139
|
+
const initialDiags = await service.getDiagnosticsForRange(markerUri, (0, positionUtils_1.convertOffsetsToRange)(range.pos, range.end, parseResults.tokenizerOutput.lines), vscode_jsonrpc_1.CancellationToken.None);
|
136
140
|
assert_1.default.strictEqual(initialDiags.length, 0);
|
137
141
|
// Change test1 content
|
138
|
-
service.updateOpenFileContents(data.markerPositions.get('changed').fileName, 2, 'def foo5(): pass');
|
142
|
+
service.updateOpenFileContents(uri_1.Uri.file(data.markerPositions.get('changed').fileName), 2, 'def foo5(): pass');
|
139
143
|
analyze(service.test_program);
|
140
|
-
const finalDiags = await service.getDiagnosticsForRange(
|
144
|
+
const finalDiags = await service.getDiagnosticsForRange(markerUri, (0, positionUtils_1.convertOffsetsToRange)(range.pos, range.end, parseResults.tokenizerOutput.lines), vscode_jsonrpc_1.CancellationToken.None);
|
141
145
|
assert_1.default.strictEqual(finalDiags.length, 1);
|
142
146
|
});
|
143
147
|
function generateChainedFiles(count, lastFile) {
|
@@ -157,14 +161,15 @@ test('chained files with 1000s of files', async () => {
|
|
157
161
|
//// [|/*marker*/foo1()|]
|
158
162
|
`;
|
159
163
|
const code = generateChainedFiles(1000, lastFile);
|
160
|
-
const basePath = (0, pathUtils_1.normalizeSlashes)('/');
|
164
|
+
const basePath = uri_1.Uri.file((0, pathUtils_1.normalizeSlashes)('/'));
|
161
165
|
const { data, service } = createServiceWithChainedSourceFiles(basePath, code);
|
162
166
|
const marker = data.markerPositions.get('marker');
|
167
|
+
const markerUri = uri_1.Uri.file(marker.fileName);
|
163
168
|
const range = data.ranges.find((r) => r.marker === marker);
|
164
|
-
const parseResults = service.getParseResult(
|
169
|
+
const parseResults = service.getParseResult(markerUri);
|
165
170
|
analyze(service.test_program);
|
166
171
|
// There should be no error as it should find the foo1 in the first chained file.
|
167
|
-
const initialDiags = await service.getDiagnosticsForRange(
|
172
|
+
const initialDiags = await service.getDiagnosticsForRange(markerUri, (0, positionUtils_1.convertOffsetsToRange)(range.pos, range.end, parseResults.tokenizerOutput.lines), vscode_jsonrpc_1.CancellationToken.None);
|
168
173
|
assert_1.default.strictEqual(initialDiags.length, 0);
|
169
174
|
});
|
170
175
|
test('imported by files', async () => {
|
@@ -175,13 +180,14 @@ test('imported by files', async () => {
|
|
175
180
|
// @filename: test2.py
|
176
181
|
//// os.path.join()
|
177
182
|
`;
|
178
|
-
const basePath = (0, pathUtils_1.normalizeSlashes)('/');
|
183
|
+
const basePath = uri_1.Uri.file((0, pathUtils_1.normalizeSlashes)('/'));
|
179
184
|
const { data, service } = createServiceWithChainedSourceFiles(basePath, code);
|
180
185
|
analyze(service.test_program);
|
181
186
|
const marker = data.markerPositions.get('marker');
|
187
|
+
const markerUri = uri_1.Uri.file(marker.fileName);
|
182
188
|
const range = data.ranges.find((r) => r.marker === marker);
|
183
|
-
const parseResults = service.getParseResult(
|
184
|
-
const diagnostics = await service.getDiagnosticsForRange(
|
189
|
+
const parseResults = service.getParseResult(markerUri);
|
190
|
+
const diagnostics = await service.getDiagnosticsForRange(markerUri, (0, positionUtils_1.convertOffsetsToRange)(range.pos, range.end, parseResults.tokenizerOutput.lines), vscode_jsonrpc_1.CancellationToken.None);
|
185
191
|
assert_1.default.strictEqual(diagnostics.length, 0);
|
186
192
|
});
|
187
193
|
test('re ordering cells', async () => {
|
@@ -192,33 +198,36 @@ test('re ordering cells', async () => {
|
|
192
198
|
// @filename: test2.py
|
193
199
|
//// /*bottom*/os.path.join()
|
194
200
|
`;
|
195
|
-
const basePath = (0, pathUtils_1.normalizeSlashes)('/');
|
201
|
+
const basePath = uri_1.Uri.file((0, pathUtils_1.normalizeSlashes)('/'));
|
196
202
|
const { data, service } = createServiceWithChainedSourceFiles(basePath, code);
|
197
203
|
analyze(service.test_program);
|
198
204
|
const marker = data.markerPositions.get('marker');
|
205
|
+
const markerUri = uri_1.Uri.file(marker.fileName);
|
199
206
|
const range = data.ranges.find((r) => r.marker === marker);
|
200
207
|
const bottom = data.markerPositions.get('bottom');
|
201
|
-
|
202
|
-
service.
|
208
|
+
const bottomUri = uri_1.Uri.file(bottom.fileName);
|
209
|
+
service.updateChainedUri(bottomUri, undefined);
|
210
|
+
service.updateChainedUri(markerUri, bottomUri);
|
203
211
|
analyze(service.test_program);
|
204
|
-
const parseResults = service.getParseResult(
|
205
|
-
const diagnostics = await service.getDiagnosticsForRange(
|
212
|
+
const parseResults = service.getParseResult(markerUri);
|
213
|
+
const diagnostics = await service.getDiagnosticsForRange(markerUri, (0, positionUtils_1.convertOffsetsToRange)(range.pos, range.end, parseResults.tokenizerOutput.lines), vscode_jsonrpc_1.CancellationToken.None);
|
206
214
|
assert_1.default.strictEqual(diagnostics.length, 1);
|
207
215
|
});
|
208
216
|
function createServiceWithChainedSourceFiles(basePath, code) {
|
209
|
-
const fs = (0, factory_1.createFromFileSystem)(host.HOST, /*ignoreCase*/ false, { cwd: basePath });
|
217
|
+
const fs = (0, factory_1.createFromFileSystem)(host.HOST, /*ignoreCase*/ false, { cwd: basePath.getFilePath() });
|
210
218
|
const service = new service_1.AnalyzerService('test service', new serviceProvider_1.ServiceProvider(), {
|
211
219
|
console: new console_1.NullConsole(),
|
212
|
-
hostFactory: () => new testAccessHost_1.TestAccessHost(vfs.MODULE_PATH, [factory_1.libFolder, factory_1.distlibFolder]),
|
220
|
+
hostFactory: () => new testAccessHost_1.TestAccessHost(uri_1.Uri.file(vfs.MODULE_PATH), [factory_1.libFolder, factory_1.distlibFolder]),
|
213
221
|
importResolverFactory: service_1.AnalyzerService.createImportResolver,
|
214
222
|
configOptions: new configOptions_1.ConfigOptions(basePath),
|
215
223
|
fileSystem: fs,
|
216
224
|
});
|
217
|
-
const data = (0, fourSlashParser_1.parseTestData)(basePath, code, '');
|
225
|
+
const data = (0, fourSlashParser_1.parseTestData)(basePath.getFilePath(), code, '');
|
218
226
|
let chainedFilePath;
|
219
227
|
for (const file of data.files) {
|
220
|
-
|
221
|
-
|
228
|
+
const uri = uri_1.Uri.file(file.fileName);
|
229
|
+
service.setFileOpened(uri, 1, file.content, sourceFile_1.IPythonMode.CellDocs, chainedFilePath);
|
230
|
+
chainedFilePath = uri;
|
222
231
|
}
|
223
232
|
return { data, service };
|
224
233
|
}
|
@@ -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,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":";AAAA;;;;;;GAMG;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,oDAA4B;AAC5B,mDAAmD;AACnD,6EAAyD;AAGzD,iDAAsD;AACtD,uDAAqD;AACrD,2DAAwD;AACxD,+CAAgD;AAChD,mDAAuD;AACvD,2DAAyF;AACzF,+DAA4D;AAC5D,2CAAwC;AACxC,8EAA2E;AAC3E,yEAAoE;AACpE,6DAA0D;AAC1D,yDAA2C;AAC3C,mDAAuF;AACvF,8DAAgD;AAEhD,IAAI,CAAC,qBAAqB,EAAE,GAAG,EAAE;IAC7B,MAAM,IAAI,GAAG;;;;;;;;;;;;KAYZ,CAAC;IAEF,MAAM,QAAQ,GAAG,SAAG,CAAC,IAAI,CAAC,IAAA,4BAAgB,EAAC,GAAG,CAAC,CAAC,CAAC;IACjD,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,mCAAmC,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAE9E,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAE,CAAC;IACnD,MAAM,SAAS,GAAG,SAAG,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAE5C,MAAM,WAAW,GAAG,OAAO,CAAC,cAAc,CAAC,SAAS,CAAE,CAAC;IACvD,MAAM,MAAM,GAAG,IAAI,uCAAkB,CACjC,OAAO,CAAC,YAAY,EACpB,QAAQ,EACR,SAAS,EACT,IAAA,uCAAuB,EAAC,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,eAAe,CAAC,KAAK,CAAC,EAC3E;QACI,MAAM,EAAE,wCAAU,CAAC,QAAQ;QAC3B,QAAQ,EAAE,KAAK;QACf,OAAO,EAAE,KAAK;KACjB,EACD,kCAAiB,CAAC,IAAI,CACzB,CAAC,cAAc,EAAE,CAAC;IAEnB,IAAA,gBAAM,EAAC,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC;IACtD,IAAA,gBAAM,EAAC,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC;IACtD,IAAA,gBAAM,EAAC,MAAM,aAAN,MAAM,uBAAN,MAAM,CAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC;AAC1D,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,sBAAsB,EAAE,GAAG,EAAE;IAC9B,MAAM,IAAI,GAAG;;;;;;;;;;;;;KAaZ,CAAC;IAEF,MAAM,QAAQ,GAAG,SAAG,CAAC,IAAI,CAAC,IAAA,4BAAgB,EAAC,GAAG,CAAC,CAAC,CAAC;IACjD,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,mCAAmC,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAE9E,oCAAoC;IACpC,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAE,CAAC;IACnD,MAAM,SAAS,GAAG,SAAG,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC5C,MAAM,WAAW,GAAG,OAAO,CAAC,cAAc,CAAC,SAAS,CAAE,CAAC;IAEvD,wCAAwC;IACxC,OAAO,CAAC,aAAa,CAAC,SAAG,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;IAE9E,6EAA6E;IAC7E,OAAO,CAAC,YAAY,CAAC,aAAa,CAAC,qBAAqB,GAAG,KAAK,CAAC;IAEjE,MAAM,MAAM,GAAG,IAAI,uCAAkB,CACjC,OAAO,CAAC,YAAY,EACpB,QAAQ,EACR,SAAS,EACT,IAAA,uCAAuB,EAAC,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,eAAe,CAAC,KAAK,CAAC,EAC3E;QACI,MAAM,EAAE,wCAAU,CAAC,QAAQ;QAC3B,QAAQ,EAAE,KAAK;QACf,OAAO,EAAE,KAAK;KACjB,EACD,kCAAiB,CAAC,IAAI,CACzB,CAAC,cAAc,EAAE,CAAC;IAEnB,IAAA,gBAAM,EAAC,MAAM,CAAC,CAAC;IAEf,IAAA,gBAAM,EAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC;IACtD,IAAA,gBAAM,EAAC,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC;IACtD,IAAA,gBAAM,EAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,MAAM,CAAC,CAAC,CAAC;AACzD,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,sBAAsB,EAAE,KAAK,IAAI,EAAE;IACpC,MAAM,IAAI,GAAG;;;;;;;;;;;;;KAaZ,CAAC;IAEF,MAAM,QAAQ,GAAG,SAAG,CAAC,IAAI,CAAC,IAAA,4BAAgB,EAAC,GAAG,CAAC,CAAC,CAAC;IACjD,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,mCAAmC,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAE9E,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAE,CAAC;IACnD,MAAM,SAAS,GAAG,SAAG,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC5C,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAE,CAAC;IAE5D,MAAM,YAAY,GAAG,OAAO,CAAC,cAAc,CAAC,SAAS,CAAE,CAAC;IACxD,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IAE9B,uCAAuC;IACvC,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,sBAAsB,CACrD,SAAS,EACT,IAAA,qCAAqB,EAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,YAAY,CAAC,eAAe,CAAC,KAAK,CAAC,EAC/E,kCAAiB,CAAC,IAAI,CACzB,CAAC;IAEF,gBAAM,CAAC,WAAW,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;IAE3C,uBAAuB;IACvB,OAAO,CAAC,sBAAsB,CAAC,SAAG,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,SAAS,CAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,EAAE,kBAAkB,CAAC,CAAC;IAC/G,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IAE9B,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,sBAAsB,CACnD,SAAS,EACT,IAAA,qCAAqB,EAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,YAAY,CAAC,eAAe,CAAC,KAAK,CAAC,EAC/E,kCAAiB,CAAC,IAAI,CACzB,CAAC;IAEF,gBAAM,CAAC,WAAW,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;AAC7C,CAAC,CAAC,CAAC;AAEH,SAAS,oBAAoB,CAAC,KAAa,EAAE,QAAgB;IACzD,IAAI,IAAI,GAAG,EAAE,CAAC;IACd,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,CAAC,EAAE,EAAE;QAC5B,IAAI,IAAI;oBACI,CAAC,GAAG,CAAC;cACX,CAAC,GAAG,CAAC;CAClB,CAAC;KACG;IACD,IAAI,IAAI,QAAQ,CAAC;IACjB,OAAO,IAAI,CAAC;AAChB,CAAC;AAED,IAAI,CAAC,mCAAmC,EAAE,KAAK,IAAI,EAAE;IACjD,MAAM,QAAQ,GAAG;;;KAGhB,CAAC;IACF,MAAM,IAAI,GAAG,oBAAoB,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAClD,MAAM,QAAQ,GAAG,SAAG,CAAC,IAAI,CAAC,IAAA,4BAAgB,EAAC,GAAG,CAAC,CAAC,CAAC;IACjD,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,mCAAmC,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAC9E,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAE,CAAC;IACnD,MAAM,SAAS,GAAG,SAAG,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC5C,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAE,CAAC;IAE5D,MAAM,YAAY,GAAG,OAAO,CAAC,cAAc,CAAC,SAAS,CAAE,CAAC;IACxD,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IAE9B,iFAAiF;IACjF,MAAM,YAAY,GAAG,MAAM,OAAO,CAAC,sBAAsB,CACrD,SAAS,EACT,IAAA,qCAAqB,EAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,YAAY,CAAC,eAAe,CAAC,KAAK,CAAC,EAC/E,kCAAiB,CAAC,IAAI,CACzB,CAAC;IAEF,gBAAM,CAAC,WAAW,CAAC,YAAY,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;AAC/C,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,mBAAmB,EAAE,KAAK,IAAI,EAAE;IACjC,MAAM,IAAI,GAAG;;;;;;KAMZ,CAAC;IAEF,MAAM,QAAQ,GAAG,SAAG,CAAC,IAAI,CAAC,IAAA,4BAAgB,EAAC,GAAG,CAAC,CAAC,CAAC;IACjD,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,mCAAmC,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAC9E,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IAE9B,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAE,CAAC;IACnD,MAAM,SAAS,GAAG,SAAG,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC5C,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAE,CAAC;IAE5D,MAAM,YAAY,GAAG,OAAO,CAAC,cAAc,CAAC,SAAS,CAAE,CAAC;IACxD,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,sBAAsB,CACpD,SAAS,EACT,IAAA,qCAAqB,EAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,YAAY,CAAC,eAAe,CAAC,KAAK,CAAC,EAC/E,kCAAiB,CAAC,IAAI,CACzB,CAAC;IAEF,gBAAM,CAAC,WAAW,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;AAC9C,CAAC,CAAC,CAAC;AAEH,IAAI,CAAC,mBAAmB,EAAE,KAAK,IAAI,EAAE;IACjC,MAAM,IAAI,GAAG;;;;;;KAMZ,CAAC;IAEF,MAAM,QAAQ,GAAG,SAAG,CAAC,IAAI,CAAC,IAAA,4BAAgB,EAAC,GAAG,CAAC,CAAC,CAAC;IACjD,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,mCAAmC,CAAC,QAAQ,EAAE,IAAI,CAAC,CAAC;IAC9E,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IAE9B,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAE,CAAC;IACnD,MAAM,SAAS,GAAG,SAAG,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAC5C,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,MAAM,KAAK,MAAM,CAAE,CAAC;IAE5D,MAAM,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAE,CAAC;IACnD,MAAM,SAAS,GAAG,SAAG,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IAE5C,OAAO,CAAC,gBAAgB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IAC/C,OAAO,CAAC,gBAAgB,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;IAC/C,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IAE9B,MAAM,YAAY,GAAG,OAAO,CAAC,cAAc,CAAC,SAAS,CAAE,CAAC;IACxD,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,sBAAsB,CACpD,SAAS,EACT,IAAA,qCAAqB,EAAC,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,YAAY,CAAC,eAAe,CAAC,KAAK,CAAC,EAC/E,kCAAiB,CAAC,IAAI,CACzB,CAAC;IAEF,gBAAM,CAAC,WAAW,CAAC,WAAW,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC;AAC9C,CAAC,CAAC,CAAC;AAEH,SAAS,mCAAmC,CAAC,QAAa,EAAE,IAAY;IACpE,MAAM,EAAE,GAAG,IAAA,8BAAoB,EAAC,IAAI,CAAC,IAAI,EAAE,cAAc,CAAC,KAAK,EAAE,EAAE,GAAG,EAAE,QAAQ,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;IAClG,MAAM,OAAO,GAAG,IAAI,yBAAe,CAAC,cAAc,EAAE,IAAI,iCAAe,EAAE,EAAE;QACvE,OAAO,EAAE,IAAI,qBAAW,EAAE;QAC1B,WAAW,EAAE,GAAG,EAAE,CAAC,IAAI,+BAAc,CAAC,SAAG,CAAC,IAAI,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC,mBAAS,EAAE,uBAAa,CAAC,CAAC;QAC5F,qBAAqB,EAAE,yBAAe,CAAC,oBAAoB;QAC3D,aAAa,EAAE,IAAI,6BAAa,CAAC,QAAQ,CAAC;QAC1C,UAAU,EAAE,EAAE;KACjB,CAAC,CAAC;IAEH,MAAM,IAAI,GAAG,IAAA,+BAAa,EAAC,QAAQ,CAAC,WAAW,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;IAE7D,IAAI,eAAgC,CAAC;IACrC,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE;QAC3B,MAAM,GAAG,GAAG,SAAG,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACpC,OAAO,CAAC,aAAa,CAAC,GAAG,EAAE,CAAC,EAAE,IAAI,CAAC,OAAO,EAAE,wBAAW,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;QACnF,eAAe,GAAG,GAAG,CAAC;KACzB;IACD,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;AAC7B,CAAC;AAED,SAAS,OAAO,CAAC,OAAgB;IAC7B,OAAO,OAAO,CAAC,OAAO,EAAE,EAAE;QACtB,2BAA2B;KAC9B;AACL,CAAC"}
|