@zzzen/pyright-internal 1.2.0-dev.20231119 → 1.2.0-dev.20231203
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/analysis.d.ts +1 -1
- package/dist/analyzer/analysis.js +5 -1
- package/dist/analyzer/analysis.js.map +1 -1
- package/dist/analyzer/analyzerFileInfo.d.ts +1 -1
- package/dist/analyzer/analyzerNodeInfo.d.ts +1 -1
- package/dist/analyzer/analyzerNodeInfo.js +1 -1
- package/dist/analyzer/analyzerNodeInfo.js.map +1 -1
- package/dist/analyzer/backgroundAnalysisProgram.d.ts +1 -1
- package/dist/analyzer/backgroundAnalysisProgram.js +1 -1
- package/dist/analyzer/backgroundAnalysisProgram.js.map +1 -1
- package/dist/analyzer/binder.js +201 -194
- package/dist/analyzer/binder.js.map +1 -1
- package/dist/analyzer/cacheManager.js +1 -1
- package/dist/analyzer/cacheManager.js.map +1 -1
- package/dist/analyzer/checker.d.ts +4 -1
- package/dist/analyzer/checker.js +403 -248
- package/dist/analyzer/checker.js.map +1 -1
- package/dist/analyzer/codeFlowEngine.d.ts +1 -1
- package/dist/analyzer/codeFlowEngine.js +33 -26
- package/dist/analyzer/codeFlowEngine.js.map +1 -1
- package/dist/analyzer/codeFlowTypes.d.ts +1 -1
- package/dist/analyzer/codeFlowTypes.js +23 -23
- package/dist/analyzer/codeFlowTypes.js.map +1 -1
- package/dist/analyzer/codeFlowUtils.js +39 -37
- package/dist/analyzer/codeFlowUtils.js.map +1 -1
- package/dist/analyzer/commentUtils.js +7 -0
- package/dist/analyzer/commentUtils.js.map +1 -1
- package/dist/analyzer/constraintSolver.js +51 -47
- package/dist/analyzer/constraintSolver.js.map +1 -1
- package/dist/analyzer/constructorTransform.js +8 -8
- package/dist/analyzer/constructorTransform.js.map +1 -1
- package/dist/analyzer/constructors.js +25 -26
- package/dist/analyzer/constructors.js.map +1 -1
- package/dist/analyzer/dataClasses.js +124 -109
- package/dist/analyzer/dataClasses.js.map +1 -1
- package/dist/analyzer/declaration.d.ts +2 -2
- package/dist/analyzer/declaration.js +10 -10
- package/dist/analyzer/declaration.js.map +1 -1
- package/dist/analyzer/declarationUtils.js +41 -41
- package/dist/analyzer/declarationUtils.js.map +1 -1
- package/dist/analyzer/decorators.js +51 -51
- package/dist/analyzer/decorators.js.map +1 -1
- package/dist/analyzer/enums.js +27 -27
- package/dist/analyzer/enums.js.map +1 -1
- package/dist/analyzer/functionTransform.js +4 -4
- package/dist/analyzer/functionTransform.js.map +1 -1
- package/dist/analyzer/importResolver.d.ts +1 -1
- package/dist/analyzer/importResolver.js +21 -17
- package/dist/analyzer/importResolver.js.map +1 -1
- package/dist/analyzer/importResult.js +1 -1
- package/dist/analyzer/importResult.js.map +1 -1
- package/dist/analyzer/importStatementUtils.js +31 -27
- package/dist/analyzer/importStatementUtils.js.map +1 -1
- package/dist/analyzer/namedTuples.js +36 -32
- package/dist/analyzer/namedTuples.js.map +1 -1
- package/dist/analyzer/operations.js +94 -92
- package/dist/analyzer/operations.js.map +1 -1
- package/dist/analyzer/packageTypeReport.d.ts +1 -1
- package/dist/analyzer/packageTypeReport.js +2 -2
- package/dist/analyzer/packageTypeReport.js.map +1 -1
- package/dist/analyzer/packageTypeVerifier.js +90 -90
- package/dist/analyzer/packageTypeVerifier.js.map +1 -1
- package/dist/analyzer/parameterUtils.js +14 -14
- package/dist/analyzer/parameterUtils.js.map +1 -1
- package/dist/analyzer/parentDirectoryCache.d.ts +2 -2
- package/dist/analyzer/parseTreeCleaner.js +5 -1
- package/dist/analyzer/parseTreeCleaner.js.map +1 -1
- package/dist/analyzer/parseTreeUtils.d.ts +1 -1
- package/dist/analyzer/parseTreeUtils.js +383 -379
- package/dist/analyzer/parseTreeUtils.js.map +1 -1
- package/dist/analyzer/parseTreeWalker.js +161 -157
- package/dist/analyzer/parseTreeWalker.js.map +1 -1
- package/dist/analyzer/patternMatching.d.ts +1 -1
- package/dist/analyzer/patternMatching.js +52 -50
- package/dist/analyzer/patternMatching.js.map +1 -1
- package/dist/analyzer/program.d.ts +1 -1
- package/dist/analyzer/program.js +18 -14
- package/dist/analyzer/program.js.map +1 -1
- package/dist/analyzer/properties.js +53 -44
- package/dist/analyzer/properties.js.map +1 -1
- package/dist/analyzer/protocols.js +41 -27
- package/dist/analyzer/protocols.js.map +1 -1
- package/dist/analyzer/pythonPathUtils.js +5 -1
- package/dist/analyzer/pythonPathUtils.js.map +1 -1
- package/dist/analyzer/regions.js +3 -3
- package/dist/analyzer/regions.js.map +1 -1
- package/dist/analyzer/scope.js +8 -8
- package/dist/analyzer/scope.js.map +1 -1
- package/dist/analyzer/scopeUtils.js +1 -1
- package/dist/analyzer/scopeUtils.js.map +1 -1
- package/dist/analyzer/service.js +5 -1
- package/dist/analyzer/service.js.map +1 -1
- package/dist/analyzer/sourceFile.js +25 -21
- package/dist/analyzer/sourceFile.js.map +1 -1
- package/dist/analyzer/sourceMapper.d.ts +2 -2
- package/dist/analyzer/sourceMapper.js +12 -8
- package/dist/analyzer/sourceMapper.js.map +1 -1
- package/dist/analyzer/staticExpressions.js +40 -40
- package/dist/analyzer/staticExpressions.js.map +1 -1
- package/dist/analyzer/symbol.d.ts +1 -1
- package/dist/analyzer/symbol.js +26 -26
- package/dist/analyzer/symbol.js.map +1 -1
- package/dist/analyzer/symbolUtils.js +1 -1
- package/dist/analyzer/symbolUtils.js.map +1 -1
- package/dist/analyzer/testWalker.js +5 -5
- package/dist/analyzer/testWalker.js.map +1 -1
- package/dist/analyzer/tracePrinter.d.ts +1 -1
- package/dist/analyzer/tracePrinter.js +35 -31
- package/dist/analyzer/tracePrinter.js.map +1 -1
- package/dist/analyzer/typeCacheUtils.js +5 -1
- package/dist/analyzer/typeCacheUtils.js.map +1 -1
- package/dist/analyzer/typeDocStringUtils.js +13 -9
- package/dist/analyzer/typeDocStringUtils.js.map +1 -1
- package/dist/analyzer/typeEvaluator.js +1347 -1270
- package/dist/analyzer/typeEvaluator.js.map +1 -1
- package/dist/analyzer/typeEvaluatorTypes.d.ts +4 -2
- package/dist/analyzer/typeEvaluatorTypes.js +4 -2
- package/dist/analyzer/typeEvaluatorTypes.js.map +1 -1
- package/dist/analyzer/typeGuards.d.ts +1 -1
- package/dist/analyzer/typeGuards.js +79 -65
- package/dist/analyzer/typeGuards.js.map +1 -1
- package/dist/analyzer/typePrinter.d.ts +1 -1
- package/dist/analyzer/typePrinter.js +80 -76
- package/dist/analyzer/typePrinter.js.map +1 -1
- package/dist/analyzer/typeStubWriter.js +26 -22
- package/dist/analyzer/typeStubWriter.js.map +1 -1
- package/dist/analyzer/typeUtils.d.ts +1 -1
- package/dist/analyzer/typeUtils.js +139 -135
- package/dist/analyzer/typeUtils.js.map +1 -1
- package/dist/analyzer/typeVarContext.d.ts +2 -0
- package/dist/analyzer/typeVarContext.js +36 -9
- package/dist/analyzer/typeVarContext.js.map +1 -1
- package/dist/analyzer/typeWalker.js +10 -10
- package/dist/analyzer/typedDicts.js +76 -102
- package/dist/analyzer/typedDicts.js.map +1 -1
- package/dist/analyzer/types.d.ts +18 -18
- package/dist/analyzer/types.js +186 -191
- package/dist/analyzer/types.js.map +1 -1
- package/dist/backgroundAnalysisBase.d.ts +2 -2
- package/dist/backgroundAnalysisBase.js +5 -1
- package/dist/backgroundAnalysisBase.js.map +1 -1
- package/dist/backgroundThreadBase.js +5 -1
- package/dist/backgroundThreadBase.js.map +1 -1
- package/dist/commands/commandController.js +6 -7
- package/dist/commands/commandController.js.map +1 -1
- package/dist/commands/commandResult.js +1 -1
- package/dist/commands/commandResult.js.map +1 -1
- package/dist/commands/commands.d.ts +0 -1
- package/dist/commands/commands.js +1 -2
- package/dist/commands/commands.js.map +1 -1
- package/dist/commands/dumpFileDebugInfoCommand.js +196 -196
- package/dist/commands/dumpFileDebugInfoCommand.js.map +1 -1
- package/dist/commands/quickActionCommand.js +1 -1
- package/dist/commands/quickActionCommand.js.map +1 -1
- package/dist/common/charCodes.js +1 -1
- package/dist/common/charCodes.js.map +1 -1
- package/dist/common/chokidarFileWatcherProvider.js +5 -1
- package/dist/common/chokidarFileWatcherProvider.js.map +1 -1
- package/dist/common/collectionUtils.d.ts +3 -3
- package/dist/common/collectionUtils.js +3 -3
- package/dist/common/collectionUtils.js.map +1 -1
- package/dist/common/commandLineOptions.d.ts +1 -1
- package/dist/common/commandLineOptions.js +5 -5
- package/dist/common/commandLineOptions.js.map +1 -1
- package/dist/common/configOptions.d.ts +2 -1
- package/dist/common/configOptions.js +102 -10
- package/dist/common/configOptions.js.map +1 -1
- package/dist/common/console.js +7 -3
- package/dist/common/console.js.map +1 -1
- package/dist/common/core.d.ts +2 -2
- package/dist/common/core.js +6 -6
- package/dist/common/core.js.map +1 -1
- package/dist/common/diagnostic.d.ts +0 -4
- package/dist/common/diagnostic.js +6 -6
- package/dist/common/diagnostic.js.map +1 -1
- package/dist/common/diagnosticRules.js +1 -1
- package/dist/common/diagnosticRules.js.map +1 -1
- package/dist/common/diagnosticSink.js +12 -12
- package/dist/common/diagnosticSink.js.map +1 -1
- package/dist/common/editAction.d.ts +1 -1
- package/dist/common/editAction.js +2 -2
- package/dist/common/editAction.js.map +1 -1
- package/dist/common/envVarUtils.js +5 -1
- package/dist/common/envVarUtils.js.map +1 -1
- package/dist/common/extensibility.js +1 -1
- package/dist/common/extensibility.js.map +1 -1
- package/dist/common/fileBasedCancellationUtils.js +5 -1
- package/dist/common/fileBasedCancellationUtils.js.map +1 -1
- package/dist/common/fileSystem.d.ts +1 -0
- package/dist/common/fileSystem.js +2 -2
- package/dist/common/fileSystem.js.map +1 -1
- package/dist/common/fileWatcher.d.ts +2 -2
- package/dist/common/fullAccessHost.js +10 -6
- package/dist/common/fullAccessHost.js.map +1 -1
- package/dist/common/host.d.ts +1 -1
- package/dist/common/host.js +2 -2
- package/dist/common/host.js.map +1 -1
- package/dist/common/lspUtils.js +7 -7
- package/dist/common/lspUtils.js.map +1 -1
- package/dist/common/memUtils.d.ts +1 -1
- package/dist/common/pathUtils.js +12 -8
- package/dist/common/pathUtils.js.map +1 -1
- package/dist/common/pythonVersion.js +1 -1
- package/dist/common/pythonVersion.js.map +1 -1
- package/dist/common/realFileSystem.js +5 -1
- package/dist/common/realFileSystem.js.map +1 -1
- package/dist/common/serviceProvider.d.ts +1 -1
- package/dist/common/serviceProvider.js +5 -1
- package/dist/common/serviceProvider.js.map +1 -1
- package/dist/common/serviceProviderExtensions.js +1 -1
- package/dist/common/serviceProviderExtensions.js.map +1 -1
- package/dist/common/stringUtils.js +5 -5
- package/dist/common/stringUtils.js.map +1 -1
- package/dist/common/textEditTracker.js +11 -7
- package/dist/common/textEditTracker.js.map +1 -1
- package/dist/common/textRange.js +3 -3
- package/dist/common/textRange.js.map +1 -1
- package/dist/languageServerBase.js +13 -13
- package/dist/languageServerBase.js.map +1 -1
- package/dist/languageService/autoImporter.d.ts +3 -3
- package/dist/languageService/autoImporter.js +12 -8
- package/dist/languageService/autoImporter.js.map +1 -1
- package/dist/languageService/callHierarchyProvider.js +27 -23
- package/dist/languageService/callHierarchyProvider.js.map +1 -1
- package/dist/languageService/codeActionProvider.js +5 -19
- package/dist/languageService/codeActionProvider.js.map +1 -1
- package/dist/languageService/completionProvider.js +166 -162
- package/dist/languageService/completionProvider.js.map +1 -1
- package/dist/languageService/completionProviderUtils.js +9 -9
- package/dist/languageService/completionProviderUtils.js.map +1 -1
- package/dist/languageService/definitionProvider.js +14 -10
- package/dist/languageService/definitionProvider.js.map +1 -1
- package/dist/languageService/documentHighlightProvider.js +7 -3
- package/dist/languageService/documentHighlightProvider.js.map +1 -1
- package/dist/languageService/documentSymbolCollector.d.ts +1 -1
- package/dist/languageService/documentSymbolCollector.js +21 -17
- package/dist/languageService/documentSymbolCollector.js.map +1 -1
- package/dist/languageService/hoverProvider.js +30 -26
- package/dist/languageService/hoverProvider.js.map +1 -1
- package/dist/languageService/importSorter.js +1 -1
- package/dist/languageService/importSorter.js.map +1 -1
- package/dist/languageService/quickActions.d.ts +1 -2
- package/dist/languageService/quickActions.js +1 -77
- package/dist/languageService/quickActions.js.map +1 -1
- package/dist/languageService/referencesProvider.d.ts +1 -1
- package/dist/languageService/referencesProvider.js +24 -20
- package/dist/languageService/referencesProvider.js.map +1 -1
- package/dist/languageService/signatureHelpProvider.js +8 -4
- package/dist/languageService/signatureHelpProvider.js.map +1 -1
- package/dist/languageService/symbolIndexer.js +8 -4
- package/dist/languageService/symbolIndexer.js.map +1 -1
- package/dist/languageService/tooltipUtils.js +20 -16
- package/dist/languageService/tooltipUtils.js.map +1 -1
- package/dist/languageService/workspaceSymbolProvider.js +5 -1
- package/dist/languageService/workspaceSymbolProvider.js.map +1 -1
- package/dist/localization/localize.d.ts +19 -18
- package/dist/localization/localize.js +11 -8
- package/dist/localization/localize.js.map +1 -1
- package/dist/localization/package.nls.cs.json +0 -7
- package/dist/localization/package.nls.de.json +0 -7
- package/dist/localization/package.nls.en-us.json +11 -8
- package/dist/localization/package.nls.es.json +2 -9
- package/dist/localization/package.nls.fr.json +0 -7
- package/dist/localization/package.nls.it.json +0 -7
- package/dist/localization/package.nls.ja.json +0 -7
- package/dist/localization/package.nls.ko.json +0 -7
- package/dist/localization/package.nls.pl.json +0 -7
- package/dist/localization/package.nls.pt-br.json +0 -7
- package/dist/localization/package.nls.qps-ploc.json +0 -7
- package/dist/localization/package.nls.ru.json +0 -7
- package/dist/localization/package.nls.tr.json +0 -7
- package/dist/localization/package.nls.zh-cn.json +0 -7
- package/dist/localization/package.nls.zh-tw.json +0 -7
- package/dist/parser/characterStream.js +3 -3
- package/dist/parser/characterStream.js.map +1 -1
- package/dist/parser/characters.js +13 -9
- package/dist/parser/characters.js.map +1 -1
- package/dist/parser/parseNodes.d.ts +12 -12
- package/dist/parser/parseNodes.js +193 -193
- package/dist/parser/parseNodes.js.map +1 -1
- package/dist/parser/parser.js +563 -559
- package/dist/parser/parser.js.map +1 -1
- package/dist/parser/stringTokenUtils.js +47 -47
- package/dist/parser/stringTokenUtils.js.map +1 -1
- package/dist/parser/tokenizer.js +288 -288
- package/dist/parser/tokenizer.js.map +1 -1
- package/dist/parser/tokenizerTypes.js +35 -35
- package/dist/parser/tokenizerTypes.js.map +1 -1
- package/dist/parser/unicode.d.ts +3 -3
- package/dist/pyright.js +21 -17
- package/dist/pyright.js.map +1 -1
- package/dist/pyrightFileSystem.d.ts +1 -0
- package/dist/pyrightFileSystem.js +2 -2
- package/dist/pyrightFileSystem.js.map +1 -1
- package/dist/readonlyAugmentedFileSystem.d.ts +2 -1
- package/dist/readonlyAugmentedFileSystem.js +15 -5
- package/dist/readonlyAugmentedFileSystem.js.map +1 -1
- package/dist/server.js +1 -1
- package/dist/server.js.map +1 -1
- package/dist/tests/chainedSourceFiles.test.js +5 -1
- package/dist/tests/chainedSourceFiles.test.js.map +1 -1
- package/dist/tests/checker.test.js +13 -1
- package/dist/tests/checker.test.js.map +1 -1
- package/dist/tests/collectionUtils.test.js +5 -1
- package/dist/tests/collectionUtils.test.js.map +1 -1
- package/dist/tests/common.test.js +5 -1
- package/dist/tests/common.test.js.map +1 -1
- package/dist/tests/debug.test.js +8 -4
- package/dist/tests/debug.test.js.map +1 -1
- package/dist/tests/deferred.test.js +5 -1
- package/dist/tests/deferred.test.js.map +1 -1
- package/dist/tests/diagnosticOverrides.test.js +5 -1
- package/dist/tests/diagnosticOverrides.test.js.map +1 -1
- package/dist/tests/docStringUtils.test.js +5 -1
- package/dist/tests/docStringUtils.test.js.map +1 -1
- package/dist/tests/filesystem.test.js +5 -1
- package/dist/tests/filesystem.test.js.map +1 -1
- package/dist/tests/fourSlashParser.test.js +5 -1
- package/dist/tests/fourSlashParser.test.js.map +1 -1
- package/dist/tests/fourSlashRunner.test.js +5 -1
- package/dist/tests/fourSlashRunner.test.js.map +1 -1
- package/dist/tests/fourslash/fourslash.d.ts +1 -2
- package/dist/tests/harness/fourslash/fourSlashParser.js +13 -13
- package/dist/tests/harness/fourslash/fourSlashParser.js.map +1 -1
- package/dist/tests/harness/fourslash/fourSlashTypes.js +11 -7
- package/dist/tests/harness/fourslash/fourSlashTypes.js.map +1 -1
- package/dist/tests/harness/fourslash/runner.d.ts +1 -1
- package/dist/tests/harness/fourslash/runner.js +5 -1
- package/dist/tests/harness/fourslash/runner.js.map +1 -1
- package/dist/tests/harness/fourslash/testLanguageService.js +5 -1
- package/dist/tests/harness/fourslash/testLanguageService.js.map +1 -1
- package/dist/tests/harness/fourslash/testState.Consts.d.ts +1 -2
- package/dist/tests/harness/fourslash/testState.Consts.js +6 -3
- package/dist/tests/harness/fourslash/testState.Consts.js.map +1 -1
- package/dist/tests/harness/fourslash/testState.js +18 -14
- package/dist/tests/harness/fourslash/testState.js.map +1 -1
- package/dist/tests/harness/fourslash/testStateUtils.js +9 -5
- package/dist/tests/harness/fourslash/testStateUtils.js.map +1 -1
- package/dist/tests/harness/fourslash/workspaceEditTestUtils.js +5 -1
- package/dist/tests/harness/fourslash/workspaceEditTestUtils.js.map +1 -1
- package/dist/tests/harness/testHost.js +5 -1
- package/dist/tests/harness/testHost.js.map +1 -1
- package/dist/tests/harness/utils.d.ts +13 -12
- package/dist/tests/harness/utils.js.map +1 -1
- package/dist/tests/harness/vfs/factory.js +6 -2
- package/dist/tests/harness/vfs/factory.js.map +1 -1
- package/dist/tests/harness/vfs/filesystem.d.ts +4 -3
- package/dist/tests/harness/vfs/filesystem.js +11 -7
- package/dist/tests/harness/vfs/filesystem.js.map +1 -1
- package/dist/tests/harness/vfs/pathValidation.js +30 -26
- package/dist/tests/harness/vfs/pathValidation.js.map +1 -1
- package/dist/tests/importStatementUtils.test.js +25 -25
- package/dist/tests/importStatementUtils.test.js.map +1 -1
- package/dist/tests/ipythonMode.test.js +6 -6
- package/dist/tests/ipythonMode.test.js.map +1 -1
- package/dist/tests/localizer.test.js +5 -1
- package/dist/tests/localizer.test.js.map +1 -1
- package/dist/tests/logger.test.js +5 -1
- package/dist/tests/logger.test.js.map +1 -1
- package/dist/tests/parseTreeUtils.test.js +10 -10
- package/dist/tests/parseTreeUtils.test.js.map +1 -1
- package/dist/tests/parser.test.js +13 -9
- package/dist/tests/parser.test.js.map +1 -1
- package/dist/tests/pathUtils.test.js +5 -1
- package/dist/tests/pathUtils.test.js.map +1 -1
- package/dist/tests/pyrightFileSystem.test.js +48 -1
- package/dist/tests/pyrightFileSystem.test.js.map +1 -1
- package/dist/tests/sourceFile.test.js +5 -1
- package/dist/tests/sourceFile.test.js.map +1 -1
- package/dist/tests/sourceMapperUtils.test.js +5 -1
- package/dist/tests/sourceMapperUtils.test.js.map +1 -1
- package/dist/tests/stringUtils.test.js +10 -6
- package/dist/tests/stringUtils.test.js.map +1 -1
- package/dist/tests/symbolNameUtils.test.js +5 -1
- package/dist/tests/symbolNameUtils.test.js.map +1 -1
- package/dist/tests/testState.test.js +5 -1
- package/dist/tests/testState.test.js.map +1 -1
- package/dist/tests/testUtils.js +11 -7
- package/dist/tests/testUtils.js.map +1 -1
- package/dist/tests/textRange.test.js +5 -1
- package/dist/tests/textRange.test.js.map +1 -1
- package/dist/tests/tokenizer.test.js +463 -459
- package/dist/tests/tokenizer.test.js.map +1 -1
- package/dist/tests/typeEvaluator1.test.js +22 -7
- package/dist/tests/typeEvaluator1.test.js.map +1 -1
- package/dist/tests/typeEvaluator2.test.js +14 -6
- package/dist/tests/typeEvaluator2.test.js.map +1 -1
- package/dist/tests/typeEvaluator3.test.js +23 -12
- package/dist/tests/typeEvaluator3.test.js.map +1 -1
- package/dist/tests/typeEvaluator4.test.js +16 -4
- package/dist/tests/typeEvaluator4.test.js.map +1 -1
- package/dist/tests/typeEvaluator5.test.js +13 -5
- package/dist/tests/typeEvaluator5.test.js.map +1 -1
- package/dist/tests/typePrinter.test.js +44 -40
- package/dist/tests/typePrinter.test.js.map +1 -1
- package/dist/tests/workspaceEditUtils.test.js +5 -1
- package/dist/tests/workspaceEditUtils.test.js.map +1 -1
- package/dist/tests/zipfs.test.js +5 -1
- package/dist/tests/zipfs.test.js.map +1 -1
- package/dist/workspaceFactory.js +2 -2
- package/dist/workspaceFactory.js.map +1 -1
- package/package.json +2 -2
@@ -29,6 +29,7 @@ function formatControlFlowGraph(flowNode) {
|
|
29
29
|
})(BoxCharacter || (BoxCharacter = {}));
|
30
30
|
let Connection;
|
31
31
|
(function (Connection) {
|
32
|
+
Connection[Connection["None"] = 0] = "None";
|
32
33
|
Connection[Connection["Up"] = 1] = "Up";
|
33
34
|
Connection[Connection["Down"] = 2] = "Down";
|
34
35
|
Connection[Connection["Left"] = 4] = "Left";
|
@@ -264,26 +265,26 @@ function formatControlFlowGraph(flowNode) {
|
|
264
265
|
const children = getChildren(node);
|
265
266
|
for (let i = 0; i < children.length; i++) {
|
266
267
|
const child = children[i];
|
267
|
-
let connector = 8 /* Right */;
|
268
|
+
let connector = 8 /* Connection.Right */;
|
268
269
|
if (child.lane === node.lane)
|
269
|
-
connector |= 4 /* Left */;
|
270
|
+
connector |= 4 /* Connection.Left */;
|
270
271
|
if (i > 0)
|
271
|
-
connector |= 1 /* Up */;
|
272
|
+
connector |= 1 /* Connection.Up */;
|
272
273
|
if (i < children.length - 1)
|
273
|
-
connector |= 2 /* Down */;
|
274
|
+
connector |= 2 /* Connection.Down */;
|
274
275
|
connectors[node.level][child.lane] |= connector;
|
275
276
|
}
|
276
277
|
if (children.length === 0) {
|
277
|
-
connectors[node.level][node.lane] |= 16 /* NoChildren */;
|
278
|
+
connectors[node.level][node.lane] |= 16 /* Connection.NoChildren */;
|
278
279
|
}
|
279
280
|
const parents = getParents(node);
|
280
281
|
for (let i = 0; i < parents.length; i++) {
|
281
282
|
const parent = parents[i];
|
282
|
-
let connector = 4 /* Left */;
|
283
|
+
let connector = 4 /* Connection.Left */;
|
283
284
|
if (i > 0)
|
284
|
-
connector |= 1 /* Up */;
|
285
|
+
connector |= 1 /* Connection.Up */;
|
285
286
|
if (i < parents.length - 1)
|
286
|
-
connector |= 2 /* Down */;
|
287
|
+
connector |= 2 /* Connection.Down */;
|
287
288
|
connectors[node.level - 1][parent.lane] |= connector;
|
288
289
|
}
|
289
290
|
}
|
@@ -294,11 +295,12 @@ function formatControlFlowGraph(flowNode) {
|
|
294
295
|
const above = lane > 0 ? connectors[column][lane - 1] : 0;
|
295
296
|
let connector = connectors[column][lane];
|
296
297
|
if (!connector) {
|
297
|
-
|
298
|
-
|
298
|
+
connector = 0 /* Connection.None */;
|
299
|
+
if (left & 8 /* Connection.Right */) {
|
300
|
+
connector |= 12 /* Connection.LeftRight */;
|
299
301
|
}
|
300
|
-
if (above & 2 /* Down */) {
|
301
|
-
connector |= 3 /* UpDown */;
|
302
|
+
if (above & 2 /* Connection.Down */) {
|
303
|
+
connector |= 3 /* Connection.UpDown */;
|
302
304
|
}
|
303
305
|
connectors[column][lane] = connector;
|
304
306
|
}
|
@@ -307,7 +309,7 @@ function formatControlFlowGraph(flowNode) {
|
|
307
309
|
for (let column = 0; column < columnCount; column++) {
|
308
310
|
for (let lane = 0; lane < lanes.length; lane++) {
|
309
311
|
const connector = connectors[column][lane];
|
310
|
-
const fill = connector & 4 /* Left */ ? "\u2500" /* lr */ : ' ';
|
312
|
+
const fill = connector & 4 /* Connection.Left */ ? "\u2500" /* BoxCharacter.lr */ : ' ';
|
311
313
|
const node = grid[column][lane];
|
312
314
|
if (!node) {
|
313
315
|
if (column < columnCount - 1) {
|
@@ -322,8 +324,8 @@ function formatControlFlowGraph(flowNode) {
|
|
322
324
|
}
|
323
325
|
}
|
324
326
|
writeLane(lane, getBoxCharacter(connector));
|
325
|
-
writeLane(lane, connector & 8 /* Right */ && column < columnCount - 1 && !grid[column + 1][lane]
|
326
|
-
? "\u2500" /* lr */
|
327
|
+
writeLane(lane, connector & 8 /* Connection.Right */ && column < columnCount - 1 && !grid[column + 1][lane]
|
328
|
+
? "\u2500" /* BoxCharacter.lr */
|
327
329
|
: ' ');
|
328
330
|
}
|
329
331
|
}
|
@@ -334,28 +336,28 @@ function formatControlFlowGraph(flowNode) {
|
|
334
336
|
}
|
335
337
|
function getBoxCharacter(connector) {
|
336
338
|
switch (connector) {
|
337
|
-
case 3 /* UpDown */:
|
338
|
-
return "\u2502" /* ud */;
|
339
|
-
case 12 /* LeftRight */:
|
340
|
-
return "\u2500" /* lr */;
|
341
|
-
case 5 /* UpLeft */:
|
342
|
-
return "\u256F" /* ul */;
|
343
|
-
case 9 /* UpRight */:
|
344
|
-
return "\u2570" /* ur */;
|
345
|
-
case 6 /* DownLeft */:
|
346
|
-
return "\u256E" /* dl */;
|
347
|
-
case 10 /* DownRight */:
|
348
|
-
return "\u256D" /* dr */;
|
349
|
-
case 7 /* UpDownLeft */:
|
350
|
-
return "\u2524" /* udl */;
|
351
|
-
case 11 /* UpDownRight */:
|
352
|
-
return "\u251C" /* udr */;
|
353
|
-
case 13 /* UpLeftRight */:
|
354
|
-
return "\u2534" /* ulr */;
|
355
|
-
case 14 /* DownLeftRight */:
|
356
|
-
return "\u252C" /* dlr */;
|
357
|
-
case 15 /* UpDownLeftRight */:
|
358
|
-
return "\u256B" /* udlr */;
|
339
|
+
case 3 /* Connection.UpDown */:
|
340
|
+
return "\u2502" /* BoxCharacter.ud */;
|
341
|
+
case 12 /* Connection.LeftRight */:
|
342
|
+
return "\u2500" /* BoxCharacter.lr */;
|
343
|
+
case 5 /* Connection.UpLeft */:
|
344
|
+
return "\u256F" /* BoxCharacter.ul */;
|
345
|
+
case 9 /* Connection.UpRight */:
|
346
|
+
return "\u2570" /* BoxCharacter.ur */;
|
347
|
+
case 6 /* Connection.DownLeft */:
|
348
|
+
return "\u256E" /* BoxCharacter.dl */;
|
349
|
+
case 10 /* Connection.DownRight */:
|
350
|
+
return "\u256D" /* BoxCharacter.dr */;
|
351
|
+
case 7 /* Connection.UpDownLeft */:
|
352
|
+
return "\u2524" /* BoxCharacter.udl */;
|
353
|
+
case 11 /* Connection.UpDownRight */:
|
354
|
+
return "\u251C" /* BoxCharacter.udr */;
|
355
|
+
case 13 /* Connection.UpLeftRight */:
|
356
|
+
return "\u2534" /* BoxCharacter.ulr */;
|
357
|
+
case 14 /* Connection.DownLeftRight */:
|
358
|
+
return "\u252C" /* BoxCharacter.dlr */;
|
359
|
+
case 15 /* Connection.UpDownLeftRight */:
|
360
|
+
return "\u256B" /* BoxCharacter.udlr */;
|
359
361
|
}
|
360
362
|
return ' ';
|
361
363
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"codeFlowUtils.js","sourceRoot":"","sources":["../../../src/analyzer/codeFlowUtils.ts"],"names":[],"mappings":"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"}
|
1
|
+
{"version":3,"file":"codeFlowUtils.js","sourceRoot":"","sources":["../../../src/analyzer/codeFlowUtils.ts"],"names":[],"mappings":"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"}
|
@@ -16,6 +16,7 @@ const diagnostic_1 = require("../common/diagnostic");
|
|
16
16
|
const positionUtils_1 = require("../common/positionUtils");
|
17
17
|
const localize_1 = require("../localization/localize");
|
18
18
|
const strictSetting = 'strict';
|
19
|
+
const standardSetting = 'standard';
|
19
20
|
const basicSetting = 'basic';
|
20
21
|
function getFileLevelDirectives(tokens, lines, defaultRuleSet, useStrict, diagnostics) {
|
21
22
|
let ruleSet = (0, configOptions_1.cloneDiagnosticRuleSet)(defaultRuleSet);
|
@@ -44,6 +45,9 @@ exports.getFileLevelDirectives = getFileLevelDirectives;
|
|
44
45
|
function _applyStrictRules(ruleSet) {
|
45
46
|
_overrideRules(ruleSet, (0, configOptions_1.getStrictDiagnosticRuleSet)(), (0, configOptions_1.getStrictModeNotOverriddenRules)());
|
46
47
|
}
|
48
|
+
function _applyStandardRules(ruleSet) {
|
49
|
+
_overwriteRules(ruleSet, (0, configOptions_1.getStandardDiagnosticRuleSet)());
|
50
|
+
}
|
47
51
|
function _applyBasicRules(ruleSet) {
|
48
52
|
_overwriteRules(ruleSet, (0, configOptions_1.getBasicDiagnosticRuleSet)());
|
49
53
|
}
|
@@ -107,6 +111,9 @@ function _parsePyrightComment(commentValue, commentRange, isCommentOnOwnLine, ru
|
|
107
111
|
if (operandList.some((s) => s.trim() === strictSetting)) {
|
108
112
|
_applyStrictRules(ruleSet);
|
109
113
|
}
|
114
|
+
else if (operandList.some((s) => s.trim() === standardSetting)) {
|
115
|
+
_applyStandardRules(ruleSet);
|
116
|
+
}
|
110
117
|
else if (operandList.some((s) => s.trim() === basicSetting)) {
|
111
118
|
_applyBasicRules(ruleSet);
|
112
119
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"commentUtils.js","sourceRoot":"","sources":["../../../src/analyzer/commentUtils.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;;;AAEH,
|
1
|
+
{"version":3,"file":"commentUtils.js","sourceRoot":"","sources":["../../../src/analyzer/commentUtils.ts"],"names":[],"mappings":"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"}
|
@@ -30,7 +30,7 @@ const logTypeVarContextUpdates = false;
|
|
30
30
|
// to produce the narrowest type that meets all of the requirements. If the type var context
|
31
31
|
// has been "locked", it simply validates that the srcType is compatible (with no attempt
|
32
32
|
// to widen or narrow).
|
33
|
-
function assignTypeToTypeVar(evaluator, destType, srcType, diag, typeVarContext, flags = 0 /* Default */, recursionCount = 0) {
|
33
|
+
function assignTypeToTypeVar(evaluator, destType, srcType, diag, typeVarContext, flags = 0 /* AssignTypeFlags.Default */, recursionCount = 0) {
|
34
34
|
if (logTypeVarContextUpdates) {
|
35
35
|
const indent = ' '.repeat(recursionCount * 2);
|
36
36
|
console.log(`${indent}`);
|
@@ -43,8 +43,8 @@ function assignTypeToTypeVar(evaluator, destType, srcType, diag, typeVarContext,
|
|
43
43
|
logTypeVarContext(evaluator, typeVarContext, indent);
|
44
44
|
}
|
45
45
|
let isTypeVarInScope = true;
|
46
|
-
const isInvariant = (flags & 1 /* EnforceInvariance */) !== 0;
|
47
|
-
const isContravariant = (flags & 2 /* ReverseTypeVarMatching */) !== 0;
|
46
|
+
const isInvariant = (flags & 1 /* AssignTypeFlags.EnforceInvariance */) !== 0;
|
47
|
+
const isContravariant = (flags & 2 /* AssignTypeFlags.ReverseTypeVarMatching */) !== 0;
|
48
48
|
// If the TypeVar doesn't have a scope ID, then it's being used
|
49
49
|
// outside of a valid TypeVar scope. This will be reported as a
|
50
50
|
// separate error. Just ignore this case to avoid redundant errors.
|
@@ -54,9 +54,20 @@ function assignTypeToTypeVar(evaluator, destType, srcType, diag, typeVarContext,
|
|
54
54
|
// Verify that we are solving for the scope associated with this
|
55
55
|
// type variable.
|
56
56
|
if (!typeVarContext.hasSolveForScope(destType.scopeId)) {
|
57
|
+
// Handle Any as a source.
|
57
58
|
if ((0, types_1.isAnyOrUnknown)(srcType) || ((0, types_1.isClass)(srcType) && types_1.ClassType.derivesFromAnyOrUnknown(srcType))) {
|
58
59
|
return true;
|
59
60
|
}
|
61
|
+
// Handle a type[Any] as a source.
|
62
|
+
if ((0, types_1.isClassInstance)(srcType) && types_1.ClassType.isBuiltIn(srcType, 'type')) {
|
63
|
+
if (!srcType.typeArguments ||
|
64
|
+
srcType.typeArguments.length < 1 ||
|
65
|
+
(0, types_1.isAnyOrUnknown)(srcType.typeArguments[0])) {
|
66
|
+
if (types_1.TypeBase.isInstantiable(destType)) {
|
67
|
+
return true;
|
68
|
+
}
|
69
|
+
}
|
70
|
+
}
|
60
71
|
// Is this the equivalent of an "Unknown" for a ParamSpec?
|
61
72
|
if (destType.details.isParamSpec &&
|
62
73
|
(0, types_1.isFunction)(srcType) &&
|
@@ -71,7 +82,7 @@ function assignTypeToTypeVar(evaluator, destType, srcType, diag, typeVarContext,
|
|
71
82
|
}
|
72
83
|
// If we're in "ignore type var scope" mode, don't generate
|
73
84
|
// an error in this path.
|
74
|
-
if ((flags & 512 /* IgnoreTypeVarScope */) !== 0) {
|
85
|
+
if ((flags & 512 /* AssignTypeFlags.IgnoreTypeVarScope */) !== 0) {
|
75
86
|
return true;
|
76
87
|
}
|
77
88
|
isTypeVarInScope = false;
|
@@ -82,7 +93,12 @@ function assignTypeToTypeVar(evaluator, destType, srcType, diag, typeVarContext,
|
|
82
93
|
return false;
|
83
94
|
}
|
84
95
|
}
|
85
|
-
|
96
|
+
// An in-scope placeholder TypeVar can always be assigned to itself,
|
97
|
+
// but we won't record this in the typeVarContext.
|
98
|
+
if ((0, types_1.isTypeSame)(destType, srcType) && destType.isInScopePlaceholder) {
|
99
|
+
return true;
|
100
|
+
}
|
101
|
+
if ((flags & 8 /* AssignTypeFlags.SkipSolveTypeVars */) !== 0) {
|
86
102
|
return evaluator.assignType(evaluator.makeTopLevelTypeVarsConcrete(destType), evaluator.makeTopLevelTypeVarsConcrete(srcType), diag,
|
87
103
|
/* destTypeVarContext */ undefined,
|
88
104
|
/* srcTypeVarContext */ undefined, flags, recursionCount);
|
@@ -113,13 +129,6 @@ function assignTypeToTypeVar(evaluator, destType, srcType, diag, typeVarContext,
|
|
113
129
|
!destType.details.isVariadic) {
|
114
130
|
srcType = types_1.TypeVarType.cloneForUnpacked(srcType, /* isInUnion */ true);
|
115
131
|
}
|
116
|
-
// If we're attempting to assign `type` to Type[T], transform `type` into `Type[Any]`.
|
117
|
-
if (types_1.TypeBase.isInstantiable(destType) &&
|
118
|
-
(0, types_1.isClassInstance)(srcType) &&
|
119
|
-
types_1.ClassType.isBuiltIn(srcType, 'type') &&
|
120
|
-
!srcType.typeArguments) {
|
121
|
-
srcType = types_1.AnyType.create();
|
122
|
-
}
|
123
132
|
// Handle the constrained case. This case needs to be handled specially
|
124
133
|
// because type narrowing isn't used in this case. For example, if the
|
125
134
|
// source type is "Literal[1]" and the constraint list includes the type
|
@@ -140,7 +149,7 @@ function assignTypeToTypeVar(evaluator, destType, srcType, diag, typeVarContext,
|
|
140
149
|
let adjSrcType = srcType;
|
141
150
|
// If the source is a class that is missing type arguments, fill
|
142
151
|
// in missing type arguments with Unknown.
|
143
|
-
if ((flags & 2048 /* AllowUnspecifiedTypeArguments */) === 0) {
|
152
|
+
if ((flags & 2048 /* AssignTypeFlags.AllowUnspecifiedTypeArguments */) === 0) {
|
144
153
|
if ((0, types_1.isClass)(adjSrcType) && adjSrcType.includeSubclasses) {
|
145
154
|
adjSrcType = (0, typeUtils_1.specializeWithDefaultTypeArgs)(adjSrcType);
|
146
155
|
}
|
@@ -167,7 +176,7 @@ function assignTypeToTypeVar(evaluator, destType, srcType, diag, typeVarContext,
|
|
167
176
|
diag === null || diag === void 0 ? void 0 : diag.addMessage(localize_1.Localizer.DiagnosticAddendum.typeAssignmentMismatch().format(evaluator.printSrcDestTypes(adjSrcType, destType)));
|
168
177
|
return false;
|
169
178
|
}
|
170
|
-
if ((flags & 1024 /* PopulatingExpectedType */) !== 0) {
|
179
|
+
if ((flags & 1024 /* AssignTypeFlags.PopulatingExpectedType */) !== 0) {
|
171
180
|
// If we're populating the expected type and the srcType is
|
172
181
|
// Unknown, ignore it.
|
173
182
|
if ((0, types_1.isUnknown)(adjSrcType)) {
|
@@ -197,7 +206,7 @@ function assignTypeToTypeVar(evaluator, destType, srcType, diag, typeVarContext,
|
|
197
206
|
else if (!(0, types_1.isTypeSame)(curWideTypeBound, adjSrcType, {}, recursionCount)) {
|
198
207
|
if (evaluator.assignType(curWideTypeBound, evaluator.makeTopLevelTypeVarsConcrete(adjSrcType), diagAddendum,
|
199
208
|
/* destTypeVarContext */ undefined,
|
200
|
-
/* srcTypeVarContext */ undefined, flags & 512 /* IgnoreTypeVarScope */, recursionCount)) {
|
209
|
+
/* srcTypeVarContext */ undefined, flags & 512 /* AssignTypeFlags.IgnoreTypeVarScope */, recursionCount)) {
|
201
210
|
// The srcType is narrower than the current wideTypeBound, so replace it.
|
202
211
|
// If it's Any, don't replace it because Any is the narrowest type already.
|
203
212
|
if (!(0, types_1.isAny)(curWideTypeBound)) {
|
@@ -206,7 +215,7 @@ function assignTypeToTypeVar(evaluator, destType, srcType, diag, typeVarContext,
|
|
206
215
|
}
|
207
216
|
else if (!evaluator.assignType(adjSrcType, curWideTypeBound, diagAddendum,
|
208
217
|
/* destTypeVarContext */ undefined,
|
209
|
-
/* srcTypeVarContext */ undefined, flags & 512 /* IgnoreTypeVarScope */, recursionCount)) {
|
218
|
+
/* srcTypeVarContext */ undefined, flags & 512 /* AssignTypeFlags.IgnoreTypeVarScope */, recursionCount)) {
|
210
219
|
if (diag && diagAddendum) {
|
211
220
|
diag.addMessage(localize_1.Localizer.DiagnosticAddendum.typeAssignmentMismatch().format(evaluator.printSrcDestTypes(curWideTypeBound, adjSrcType)));
|
212
221
|
diag.addAddendum(diagAddendum);
|
@@ -219,7 +228,7 @@ function assignTypeToTypeVar(evaluator, destType, srcType, diag, typeVarContext,
|
|
219
228
|
if (!evaluator.assignType(newWideTypeBound, curNarrowTypeBound,
|
220
229
|
/* diag */ undefined,
|
221
230
|
/* destTypeVarContext */ undefined,
|
222
|
-
/* srcTypeVarContext */ undefined, flags & 512 /* IgnoreTypeVarScope */, recursionCount)) {
|
231
|
+
/* srcTypeVarContext */ undefined, flags & 512 /* AssignTypeFlags.IgnoreTypeVarScope */, recursionCount)) {
|
223
232
|
if (diag && diagAddendum) {
|
224
233
|
diag.addMessage(localize_1.Localizer.DiagnosticAddendum.typeAssignmentMismatch().format(evaluator.printSrcDestTypes(curNarrowTypeBound, newWideTypeBound)));
|
225
234
|
diag.addAddendum(diagAddendum);
|
@@ -234,8 +243,7 @@ function assignTypeToTypeVar(evaluator, destType, srcType, diag, typeVarContext,
|
|
234
243
|
newNarrowTypeBound = adjSrcType;
|
235
244
|
}
|
236
245
|
else if (!(0, types_1.isTypeSame)(curNarrowTypeBound, adjSrcType, {}, recursionCount)) {
|
237
|
-
if (evaluator.assignType(curNarrowTypeBound, adjSrcType, diagAddendum,
|
238
|
-
/* destTypeVarContext */ undefined,
|
246
|
+
if (evaluator.assignType(curNarrowTypeBound, adjSrcType, diagAddendum, typeVarContext,
|
239
247
|
/* srcTypeVarContext */ undefined, flags, recursionCount)) {
|
240
248
|
// No need to widen. Stick with the existing type unless it's unknown
|
241
249
|
// or partly unknown, in which case we'll replace it with a known type
|
@@ -243,9 +251,8 @@ function assignTypeToTypeVar(evaluator, destType, srcType, diag, typeVarContext,
|
|
243
251
|
if ((0, typeUtils_1.isPartlyUnknown)(curNarrowTypeBound) &&
|
244
252
|
!(0, types_1.isUnknown)(adjSrcType) &&
|
245
253
|
evaluator.assignType(adjSrcType, curNarrowTypeBound,
|
246
|
-
/* diag */ undefined,
|
247
|
-
/*
|
248
|
-
/* srcTypeVarContext */ undefined, flags & 512 /* IgnoreTypeVarScope */, recursionCount)) {
|
254
|
+
/* diag */ undefined, typeVarContext,
|
255
|
+
/* srcTypeVarContext */ undefined, flags & 512 /* AssignTypeFlags.IgnoreTypeVarScope */, recursionCount)) {
|
249
256
|
newNarrowTypeBound = adjSrcType;
|
250
257
|
}
|
251
258
|
else {
|
@@ -254,8 +261,7 @@ function assignTypeToTypeVar(evaluator, destType, srcType, diag, typeVarContext,
|
|
254
261
|
}
|
255
262
|
else if ((0, types_1.isTypeVar)(curNarrowTypeBound) &&
|
256
263
|
!(0, types_1.isTypeVar)(adjSrcType) &&
|
257
|
-
evaluator.assignType(evaluator.makeTopLevelTypeVarsConcrete(curNarrowTypeBound), adjSrcType, diagAddendum,
|
258
|
-
/* destTypeVarContext */ undefined,
|
264
|
+
evaluator.assignType(evaluator.makeTopLevelTypeVarsConcrete(curNarrowTypeBound), adjSrcType, diagAddendum, typeVarContext,
|
259
265
|
/* srcTypeVarContext */ undefined, flags, recursionCount)) {
|
260
266
|
// If the existing narrow type bound was a TypeVar that is not
|
261
267
|
// part of the current context we can replace it with the new
|
@@ -269,9 +275,8 @@ function assignTypeToTypeVar(evaluator, destType, srcType, diag, typeVarContext,
|
|
269
275
|
return false;
|
270
276
|
}
|
271
277
|
if (evaluator.assignType(adjSrcType, curNarrowTypeBound,
|
272
|
-
/* diag */ undefined,
|
273
|
-
/*
|
274
|
-
/* srcTypeVarContext */ undefined, flags & 512 /* IgnoreTypeVarScope */, recursionCount)) {
|
278
|
+
/* diag */ undefined, typeVarContext,
|
279
|
+
/* srcTypeVarContext */ undefined, flags & 512 /* AssignTypeFlags.IgnoreTypeVarScope */, recursionCount)) {
|
275
280
|
newNarrowTypeBound = adjSrcType;
|
276
281
|
}
|
277
282
|
else if ((0, types_1.isVariadicTypeVar)(destType)) {
|
@@ -321,9 +326,8 @@ function assignTypeToTypeVar(evaluator, destType, srcType, diag, typeVarContext,
|
|
321
326
|
const adjWideTypeBound = makeConcrete
|
322
327
|
? evaluator.makeTopLevelTypeVarsConcrete(curWideTypeBound, /* makeParamSpecsConcrete */ true)
|
323
328
|
: curWideTypeBound;
|
324
|
-
if (!evaluator.assignType(adjWideTypeBound, newNarrowTypeBound, diag === null || diag === void 0 ? void 0 : diag.createAddendum(),
|
325
|
-
/*
|
326
|
-
/* srcTypeVarContext */ undefined, 512 /* IgnoreTypeVarScope */, recursionCount)) {
|
329
|
+
if (!evaluator.assignType(adjWideTypeBound, newNarrowTypeBound, diag === null || diag === void 0 ? void 0 : diag.createAddendum(), typeVarContext,
|
330
|
+
/* srcTypeVarContext */ undefined, 512 /* AssignTypeFlags.IgnoreTypeVarScope */, recursionCount)) {
|
327
331
|
if (diag && diagAddendum) {
|
328
332
|
diag.addMessage(localize_1.Localizer.DiagnosticAddendum.typeAssignmentMismatch().format(evaluator.printSrcDestTypes(newNarrowTypeBound, adjWideTypeBound)));
|
329
333
|
}
|
@@ -348,7 +352,7 @@ function assignTypeToTypeVar(evaluator, destType, srcType, diag, typeVarContext,
|
|
348
352
|
? typeVarContext
|
349
353
|
: new typeVarContext_1.TypeVarContext(destType.scopeId);
|
350
354
|
if (!evaluator.assignType(destType.details.boundType, evaluator.makeTopLevelTypeVarsConcrete(updatedType), diag === null || diag === void 0 ? void 0 : diag.createAddendum(), effectiveTypeVarContext,
|
351
|
-
/* srcTypeVarContext */ undefined, flags & 512 /* IgnoreTypeVarScope */, recursionCount)) {
|
355
|
+
/* srcTypeVarContext */ undefined, flags & 512 /* AssignTypeFlags.IgnoreTypeVarScope */, recursionCount)) {
|
352
356
|
// Avoid adding a message that will confuse users if the TypeVar was
|
353
357
|
// synthesized for internal purposes.
|
354
358
|
if (!destType.details.isSynthesized) {
|
@@ -362,7 +366,7 @@ function assignTypeToTypeVar(evaluator, destType, srcType, diag, typeVarContext,
|
|
362
366
|
}
|
363
367
|
}
|
364
368
|
if (!typeVarContext.isLocked() && isTypeVarInScope) {
|
365
|
-
updateTypeVarType(evaluator, typeVarContext, destType, newNarrowTypeBound, newWideTypeBound, (flags & (1024 /* PopulatingExpectedType */ | 128 /* RetainLiteralsForTypeVar */)) !== 0);
|
369
|
+
updateTypeVarType(evaluator, typeVarContext, destType, newNarrowTypeBound, newWideTypeBound, (flags & (1024 /* AssignTypeFlags.PopulatingExpectedType */ | 128 /* AssignTypeFlags.RetainLiteralsForTypeVar */)) !== 0);
|
366
370
|
}
|
367
371
|
if (logTypeVarContextUpdates) {
|
368
372
|
const indent = ' '.repeat(recursionCount * 2);
|
@@ -404,7 +408,7 @@ function assignTypeToConstrainedTypeVar(evaluator, destType, srcType, diag, type
|
|
404
408
|
if ((0, types_1.isTypeVar)(srcType)) {
|
405
409
|
if (evaluator.assignType(destType, concreteSrcType,
|
406
410
|
/* diag */ undefined, new typeVarContext_1.TypeVarContext(destType.scopeId),
|
407
|
-
/* srcTypeVarContext */ undefined, 0 /* Default */, recursionCount)) {
|
411
|
+
/* srcTypeVarContext */ undefined, 0 /* AssignTypeFlags.Default */, recursionCount)) {
|
408
412
|
constrainedType = srcType;
|
409
413
|
// If the source and dest are both instantiables (type[T]), then
|
410
414
|
// we need to convert to an instance (T).
|
@@ -433,14 +437,14 @@ function assignTypeToConstrainedTypeVar(evaluator, destType, srcType, diag, type
|
|
433
437
|
if (evaluator.assignType(adjustedConstraint, srcSubtype,
|
434
438
|
/* diag */ undefined,
|
435
439
|
/* destTypeVarContext */ undefined,
|
436
|
-
/* srcTypeVarContext */ undefined, 0 /* Default */, recursionCount)) {
|
440
|
+
/* srcTypeVarContext */ undefined, 0 /* AssignTypeFlags.Default */, recursionCount)) {
|
437
441
|
if (!constrainedSubtype ||
|
438
442
|
evaluator.assignType(types_1.TypeBase.isInstantiable(destType)
|
439
443
|
? (0, typeUtils_1.convertToInstantiable)(constrainedSubtype)
|
440
444
|
: constrainedSubtype, adjustedConstraint,
|
441
445
|
/* diag */ undefined,
|
442
446
|
/* destTypeVarContext */ undefined,
|
443
|
-
/* srcTypeVarContext */ undefined, 0 /* Default */, recursionCount)) {
|
447
|
+
/* srcTypeVarContext */ undefined, 0 /* AssignTypeFlags.Default */, recursionCount)) {
|
444
448
|
constrainedSubtype = (0, typeUtils_1.addConditionToType)(constraint, (0, typeUtils_1.getTypeCondition)(srcSubtype));
|
445
449
|
constraintIndexUsed = i;
|
446
450
|
}
|
@@ -450,7 +454,7 @@ function assignTypeToConstrainedTypeVar(evaluator, destType, srcType, diag, type
|
|
450
454
|
// We found a source subtype that is not compatible with the dest.
|
451
455
|
// This is OK if we're handling the contravariant case because only
|
452
456
|
// one subtype needs to be assignable in that case.
|
453
|
-
if ((flags & 2 /* ReverseTypeVarMatching */) === 0) {
|
457
|
+
if ((flags & 2 /* AssignTypeFlags.ReverseTypeVarMatching */) === 0) {
|
454
458
|
isCompatible = false;
|
455
459
|
}
|
456
460
|
}
|
@@ -478,7 +482,7 @@ function assignTypeToConstrainedTypeVar(evaluator, destType, srcType, diag, type
|
|
478
482
|
return evaluator.assignType(adjustedConstraint, concreteSrcType,
|
479
483
|
/* diag */ undefined,
|
480
484
|
/* destTypeVarContext */ undefined,
|
481
|
-
/* srcTypeVarContext */ undefined, 0 /* Default */, recursionCount);
|
485
|
+
/* srcTypeVarContext */ undefined, 0 /* AssignTypeFlags.Default */, recursionCount);
|
482
486
|
});
|
483
487
|
}
|
484
488
|
}
|
@@ -496,14 +500,14 @@ function assignTypeToConstrainedTypeVar(evaluator, destType, srcType, diag, type
|
|
496
500
|
if (!evaluator.assignType(curNarrowTypeBound, constrainedType,
|
497
501
|
/* diag */ undefined,
|
498
502
|
/* destTypeVarContext */ undefined,
|
499
|
-
/* srcTypeVarContext */ undefined, 0 /* Default */, recursionCount)) {
|
503
|
+
/* srcTypeVarContext */ undefined, 0 /* AssignTypeFlags.Default */, recursionCount)) {
|
500
504
|
// Handle the case where one of the constrained types is a wider
|
501
505
|
// version of another constrained type that was previously assigned
|
502
506
|
// to the type variable.
|
503
507
|
if (evaluator.assignType(constrainedType, curNarrowTypeBound,
|
504
508
|
/* diag */ undefined,
|
505
509
|
/* destTypeVarContext */ undefined,
|
506
|
-
/* srcTypeVarContext */ undefined, 0 /* Default */, recursionCount)) {
|
510
|
+
/* srcTypeVarContext */ undefined, 0 /* AssignTypeFlags.Default */, recursionCount)) {
|
507
511
|
if (!typeVarContext.isLocked() && isTypeVarInScope) {
|
508
512
|
updateTypeVarType(evaluator, typeVarContext, destType, constrainedType, curWideTypeBound);
|
509
513
|
}
|
@@ -559,7 +563,7 @@ function assignTypeToParamSpec(evaluator, destType, srcType, diag, typeVarContex
|
|
559
563
|
};
|
560
564
|
return param;
|
561
565
|
});
|
562
|
-
const newFunction = types_1.FunctionType.createInstance('', '', '', srcType.details.flags | 65536 /* ParamSpecValue */);
|
566
|
+
const newFunction = types_1.FunctionType.createInstance('', '', '', srcType.details.flags | 65536 /* FunctionTypeFlags.ParamSpecValue */);
|
563
567
|
parameters.forEach((param) => {
|
564
568
|
types_1.FunctionType.addParameter(newFunction, param);
|
565
569
|
});
|
@@ -579,13 +583,13 @@ function assignTypeToParamSpec(evaluator, destType, srcType, diag, typeVarContex
|
|
579
583
|
if (evaluator.assignType(existingFunction, newFunction,
|
580
584
|
/* diag */ undefined,
|
581
585
|
/* destTypeVarContext */ undefined,
|
582
|
-
/* srcTypeVarContext */ undefined, 32 /* SkipFunctionReturnTypeCheck */, recursionCount)) {
|
586
|
+
/* srcTypeVarContext */ undefined, 32 /* AssignTypeFlags.SkipFunctionReturnTypeCheck */, recursionCount)) {
|
583
587
|
updateContextWithNewFunction = true;
|
584
588
|
}
|
585
589
|
else if (evaluator.assignType(newFunction, existingFunction,
|
586
590
|
/* diag */ undefined,
|
587
591
|
/* destTypeVarContext */ undefined,
|
588
|
-
/* srcTypeVarContext */ undefined, 32 /* SkipFunctionReturnTypeCheck */, recursionCount)) {
|
592
|
+
/* srcTypeVarContext */ undefined, 32 /* AssignTypeFlags.SkipFunctionReturnTypeCheck */, recursionCount)) {
|
589
593
|
// The existing function is already narrower than the new function, so
|
590
594
|
// no need to narrow it further.
|
591
595
|
return;
|
@@ -642,7 +646,7 @@ function populateTypeVarContextBasedOnExpectedType(evaluator, type, expectedType
|
|
642
646
|
if (!expectedTypeArgs) {
|
643
647
|
return evaluator.assignType(type, expectedType,
|
644
648
|
/* diag */ undefined, typeVarContext,
|
645
|
-
/* srcTypeVarContext */ undefined, 1024 /* PopulatingExpectedType */);
|
649
|
+
/* srcTypeVarContext */ undefined, 1024 /* AssignTypeFlags.PopulatingExpectedType */);
|
646
650
|
}
|
647
651
|
evaluator.inferTypeParameterVarianceForClass(type);
|
648
652
|
// If the expected type is the same as the target type (commonly the case),
|
@@ -659,7 +663,7 @@ function populateTypeVarContextBasedOnExpectedType(evaluator, type, expectedType
|
|
659
663
|
}
|
660
664
|
if (typeArgValue) {
|
661
665
|
const variance = types_1.TypeVarType.getVariance(entry.typeVar);
|
662
|
-
updateTypeVarType(evaluator, typeVarContext, entry.typeVar, variance === 3 /* Covariant */ ? undefined : typeArgValue, variance === 4 /* Contravariant */ ? undefined : typeArgValue);
|
666
|
+
updateTypeVarType(evaluator, typeVarContext, entry.typeVar, variance === 3 /* Variance.Covariant */ ? undefined : typeArgValue, variance === 4 /* Variance.Contravariant */ ? undefined : typeArgValue);
|
663
667
|
if (entry.tupleTypes) {
|
664
668
|
typeVarContext.setTupleTypeVar(entry.typeVar, entry.tupleTypes.map((tupleEntry) => {
|
665
669
|
let tupleType = tupleEntry.type;
|
@@ -682,7 +686,7 @@ function populateTypeVarContextBasedOnExpectedType(evaluator, type, expectedType
|
|
682
686
|
typeVar.details.isParamSpec = true;
|
683
687
|
}
|
684
688
|
// Use invariance here so we set the narrow and wide values on the TypeVar.
|
685
|
-
typeVar.details.declaredVariance = 2 /* Invariant */;
|
689
|
+
typeVar.details.declaredVariance = 2 /* Variance.Invariant */;
|
686
690
|
typeVar.scopeId = expectedTypeScopeId;
|
687
691
|
return typeVar;
|
688
692
|
});
|
@@ -703,7 +707,7 @@ function populateTypeVarContextBasedOnExpectedType(evaluator, type, expectedType
|
|
703
707
|
const syntheticTypeVarContext = new typeVarContext_1.TypeVarContext(expectedTypeScopeId);
|
704
708
|
if (evaluator.assignType(genericExpectedType, specializedType,
|
705
709
|
/* diag */ undefined, syntheticTypeVarContext,
|
706
|
-
/* srcTypeVarContext */ undefined, 1024 /* PopulatingExpectedType */)) {
|
710
|
+
/* srcTypeVarContext */ undefined, 1024 /* AssignTypeFlags.PopulatingExpectedType */)) {
|
707
711
|
let isResultValid = true;
|
708
712
|
synthExpectedTypeArgs.forEach((typeVar, index) => {
|
709
713
|
let synthTypeVar = syntheticTypeVarContext.getPrimarySignature().getTypeVarType(typeVar);
|
@@ -756,7 +760,7 @@ function populateTypeVarContextBasedOnExpectedType(evaluator, type, expectedType
|
|
756
760
|
isResultValid = false;
|
757
761
|
typeArgValue = types_1.UnknownType.create();
|
758
762
|
}
|
759
|
-
updateTypeVarType(evaluator, typeVarContext, targetTypeVar, variance === 3 /* Covariant */ ? undefined : typeArgValue, variance === 4 /* Contravariant */ ? undefined : typeArgValue);
|
763
|
+
updateTypeVarType(evaluator, typeVarContext, targetTypeVar, variance === 3 /* Variance.Covariant */ ? undefined : typeArgValue, variance === 4 /* Variance.Contravariant */ ? undefined : typeArgValue);
|
760
764
|
}
|
761
765
|
else {
|
762
766
|
isResultValid = false;
|