@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
@@ -513,11 +513,24 @@ function narrowTypeBasedOnClassPattern(evaluator, type, pattern, isPositiveTest)
|
|
513
513
|
}
|
514
514
|
return undefined;
|
515
515
|
}
|
516
|
+
// Handle NoneType specially.
|
516
517
|
if ((0, typeUtils_1.isNoneInstance)(subjectSubtypeExpanded) &&
|
517
518
|
(0, types_1.isInstantiableClass)(expandedSubtype) &&
|
518
519
|
types_1.ClassType.isBuiltIn(expandedSubtype, 'NoneType')) {
|
519
520
|
return subjectSubtypeExpanded;
|
520
521
|
}
|
522
|
+
// Handle Callable specially.
|
523
|
+
if ((0, types_1.isInstantiableClass)(expandedSubtype) && types_1.ClassType.isBuiltIn(expandedSubtype, 'Callable')) {
|
524
|
+
const callableType = (0, typeUtils_1.getUnknownTypeForCallable)();
|
525
|
+
if (evaluator.assignType(callableType, subjectSubtypeExpanded)) {
|
526
|
+
return subjectSubtypeExpanded;
|
527
|
+
}
|
528
|
+
const subjObjType = (0, typeUtils_1.convertToInstance)(subjectSubtypeExpanded);
|
529
|
+
if (evaluator.assignType(subjObjType, callableType)) {
|
530
|
+
return callableType;
|
531
|
+
}
|
532
|
+
return undefined;
|
533
|
+
}
|
521
534
|
if ((0, types_1.isClassInstance)(subjectSubtypeExpanded)) {
|
522
535
|
let resultType;
|
523
536
|
if (evaluator.assignType(expandedSubtype, types_1.ClassType.cloneAsInstantiable(subjectSubtypeExpanded))) {
|
@@ -690,6 +703,15 @@ function narrowTypeBasedOnValuePattern(evaluator, subjectType, pattern, isPositi
|
|
690
703
|
? (0, typeUtils_1.preserveUnknown)(valueSubtypeExpanded, subjectSubtypeExpanded)
|
691
704
|
: types_1.AnyType.create();
|
692
705
|
}
|
706
|
+
// If both types are literals, we can compare the literal values directly.
|
707
|
+
if ((0, types_1.isClassInstance)(subjectSubtypeExpanded) &&
|
708
|
+
(0, typeUtils_1.isLiteralType)(subjectSubtypeExpanded) &&
|
709
|
+
(0, types_1.isClassInstance)(valueSubtypeExpanded) &&
|
710
|
+
(0, typeUtils_1.isLiteralType)(valueSubtypeExpanded)) {
|
711
|
+
return types_1.ClassType.isLiteralValueSame(valueSubtypeExpanded, subjectSubtypeExpanded)
|
712
|
+
? valueSubtypeUnexpanded
|
713
|
+
: undefined;
|
714
|
+
}
|
693
715
|
// Determine if assignment is supported for this combination of
|
694
716
|
// value subtype and matching subtype.
|
695
717
|
const returnType = evaluator.useSpeculativeMode(pattern.expression, () => evaluator.getTypeOfMagicMethodCall(valueSubtypeExpanded, '__eq__', [{ type: subjectSubtypeExpanded }], pattern.expression,
|
@@ -768,10 +790,10 @@ function getMappingPatternInfo(evaluator, type, node) {
|
|
768
790
|
// specified in PEP 634. For types that are not sequences or sequences that are not of
|
769
791
|
// sufficient length, it sets definiteNoMatch to true.
|
770
792
|
function getSequencePatternInfo(evaluator, pattern, type) {
|
771
|
-
const
|
772
|
-
const
|
793
|
+
const patternEntryCount = pattern.entries.length;
|
794
|
+
const patternStarEntryIndex = pattern.starEntryIndex;
|
773
795
|
const sequenceInfo = [];
|
774
|
-
const
|
796
|
+
const minPatternEntryCount = patternStarEntryIndex === undefined ? patternEntryCount : patternEntryCount - 1;
|
775
797
|
(0, typeUtils_1.doForEachSubtype)(type, (subtype) => {
|
776
798
|
const concreteSubtype = evaluator.makeTopLevelTypeVarsConcrete(subtype);
|
777
799
|
let mroClassToSpecialize;
|
@@ -785,6 +807,13 @@ function getSequencePatternInfo(evaluator, pattern, type) {
|
|
785
807
|
if (types_1.ClassType.isBuiltIn(mroClass, 'str') ||
|
786
808
|
types_1.ClassType.isBuiltIn(mroClass, 'bytes') ||
|
787
809
|
types_1.ClassType.isBuiltIn(mroClass, 'bytearray')) {
|
810
|
+
// This is definitely not a match.
|
811
|
+
sequenceInfo.push({
|
812
|
+
subtype,
|
813
|
+
entryTypes: [],
|
814
|
+
isIndeterminateLength: true,
|
815
|
+
isDefiniteNoMatch: true,
|
816
|
+
});
|
788
817
|
return;
|
789
818
|
}
|
790
819
|
if (types_1.ClassType.isBuiltIn(mroClass, 'Sequence')) {
|
@@ -811,17 +840,53 @@ function getSequencePatternInfo(evaluator, pattern, type) {
|
|
811
840
|
pushedEntry = true;
|
812
841
|
}
|
813
842
|
else {
|
814
|
-
|
815
|
-
|
816
|
-
|
817
|
-
|
818
|
-
|
819
|
-
|
820
|
-
|
821
|
-
|
822
|
-
|
823
|
-
|
824
|
-
|
843
|
+
const tupleIndeterminateIndex = specializedSequence.tupleTypeArguments.findIndex((t) => t.isUnbounded || (0, types_1.isUnpackedVariadicTypeVar)(t.type));
|
844
|
+
let minTupleLength = specializedSequence.tupleTypeArguments.length;
|
845
|
+
if (tupleIndeterminateIndex >= 0) {
|
846
|
+
minTupleLength -= 1;
|
847
|
+
}
|
848
|
+
if (minTupleLength >= minPatternEntryCount) {
|
849
|
+
let isDefiniteNoMatch = false;
|
850
|
+
const leftLength = Math.min(patternStarEntryIndex !== undefined ? patternStarEntryIndex : patternEntryCount, tupleIndeterminateIndex >= 0
|
851
|
+
? tupleIndeterminateIndex
|
852
|
+
: specializedSequence.tupleTypeArguments.length);
|
853
|
+
for (let i = 0; i < leftLength; i++) {
|
854
|
+
const leftPattern = pattern.entries[i];
|
855
|
+
const leftType = specializedSequence.tupleTypeArguments[i].type;
|
856
|
+
const narrowedType = narrowTypeBasedOnPattern(evaluator, leftType, leftPattern,
|
857
|
+
/* isPositiveTest */ true);
|
858
|
+
if ((0, types_1.isNever)(narrowedType)) {
|
859
|
+
isDefiniteNoMatch = true;
|
860
|
+
}
|
861
|
+
}
|
862
|
+
if (patternStarEntryIndex !== undefined || tupleIndeterminateIndex >= 0) {
|
863
|
+
const rightLength = Math.min(patternStarEntryIndex !== undefined
|
864
|
+
? patternEntryCount - patternStarEntryIndex - 1
|
865
|
+
: patternEntryCount, tupleIndeterminateIndex >= 0
|
866
|
+
? specializedSequence.tupleTypeArguments.length - tupleIndeterminateIndex
|
867
|
+
: specializedSequence.tupleTypeArguments.length);
|
868
|
+
for (let i = 0; i < rightLength; i++) {
|
869
|
+
const rightPattern = pattern.entries[patternEntryCount - i - 1];
|
870
|
+
const rightType = specializedSequence.tupleTypeArguments[specializedSequence.tupleTypeArguments.length - i - 1].type;
|
871
|
+
const narrowedType = narrowTypeBasedOnPattern(evaluator, rightType, rightPattern,
|
872
|
+
/* isPositiveTest */ true);
|
873
|
+
if ((0, types_1.isNever)(narrowedType)) {
|
874
|
+
isDefiniteNoMatch = true;
|
875
|
+
}
|
876
|
+
}
|
877
|
+
}
|
878
|
+
if (patternStarEntryIndex !== undefined || minTupleLength === minPatternEntryCount) {
|
879
|
+
sequenceInfo.push({
|
880
|
+
subtype,
|
881
|
+
entryTypes: isDefiniteNoMatch
|
882
|
+
? []
|
883
|
+
: specializedSequence.tupleTypeArguments.map((t) => t.type),
|
884
|
+
isIndeterminateLength: false,
|
885
|
+
isTuple: true,
|
886
|
+
isDefiniteNoMatch,
|
887
|
+
});
|
888
|
+
pushedEntry = true;
|
889
|
+
}
|
825
890
|
}
|
826
891
|
}
|
827
892
|
}
|
@@ -1210,6 +1275,29 @@ function getPatternSubtypeNarrowingCallback(evaluator, reference, subjectExpress
|
|
1210
1275
|
};
|
1211
1276
|
}
|
1212
1277
|
}
|
1278
|
+
// Look for a subject expression of the form "a.b" where "b" is an attribute
|
1279
|
+
// that is annotated with a literal type.
|
1280
|
+
if (subjectExpression.nodeType === 35 /* ParseNodeType.MemberAccess */ &&
|
1281
|
+
(0, parseTreeUtils_1.isMatchingExpression)(reference, subjectExpression.leftExpression)) {
|
1282
|
+
const unnarrowedReferenceTypeResult = evaluator.getTypeOfExpression(subjectExpression.leftExpression, 16777218 /* EvaluatorFlags.CallBaseDefaults */);
|
1283
|
+
const unnarrowedReferenceType = unnarrowedReferenceTypeResult.type;
|
1284
|
+
return (narrowedSubjectType) => {
|
1285
|
+
if ((0, types_1.isNever)(narrowedSubjectType)) {
|
1286
|
+
return { type: types_1.NeverType.createNever() };
|
1287
|
+
}
|
1288
|
+
if (!(0, typeUtils_1.isLiteralTypeOrUnion)(narrowedSubjectType)) {
|
1289
|
+
return undefined;
|
1290
|
+
}
|
1291
|
+
const resultType = (0, typeUtils_1.mapSubtypes)(narrowedSubjectType, (literalSubtype) => {
|
1292
|
+
(0, debug_1.assert)((0, types_1.isClassInstance)(literalSubtype) && literalSubtype.literalValue !== undefined);
|
1293
|
+
return (0, typeGuards_1.narrowTypeForDiscriminatedLiteralFieldComparison)(evaluator, unnarrowedReferenceType, subjectExpression.memberName.value, literalSubtype,
|
1294
|
+
/* isPositiveTest */ true);
|
1295
|
+
});
|
1296
|
+
return {
|
1297
|
+
type: resultType,
|
1298
|
+
};
|
1299
|
+
};
|
1300
|
+
}
|
1213
1301
|
return undefined;
|
1214
1302
|
}
|
1215
1303
|
exports.getPatternSubtypeNarrowingCallback = getPatternSubtypeNarrowingCallback;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"patternMatching.js","sourceRoot":"","sources":["../../../src/analyzer/patternMatching.ts"],"names":[],"mappings":"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"}
|
1
|
+
{"version":3,"file":"patternMatching.js","sourceRoot":"","sources":["../../../src/analyzer/patternMatching.ts"],"names":[],"mappings":"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"}
|
@@ -9,6 +9,7 @@ import { LogTracker } from '../common/logTracker';
|
|
9
9
|
import { ServiceProvider } from '../common/serviceProvider';
|
10
10
|
import '../common/serviceProviderExtensions';
|
11
11
|
import { Range } from '../common/textRange';
|
12
|
+
import { Uri } from '../common/uri/uri';
|
12
13
|
import { ParseResults } from '../parser/parser';
|
13
14
|
import { ImportResolver } from './importResolver';
|
14
15
|
import { IPythonMode, SourceFile, SourceFileEditMode } from './sourceFile';
|
@@ -23,7 +24,7 @@ export interface MaxAnalysisTime {
|
|
23
24
|
}
|
24
25
|
export type PreCheckCallback = (parseResults: ParseResults, evaluator: TypeEvaluator) => void;
|
25
26
|
export interface ISourceFileFactory {
|
26
|
-
createSourceFile(serviceProvider: ServiceProvider,
|
27
|
+
createSourceFile(serviceProvider: ServiceProvider, fileUri: Uri, moduleName: string, isThirdPartyImport: boolean, isThirdPartyPyTypedPresent: boolean, editMode: SourceFileEditMode, console?: ConsoleInterface, logTracker?: LogTracker, ipythonMode?: IPythonMode): SourceFile;
|
27
28
|
}
|
28
29
|
export declare namespace ISourceFileFactory {
|
29
30
|
function is(obj: any): obj is ISourceFileFactory;
|
@@ -31,8 +32,7 @@ export declare namespace ISourceFileFactory {
|
|
31
32
|
export interface OpenFileOptions {
|
32
33
|
isTracked: boolean;
|
33
34
|
ipythonMode: IPythonMode;
|
34
|
-
|
35
|
-
realFilePath: string | undefined;
|
35
|
+
chainedFileUri: Uri | undefined;
|
36
36
|
}
|
37
37
|
export declare class Program {
|
38
38
|
readonly serviceProvider: ServiceProvider;
|
@@ -55,7 +55,7 @@ export declare class Program {
|
|
55
55
|
constructor(initialImportResolver: ImportResolver, initialConfigOptions: ConfigOptions, serviceProvider: ServiceProvider, logTracker?: LogTracker, _disableChecker?: boolean | undefined, id?: string);
|
56
56
|
get id(): string;
|
57
57
|
get console(): ConsoleInterface;
|
58
|
-
get rootPath():
|
58
|
+
get rootPath(): Uri;
|
59
59
|
get evaluator(): TypeEvaluator | undefined;
|
60
60
|
get configOptions(): ConfigOptions;
|
61
61
|
get importResolver(): ImportResolver;
|
@@ -65,18 +65,18 @@ export declare class Program {
|
|
65
65
|
exitEditMode(): FileEditAction[];
|
66
66
|
setConfigOptions(configOptions: ConfigOptions): void;
|
67
67
|
setImportResolver(importResolver: ImportResolver): void;
|
68
|
-
setTrackedFiles(
|
68
|
+
setTrackedFiles(fileUris: Uri[]): FileDiagnostics[];
|
69
69
|
setPreCheckCallback(preCheckCallback: PreCheckCallback): void;
|
70
70
|
setAllowedThirdPartyImports(importNames: string[]): void;
|
71
|
-
addTrackedFiles(
|
72
|
-
addInterimFile(
|
73
|
-
addTrackedFile(
|
74
|
-
setFileOpened(
|
75
|
-
|
76
|
-
|
77
|
-
setFileClosed(
|
71
|
+
addTrackedFiles(fileUris: Uri[], isThirdPartyImport?: boolean, isInPyTypedPackage?: boolean): void;
|
72
|
+
addInterimFile(fileUri: Uri): SourceFileInfo;
|
73
|
+
addTrackedFile(fileUri: Uri, isThirdPartyImport?: boolean, isInPyTypedPackage?: boolean): SourceFile;
|
74
|
+
setFileOpened(fileUri: Uri, version: number | null, contents: string, options?: OpenFileOptions): void;
|
75
|
+
getChainedUri(fileUri: Uri): Uri | undefined;
|
76
|
+
updateChainedUri(fileUri: Uri, chainedFileUri: Uri | undefined): void;
|
77
|
+
setFileClosed(fileUri: Uri, isTracked?: boolean): FileDiagnostics[];
|
78
78
|
markAllFilesDirty(evenIfContentsAreSame: boolean): void;
|
79
|
-
markFilesDirty(
|
79
|
+
markFilesDirty(fileUris: Uri[], evenIfContentsAreSame: boolean): void;
|
80
80
|
getFileCount(userFileOnly?: boolean): number;
|
81
81
|
getUserFileCount(): number;
|
82
82
|
getUserFiles(): SourceFileInfo[];
|
@@ -84,28 +84,28 @@ export declare class Program {
|
|
84
84
|
getFilesToAnalyzeCount(): number;
|
85
85
|
isCheckingOnlyOpenFiles(): boolean;
|
86
86
|
functionSignatureDisplay(): import("../common/configOptions").SignatureDisplayType;
|
87
|
-
containsSourceFileIn(folder:
|
88
|
-
owns(
|
89
|
-
getSourceFile(
|
90
|
-
getBoundSourceFile(
|
87
|
+
containsSourceFileIn(folder: Uri): boolean;
|
88
|
+
owns(uri: Uri): boolean;
|
89
|
+
getSourceFile(uri: Uri): SourceFile | undefined;
|
90
|
+
getBoundSourceFile(uri: Uri): SourceFile | undefined;
|
91
91
|
getSourceFileInfoList(): readonly SourceFileInfo[];
|
92
|
-
getSourceFileInfo(
|
93
|
-
getBoundSourceFileInfo(
|
92
|
+
getSourceFileInfo(uri: Uri): SourceFileInfo | undefined;
|
93
|
+
getBoundSourceFileInfo(uri: Uri, content?: string, force?: boolean): SourceFileInfo | undefined;
|
94
94
|
analyze(maxTime?: MaxAnalysisTime, token?: CancellationToken): boolean;
|
95
|
-
analyzeFile(
|
95
|
+
analyzeFile(fileUri: Uri, token?: CancellationToken): boolean;
|
96
96
|
run<T>(callback: (p: ProgramView) => T, token: CancellationToken): T;
|
97
97
|
runEditMode(callback: (v: EditableProgram) => void, token: CancellationToken): void;
|
98
|
-
getSourceMapper(
|
99
|
-
getParseResults(
|
98
|
+
getSourceMapper(fileUri: Uri, token: CancellationToken, mapCompiled?: boolean, preferStubs?: boolean): SourceMapper;
|
99
|
+
getParseResults(fileUri: Uri): ParseResults | undefined;
|
100
100
|
handleMemoryHighUsage(): void;
|
101
101
|
printDetailedAnalysisTimes(): void;
|
102
|
-
printDependencies(projectRootDir:
|
103
|
-
writeTypeStub(targetImportPath:
|
102
|
+
printDependencies(projectRootDir: Uri, verbose: boolean): void;
|
103
|
+
writeTypeStub(targetImportPath: Uri, targetIsSingleFile: boolean, stubPath: Uri, token: CancellationToken): void;
|
104
104
|
getTypeOfSymbol(symbol: Symbol): Type;
|
105
105
|
printType(type: Type, options?: PrintTypeOptions): string;
|
106
|
-
getTextOnRange(
|
106
|
+
getTextOnRange(fileUri: Uri, range: Range, token: CancellationToken): string | undefined;
|
107
107
|
getDiagnostics(options: ConfigOptions): FileDiagnostics[];
|
108
|
-
getDiagnosticsForRange(
|
108
|
+
getDiagnosticsForRange(fileUri: Uri, range: Range): Diagnostic[];
|
109
109
|
clone(): Program;
|
110
110
|
getCacheUsage(): number;
|
111
111
|
emptyCache(): void;
|
@@ -117,6 +117,7 @@ export declare class Program {
|
|
117
117
|
private _isImportNeededRecursive;
|
118
118
|
private _createSourceMapper;
|
119
119
|
private _isImportAllowed;
|
120
|
+
private _getSourceFileInfoFromKey;
|
120
121
|
private _updateSourceFileImports;
|
121
122
|
private _removeSourceFileFromListAndMap;
|
122
123
|
private _addToSourceFileListAndMap;
|