@zzzen/pyright-internal 1.2.0-dev.20231112 → 1.2.0-dev.20231126
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 +198 -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 +1 -0
- package/dist/analyzer/checker.js +286 -256
- package/dist/analyzer/checker.js.map +1 -1
- package/dist/analyzer/codeFlowEngine.d.ts +1 -1
- package/dist/analyzer/codeFlowEngine.js +26 -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/constraintSolver.js +48 -45
- 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 +33 -31
- package/dist/analyzer/constructors.js.map +1 -1
- package/dist/analyzer/dataClasses.js +67 -63
- 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 +44 -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/docStringConversion.js +1 -1
- package/dist/analyzer/docStringConversion.js.map +1 -1
- package/dist/analyzer/docStringUtils.js +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 +27 -18
- 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 +78 -78
- 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 +71 -64
- package/dist/analyzer/patternMatching.js.map +1 -1
- package/dist/analyzer/program.d.ts +1 -1
- package/dist/analyzer/program.js +20 -17
- 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 +14 -14
- 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 +15 -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 +1272 -1176
- package/dist/analyzer/typeEvaluator.js.map +1 -1
- package/dist/analyzer/typeEvaluatorTypes.d.ts +3 -1
- package/dist/analyzer/typeEvaluatorTypes.js +3 -1
- package/dist/analyzer/typeEvaluatorTypes.js.map +1 -1
- package/dist/analyzer/typeGuards.d.ts +1 -1
- package/dist/analyzer/typeGuards.js +95 -67
- 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.js +163 -123
- package/dist/analyzer/typeUtils.js.map +1 -1
- package/dist/analyzer/typeVarContext.d.ts +1 -0
- package/dist/analyzer/typeVarContext.js +12 -9
- package/dist/analyzer/typeVarContext.js.map +1 -1
- package/dist/analyzer/typeWalker.js +10 -10
- package/dist/analyzer/typedDicts.js +74 -70
- package/dist/analyzer/typedDicts.js.map +1 -1
- package/dist/analyzer/types.d.ts +17 -12
- package/dist/analyzer/types.js +191 -181
- 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 +7 -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.js +1 -1
- 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 +1 -1
- package/dist/common/configOptions.js +11 -7
- 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.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.d.ts +3 -3
- package/dist/languageServerBase.js +19 -19
- 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 +8 -8
- package/dist/languageService/codeActionProvider.js.map +1 -1
- package/dist/languageService/completionProvider.js +171 -173
- 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.js +10 -6
- 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 +10 -12
- package/dist/localization/localize.js +8 -5
- package/dist/localization/localize.js.map +1 -1
- package/dist/localization/package.nls.cs.json +5 -8
- package/dist/localization/package.nls.de.json +5 -8
- package/dist/localization/package.nls.en-us.json +12 -9
- package/dist/localization/package.nls.es.json +5 -8
- package/dist/localization/package.nls.fr.json +5 -8
- package/dist/localization/package.nls.it.json +5 -8
- package/dist/localization/package.nls.ja.json +5 -8
- package/dist/localization/package.nls.ko.json +5 -8
- package/dist/localization/package.nls.pl.json +5 -8
- package/dist/localization/package.nls.pt-br.json +5 -8
- package/dist/localization/package.nls.qps-ploc.json +2 -5
- package/dist/localization/package.nls.ru.json +5 -8
- package/dist/localization/package.nls.tr.json +5 -8
- package/dist/localization/package.nls.zh-cn.json +5 -8
- package/dist/localization/package.nls.zh-tw.json +5 -8
- 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 +38 -18
- package/dist/pyright.js.map +1 -1
- package/dist/pyrightFileSystem.d.ts +1 -0
- package/dist/pyrightFileSystem.js +1 -1
- package/dist/pyrightFileSystem.js.map +1 -1
- package/dist/readonlyAugmentedFileSystem.d.ts +1 -0
- package/dist/tests/chainedSourceFiles.test.js +5 -1
- package/dist/tests/chainedSourceFiles.test.js.map +1 -1
- package/dist/tests/checker.test.js +5 -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/config.test.js +7 -5
- package/dist/tests/config.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/docStringConversion.test.js +0 -22
- package/dist/tests/docStringConversion.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/completions.params.fourslash.js +11 -0
- package/dist/tests/fourslash/completions.params.fourslash.js.map +1 -1
- package/dist/tests/fourslash/hover.docstring.split.fourslash.js +10 -0
- package/dist/tests/fourslash/hover.docstring.split.fourslash.js.map +1 -1
- 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.js +6 -2
- package/dist/tests/harness/fourslash/testState.Consts.js.map +1 -1
- package/dist/tests/harness/fourslash/testState.js +17 -13
- 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/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 +18 -2
- package/dist/tests/typeEvaluator1.test.js.map +1 -1
- package/dist/tests/typeEvaluator2.test.js +19 -3
- package/dist/tests/typeEvaluator2.test.js.map +1 -1
- package/dist/tests/typeEvaluator3.test.js +11 -3
- package/dist/tests/typeEvaluator3.test.js.map +1 -1
- package/dist/tests/typeEvaluator4.test.js +11 -3
- package/dist/tests/typeEvaluator4.test.js.map +1 -1
- package/dist/tests/typeEvaluator5.test.js +5 -1
- 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
@@ -37,34 +37,34 @@ class TypeWalker {
|
|
37
37
|
this.visitTypeAlias(type);
|
38
38
|
}
|
39
39
|
switch (type.category) {
|
40
|
-
case 0 /* Unbound */:
|
40
|
+
case 0 /* TypeCategory.Unbound */:
|
41
41
|
this.visitUnbound(type);
|
42
42
|
break;
|
43
|
-
case 2 /* Any */:
|
43
|
+
case 2 /* TypeCategory.Any */:
|
44
44
|
this.visitAny(type);
|
45
45
|
break;
|
46
|
-
case 1 /* Unknown */:
|
46
|
+
case 1 /* TypeCategory.Unknown */:
|
47
47
|
this.visitUnknown(type);
|
48
48
|
break;
|
49
|
-
case 3 /* Never */:
|
49
|
+
case 3 /* TypeCategory.Never */:
|
50
50
|
this.visitNever(type);
|
51
51
|
break;
|
52
|
-
case 4 /* Function */:
|
52
|
+
case 4 /* TypeCategory.Function */:
|
53
53
|
this.visitFunction(type);
|
54
54
|
break;
|
55
|
-
case 5 /* OverloadedFunction */:
|
55
|
+
case 5 /* TypeCategory.OverloadedFunction */:
|
56
56
|
this.visitOverloadedFunction(type);
|
57
57
|
break;
|
58
|
-
case 6 /* Class */:
|
58
|
+
case 6 /* TypeCategory.Class */:
|
59
59
|
this.visitClass(type);
|
60
60
|
break;
|
61
|
-
case 7 /* Module */:
|
61
|
+
case 7 /* TypeCategory.Module */:
|
62
62
|
this.visitModule(type);
|
63
63
|
break;
|
64
|
-
case 8 /* Union */:
|
64
|
+
case 8 /* TypeCategory.Union */:
|
65
65
|
this.visitUnion(type);
|
66
66
|
break;
|
67
|
-
case 9 /* TypeVar */:
|
67
|
+
case 9 /* TypeCategory.TypeVar */:
|
68
68
|
this.visitTypeVar(type);
|
69
69
|
break;
|
70
70
|
default:
|
@@ -10,7 +10,11 @@
|
|
10
10
|
*/
|
11
11
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
12
12
|
if (k2 === undefined) k2 = k;
|
13
|
-
Object.
|
13
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
14
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
15
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
16
|
+
}
|
17
|
+
Object.defineProperty(o, k2, desc);
|
14
18
|
}) : (function(o, m, k, k2) {
|
15
19
|
if (k2 === undefined) k2 = k;
|
16
20
|
o[k2] = m[k];
|
@@ -56,30 +60,30 @@ function createTypedDictType(evaluator, errorNode, typedDictClass, argList) {
|
|
56
60
|
}
|
57
61
|
else {
|
58
62
|
const nameArg = argList[0];
|
59
|
-
if (nameArg.argumentCategory !== 0 /* Simple */ ||
|
63
|
+
if (nameArg.argumentCategory !== 0 /* ArgumentCategory.Simple */ ||
|
60
64
|
!nameArg.valueExpression ||
|
61
|
-
nameArg.valueExpression.nodeType !== 48 /* StringList */) {
|
65
|
+
nameArg.valueExpression.nodeType !== 48 /* ParseNodeType.StringList */) {
|
62
66
|
evaluator.addError(localize_1.Localizer.Diagnostic.typedDictFirstArg(), argList[0].valueExpression || errorNode);
|
63
67
|
}
|
64
68
|
else {
|
65
69
|
className = nameArg.valueExpression.strings.map((s) => s.value).join('');
|
66
70
|
}
|
67
71
|
}
|
68
|
-
const classType = types_1.ClassType.createInstantiable(className, ParseTreeUtils.getClassFullName(errorNode, fileInfo.moduleName, className), fileInfo.moduleName, fileInfo.filePath, 128 /* TypedDictClass */, ParseTreeUtils.getTypeSourceId(errorNode),
|
72
|
+
const classType = types_1.ClassType.createInstantiable(className, ParseTreeUtils.getClassFullName(errorNode, fileInfo.moduleName, className), fileInfo.moduleName, fileInfo.filePath, 128 /* ClassTypeFlags.TypedDictClass */, ParseTreeUtils.getTypeSourceId(errorNode),
|
69
73
|
/* declaredMetaclass */ undefined, typedDictClass.details.effectiveMetaclass);
|
70
74
|
classType.details.baseClasses.push(typedDictClass);
|
71
75
|
(0, typeUtils_1.computeMroLinearization)(classType);
|
72
76
|
const classFields = classType.details.fields;
|
73
|
-
classFields.set('__class__', symbol_1.Symbol.createWithType(4 /* ClassMember */ | 64 /* IgnoredForProtocolMatch */, classType));
|
77
|
+
classFields.set('__class__', symbol_1.Symbol.createWithType(4 /* SymbolFlags.ClassMember */ | 64 /* SymbolFlags.IgnoredForProtocolMatch */, classType));
|
74
78
|
let usingDictSyntax = false;
|
75
79
|
if (argList.length < 2) {
|
76
80
|
evaluator.addError(localize_1.Localizer.Diagnostic.typedDictSecondArgDict(), errorNode);
|
77
81
|
}
|
78
82
|
else {
|
79
83
|
const entriesArg = argList[1];
|
80
|
-
if (entriesArg.argumentCategory === 0 /* Simple */ &&
|
84
|
+
if (entriesArg.argumentCategory === 0 /* ArgumentCategory.Simple */ &&
|
81
85
|
entriesArg.valueExpression &&
|
82
|
-
entriesArg.valueExpression.nodeType === 15 /* Dictionary */) {
|
86
|
+
entriesArg.valueExpression.nodeType === 15 /* ParseNodeType.Dictionary */) {
|
83
87
|
usingDictSyntax = true;
|
84
88
|
getTypedDictFieldsFromDictSyntax(evaluator, entriesArg.valueExpression, classFields, /* isInline */ false);
|
85
89
|
}
|
@@ -96,10 +100,10 @@ function createTypedDictType(evaluator, errorNode, typedDictClass, argList) {
|
|
96
100
|
}
|
97
101
|
// Record names in a map to detect duplicates.
|
98
102
|
entrySet.add(entry.name.value);
|
99
|
-
const newSymbol = new symbol_1.Symbol(8 /* InstanceMember */);
|
103
|
+
const newSymbol = new symbol_1.Symbol(8 /* SymbolFlags.InstanceMember */);
|
100
104
|
const fileInfo = AnalyzerNodeInfo.getFileInfo(errorNode);
|
101
105
|
const declaration = {
|
102
|
-
type: 1 /* Variable */,
|
106
|
+
type: 1 /* DeclarationType.Variable */,
|
103
107
|
node: entry.name,
|
104
108
|
path: fileInfo.filePath,
|
105
109
|
typeAnnotationNode: entry.valueExpression,
|
@@ -120,13 +124,13 @@ function createTypedDictType(evaluator, errorNode, typedDictClass, argList) {
|
|
120
124
|
for (const arg of argList.slice(2)) {
|
121
125
|
if (((_a = arg.name) === null || _a === void 0 ? void 0 : _a.value) === 'total') {
|
122
126
|
if (!arg.valueExpression ||
|
123
|
-
arg.valueExpression.nodeType !== 11 /* Constant */ ||
|
124
|
-
!(arg.valueExpression.constType === 15 /* False */ ||
|
125
|
-
arg.valueExpression.constType === 33 /* True */)) {
|
127
|
+
arg.valueExpression.nodeType !== 11 /* ParseNodeType.Constant */ ||
|
128
|
+
!(arg.valueExpression.constType === 15 /* KeywordType.False */ ||
|
129
|
+
arg.valueExpression.constType === 33 /* KeywordType.True */)) {
|
126
130
|
evaluator.addError(localize_1.Localizer.Diagnostic.typedDictBoolParam().format({ name: arg.name.value }), arg.valueExpression || errorNode);
|
127
131
|
}
|
128
|
-
else if (arg.name.value === 'total' && arg.valueExpression.constType === 15 /* False */) {
|
129
|
-
classType.details.flags |= 256 /* CanOmitDictValues */;
|
132
|
+
else if (arg.name.value === 'total' && arg.valueExpression.constType === 15 /* KeywordType.False */) {
|
133
|
+
classType.details.flags |= 256 /* ClassTypeFlags.CanOmitDictValues */;
|
130
134
|
}
|
131
135
|
}
|
132
136
|
else {
|
@@ -142,7 +146,7 @@ exports.createTypedDictType = createTypedDictType;
|
|
142
146
|
function createTypedDictTypeInlined(evaluator, dictNode, typedDictClass) {
|
143
147
|
const fileInfo = AnalyzerNodeInfo.getFileInfo(dictNode);
|
144
148
|
const className = '<TypedDict>';
|
145
|
-
const classType = types_1.ClassType.createInstantiable(className, ParseTreeUtils.getClassFullName(dictNode, fileInfo.moduleName, className), fileInfo.moduleName, fileInfo.filePath, 128 /* TypedDictClass */, ParseTreeUtils.getTypeSourceId(dictNode),
|
149
|
+
const classType = types_1.ClassType.createInstantiable(className, ParseTreeUtils.getClassFullName(dictNode, fileInfo.moduleName, className), fileInfo.moduleName, fileInfo.filePath, 128 /* ClassTypeFlags.TypedDictClass */, ParseTreeUtils.getTypeSourceId(dictNode),
|
146
150
|
/* declaredMetaclass */ undefined, typedDictClass.details.effectiveMetaclass);
|
147
151
|
classType.details.baseClasses.push(typedDictClass);
|
148
152
|
(0, typeUtils_1.computeMroLinearization)(classType);
|
@@ -154,9 +158,9 @@ exports.createTypedDictTypeInlined = createTypedDictTypeInlined;
|
|
154
158
|
function synthesizeTypedDictClassMethods(evaluator, node, classType, isClassFinal) {
|
155
159
|
(0, debug_1.assert)(types_1.ClassType.isTypedDictClass(classType));
|
156
160
|
// Synthesize a __new__ method.
|
157
|
-
const newType = types_1.FunctionType.createSynthesizedInstance('__new__', 1 /* ConstructorMethod */);
|
161
|
+
const newType = types_1.FunctionType.createSynthesizedInstance('__new__', 1 /* FunctionTypeFlags.ConstructorMethod */);
|
158
162
|
types_1.FunctionType.addParameter(newType, {
|
159
|
-
category: 0 /* Simple */,
|
163
|
+
category: 0 /* ParameterCategory.Simple */,
|
160
164
|
name: 'cls',
|
161
165
|
type: classType,
|
162
166
|
hasDeclaredType: true,
|
@@ -164,9 +168,9 @@ function synthesizeTypedDictClassMethods(evaluator, node, classType, isClassFina
|
|
164
168
|
types_1.FunctionType.addDefaultParameters(newType);
|
165
169
|
newType.details.declaredReturnType = types_1.ClassType.cloneAsInstance(classType);
|
166
170
|
// Synthesize an __init__ method with two overrides.
|
167
|
-
const initOverride1 = types_1.FunctionType.createSynthesizedInstance('__init__', 256 /* Overloaded */);
|
171
|
+
const initOverride1 = types_1.FunctionType.createSynthesizedInstance('__init__', 256 /* FunctionTypeFlags.Overloaded */);
|
168
172
|
types_1.FunctionType.addParameter(initOverride1, {
|
169
|
-
category: 0 /* Simple */,
|
173
|
+
category: 0 /* ParameterCategory.Simple */,
|
170
174
|
name: 'self',
|
171
175
|
type: types_1.ClassType.cloneAsInstance(classType),
|
172
176
|
hasDeclaredType: true,
|
@@ -174,25 +178,25 @@ function synthesizeTypedDictClassMethods(evaluator, node, classType, isClassFina
|
|
174
178
|
initOverride1.details.declaredReturnType = evaluator.getNoneType();
|
175
179
|
// The first parameter must be positional-only.
|
176
180
|
types_1.FunctionType.addParameter(initOverride1, {
|
177
|
-
category: 0 /* Simple */,
|
181
|
+
category: 0 /* ParameterCategory.Simple */,
|
178
182
|
name: '__map',
|
179
183
|
type: types_1.ClassType.cloneAsInstance(classType),
|
180
184
|
hasDeclaredType: true,
|
181
185
|
});
|
182
186
|
types_1.FunctionType.addParameter(initOverride1, {
|
183
|
-
category: 0 /* Simple */,
|
187
|
+
category: 0 /* ParameterCategory.Simple */,
|
184
188
|
name: '',
|
185
189
|
type: types_1.UnknownType.create(),
|
186
190
|
});
|
187
191
|
// All subsequent parameters must be named, so insert an empty "*".
|
188
192
|
types_1.FunctionType.addParameter(initOverride1, {
|
189
|
-
category: 1 /* ArgsList */,
|
193
|
+
category: 1 /* ParameterCategory.ArgsList */,
|
190
194
|
type: types_1.AnyType.create(),
|
191
195
|
hasDeclaredType: true,
|
192
196
|
});
|
193
|
-
const initOverride2 = types_1.FunctionType.createSynthesizedInstance('__init__', 256 /* Overloaded */);
|
197
|
+
const initOverride2 = types_1.FunctionType.createSynthesizedInstance('__init__', 256 /* FunctionTypeFlags.Overloaded */);
|
194
198
|
types_1.FunctionType.addParameter(initOverride2, {
|
195
|
-
category: 0 /* Simple */,
|
199
|
+
category: 0 /* ParameterCategory.Simple */,
|
196
200
|
name: 'self',
|
197
201
|
type: types_1.ClassType.cloneAsInstance(classType),
|
198
202
|
hasDeclaredType: true,
|
@@ -200,7 +204,7 @@ function synthesizeTypedDictClassMethods(evaluator, node, classType, isClassFina
|
|
200
204
|
initOverride2.details.declaredReturnType = evaluator.getNoneType();
|
201
205
|
// All parameters must be named, so insert an empty "*".
|
202
206
|
types_1.FunctionType.addParameter(initOverride2, {
|
203
|
-
category: 1 /* ArgsList */,
|
207
|
+
category: 1 /* ParameterCategory.ArgsList */,
|
204
208
|
type: types_1.AnyType.create(),
|
205
209
|
hasDeclaredType: true,
|
206
210
|
});
|
@@ -209,14 +213,14 @@ function synthesizeTypedDictClassMethods(evaluator, node, classType, isClassFina
|
|
209
213
|
let allEntriesAreReadOnly = true;
|
210
214
|
entries.forEach((entry, name) => {
|
211
215
|
types_1.FunctionType.addParameter(initOverride1, {
|
212
|
-
category: 0 /* Simple */,
|
216
|
+
category: 0 /* ParameterCategory.Simple */,
|
213
217
|
name,
|
214
218
|
hasDefault: true,
|
215
219
|
type: entry.valueType,
|
216
220
|
hasDeclaredType: true,
|
217
221
|
});
|
218
222
|
types_1.FunctionType.addParameter(initOverride2, {
|
219
|
-
category: 0 /* Simple */,
|
223
|
+
category: 0 /* ParameterCategory.Simple */,
|
220
224
|
name,
|
221
225
|
hasDefault: !entry.isRequired,
|
222
226
|
type: entry.valueType,
|
@@ -231,28 +235,28 @@ function synthesizeTypedDictClassMethods(evaluator, node, classType, isClassFina
|
|
231
235
|
});
|
232
236
|
const symbolTable = classType.details.fields;
|
233
237
|
const initType = types_1.OverloadedFunctionType.create([initOverride1, initOverride2]);
|
234
|
-
symbolTable.set('__init__', symbol_1.Symbol.createWithType(4 /* ClassMember */, initType));
|
235
|
-
symbolTable.set('__new__', symbol_1.Symbol.createWithType(4 /* ClassMember */, newType));
|
238
|
+
symbolTable.set('__init__', symbol_1.Symbol.createWithType(4 /* SymbolFlags.ClassMember */, initType));
|
239
|
+
symbolTable.set('__new__', symbol_1.Symbol.createWithType(4 /* SymbolFlags.ClassMember */, newType));
|
236
240
|
const strClass = evaluator.getBuiltInType(node, 'str');
|
237
241
|
// Synthesize a "get", pop, and setdefault method for each named entry.
|
238
242
|
if ((0, types_1.isInstantiableClass)(strClass)) {
|
239
243
|
const selfParam = {
|
240
|
-
category: 0 /* Simple */,
|
244
|
+
category: 0 /* ParameterCategory.Simple */,
|
241
245
|
name: 'self',
|
242
246
|
type: types_1.ClassType.cloneAsInstance(classType),
|
243
247
|
hasDeclaredType: true,
|
244
248
|
};
|
245
249
|
function createDefaultTypeVar(func) {
|
246
250
|
let defaultTypeVar = types_1.TypeVarType.createInstance(`__TDefault`);
|
247
|
-
defaultTypeVar = types_1.TypeVarType.cloneForScopeId(defaultTypeVar, func.details.typeVarScopeId, classType.details.name, 1 /* Function */);
|
251
|
+
defaultTypeVar = types_1.TypeVarType.cloneForScopeId(defaultTypeVar, func.details.typeVarScopeId, classType.details.name, 1 /* TypeVarScopeType.Function */);
|
248
252
|
return defaultTypeVar;
|
249
253
|
}
|
250
254
|
function createGetMethod(keyType, valueType, includeDefault, isEntryRequired = false, defaultTypeMatchesField = false) {
|
251
|
-
const getOverload = types_1.FunctionType.createSynthesizedInstance('get', 256 /* Overloaded */);
|
255
|
+
const getOverload = types_1.FunctionType.createSynthesizedInstance('get', 256 /* FunctionTypeFlags.Overloaded */);
|
252
256
|
types_1.FunctionType.addParameter(getOverload, selfParam);
|
253
257
|
getOverload.details.typeVarScopeId = ParseTreeUtils.getScopeIdForNode(node);
|
254
258
|
types_1.FunctionType.addParameter(getOverload, {
|
255
|
-
category: 0 /* Simple */,
|
259
|
+
category: 0 /* ParameterCategory.Simple */,
|
256
260
|
name: 'k',
|
257
261
|
type: keyType,
|
258
262
|
hasDeclaredType: true,
|
@@ -277,7 +281,7 @@ function synthesizeTypedDictClassMethods(evaluator, node, classType, isClassFina
|
|
277
281
|
returnType = defaultParamType;
|
278
282
|
}
|
279
283
|
types_1.FunctionType.addParameter(getOverload, {
|
280
|
-
category: 0 /* Simple */,
|
284
|
+
category: 0 /* ParameterCategory.Simple */,
|
281
285
|
name: 'default',
|
282
286
|
type: defaultParamType,
|
283
287
|
hasDeclaredType: true,
|
@@ -293,16 +297,16 @@ function synthesizeTypedDictClassMethods(evaluator, node, classType, isClassFina
|
|
293
297
|
}
|
294
298
|
function createPopMethods(keyType, valueType, isEntryRequired) {
|
295
299
|
const keyParam = {
|
296
|
-
category: 0 /* Simple */,
|
300
|
+
category: 0 /* ParameterCategory.Simple */,
|
297
301
|
name: 'k',
|
298
302
|
type: keyType,
|
299
303
|
hasDeclaredType: true,
|
300
304
|
};
|
301
|
-
const popOverload1 = types_1.FunctionType.createSynthesizedInstance('pop', 256 /* Overloaded */);
|
305
|
+
const popOverload1 = types_1.FunctionType.createSynthesizedInstance('pop', 256 /* FunctionTypeFlags.Overloaded */);
|
302
306
|
types_1.FunctionType.addParameter(popOverload1, selfParam);
|
303
307
|
types_1.FunctionType.addParameter(popOverload1, keyParam);
|
304
308
|
popOverload1.details.declaredReturnType = valueType;
|
305
|
-
const popOverload2 = types_1.FunctionType.createSynthesizedInstance('pop', 256 /* Overloaded */);
|
309
|
+
const popOverload2 = types_1.FunctionType.createSynthesizedInstance('pop', 256 /* FunctionTypeFlags.Overloaded */);
|
306
310
|
types_1.FunctionType.addParameter(popOverload2, selfParam);
|
307
311
|
types_1.FunctionType.addParameter(popOverload2, keyParam);
|
308
312
|
popOverload2.details.typeVarScopeId = ParseTreeUtils.getScopeIdForNode(node);
|
@@ -320,7 +324,7 @@ function synthesizeTypedDictClassMethods(evaluator, node, classType, isClassFina
|
|
320
324
|
returnType = defaultParamType;
|
321
325
|
}
|
322
326
|
types_1.FunctionType.addParameter(popOverload2, {
|
323
|
-
category: 0 /* Simple */,
|
327
|
+
category: 0 /* ParameterCategory.Simple */,
|
324
328
|
name: 'default',
|
325
329
|
hasDeclaredType: true,
|
326
330
|
type: defaultParamType,
|
@@ -330,16 +334,16 @@ function synthesizeTypedDictClassMethods(evaluator, node, classType, isClassFina
|
|
330
334
|
return [popOverload1, popOverload2];
|
331
335
|
}
|
332
336
|
function createSetDefaultMethod(keyType, valueType) {
|
333
|
-
const setDefaultOverload = types_1.FunctionType.createSynthesizedInstance('setdefault', 256 /* Overloaded */);
|
337
|
+
const setDefaultOverload = types_1.FunctionType.createSynthesizedInstance('setdefault', 256 /* FunctionTypeFlags.Overloaded */);
|
334
338
|
types_1.FunctionType.addParameter(setDefaultOverload, selfParam);
|
335
339
|
types_1.FunctionType.addParameter(setDefaultOverload, {
|
336
|
-
category: 0 /* Simple */,
|
340
|
+
category: 0 /* ParameterCategory.Simple */,
|
337
341
|
name: 'k',
|
338
342
|
hasDeclaredType: true,
|
339
343
|
type: keyType,
|
340
344
|
});
|
341
345
|
types_1.FunctionType.addParameter(setDefaultOverload, {
|
342
|
-
category: 0 /* Simple */,
|
346
|
+
category: 0 /* ParameterCategory.Simple */,
|
343
347
|
name: 'default',
|
344
348
|
hasDeclaredType: true,
|
345
349
|
type: valueType,
|
@@ -348,10 +352,10 @@ function synthesizeTypedDictClassMethods(evaluator, node, classType, isClassFina
|
|
348
352
|
return setDefaultOverload;
|
349
353
|
}
|
350
354
|
function createDelItemMethod(keyType) {
|
351
|
-
const delItemOverload = types_1.FunctionType.createSynthesizedInstance('delitem', 256 /* Overloaded */);
|
355
|
+
const delItemOverload = types_1.FunctionType.createSynthesizedInstance('delitem', 256 /* FunctionTypeFlags.Overloaded */);
|
352
356
|
types_1.FunctionType.addParameter(delItemOverload, selfParam);
|
353
357
|
types_1.FunctionType.addParameter(delItemOverload, {
|
354
|
-
category: 0 /* Simple */,
|
358
|
+
category: 0 /* ParameterCategory.Simple */,
|
355
359
|
name: 'k',
|
356
360
|
hasDeclaredType: true,
|
357
361
|
type: keyType,
|
@@ -361,17 +365,17 @@ function synthesizeTypedDictClassMethods(evaluator, node, classType, isClassFina
|
|
361
365
|
}
|
362
366
|
function createUpdateMethod() {
|
363
367
|
// Overload 1: update(__m: Partial[<writable fields>], /)
|
364
|
-
const updateMethod1 = types_1.FunctionType.createSynthesizedInstance('update', 256 /* Overloaded */);
|
368
|
+
const updateMethod1 = types_1.FunctionType.createSynthesizedInstance('update', 256 /* FunctionTypeFlags.Overloaded */);
|
365
369
|
types_1.FunctionType.addParameter(updateMethod1, selfParam);
|
366
370
|
// Overload 2: update(__m: Iterable[tuple[<name>, <type>]], /)
|
367
|
-
const updateMethod2 = types_1.FunctionType.createSynthesizedInstance('update', 256 /* Overloaded */);
|
371
|
+
const updateMethod2 = types_1.FunctionType.createSynthesizedInstance('update', 256 /* FunctionTypeFlags.Overloaded */);
|
368
372
|
types_1.FunctionType.addParameter(updateMethod2, selfParam);
|
369
373
|
// Overload 3: update(*, <name>: <type>, ...)
|
370
|
-
const updateMethod3 = types_1.FunctionType.createSynthesizedInstance('update', 256 /* Overloaded */);
|
374
|
+
const updateMethod3 = types_1.FunctionType.createSynthesizedInstance('update', 256 /* FunctionTypeFlags.Overloaded */);
|
371
375
|
types_1.FunctionType.addParameter(updateMethod3, selfParam);
|
372
376
|
// If all entries are read-only, don't allow updates.
|
373
377
|
types_1.FunctionType.addParameter(updateMethod1, {
|
374
|
-
category: 0 /* Simple */,
|
378
|
+
category: 0 /* ParameterCategory.Simple */,
|
375
379
|
name: '__m',
|
376
380
|
hasDeclaredType: true,
|
377
381
|
type: allEntriesAreReadOnly
|
@@ -379,12 +383,12 @@ function synthesizeTypedDictClassMethods(evaluator, node, classType, isClassFina
|
|
379
383
|
: types_1.ClassType.cloneAsInstance(types_1.ClassType.cloneForPartialTypedDict(classType)),
|
380
384
|
});
|
381
385
|
types_1.FunctionType.addParameter(updateMethod1, {
|
382
|
-
category: 0 /* Simple */,
|
386
|
+
category: 0 /* ParameterCategory.Simple */,
|
383
387
|
name: '',
|
384
388
|
type: types_1.AnyType.create(),
|
385
389
|
});
|
386
390
|
types_1.FunctionType.addParameter(updateMethod3, {
|
387
|
-
category: 1 /* ArgsList */,
|
391
|
+
category: 1 /* ParameterCategory.ArgsList */,
|
388
392
|
name: '',
|
389
393
|
hasDeclaredType: false,
|
390
394
|
type: types_1.UnknownType.create(),
|
@@ -409,7 +413,7 @@ function synthesizeTypedDictClassMethods(evaluator, node, classType, isClassFina
|
|
409
413
|
}
|
410
414
|
// For writable entries, add a keyword argument.
|
411
415
|
types_1.FunctionType.addParameter(updateMethod3, {
|
412
|
-
category: 0 /* Simple */,
|
416
|
+
category: 0 /* ParameterCategory.Simple */,
|
413
417
|
name,
|
414
418
|
hasDeclaredType: true,
|
415
419
|
hasDefault: true,
|
@@ -422,7 +426,7 @@ function synthesizeTypedDictClassMethods(evaluator, node, classType, isClassFina
|
|
422
426
|
if (iterableClass && (0, types_1.isInstantiableClass)(iterableClass)) {
|
423
427
|
const iterableType = types_1.ClassType.cloneAsInstance(iterableClass);
|
424
428
|
types_1.FunctionType.addParameter(updateMethod2, {
|
425
|
-
category: 0 /* Simple */,
|
429
|
+
category: 0 /* ParameterCategory.Simple */,
|
426
430
|
name: '__m',
|
427
431
|
hasDeclaredType: true,
|
428
432
|
type: types_1.ClassType.cloneForSpecialization(iterableType, [(0, types_1.combineTypes)(tuplesToCombine)],
|
@@ -430,7 +434,7 @@ function synthesizeTypedDictClassMethods(evaluator, node, classType, isClassFina
|
|
430
434
|
});
|
431
435
|
}
|
432
436
|
types_1.FunctionType.addParameter(updateMethod2, {
|
433
|
-
category: 0 /* Simple */,
|
437
|
+
category: 0 /* ParameterCategory.Simple */,
|
434
438
|
name: '',
|
435
439
|
type: types_1.AnyType.create(),
|
436
440
|
});
|
@@ -474,24 +478,24 @@ function synthesizeTypedDictClassMethods(evaluator, node, classType, isClassFina
|
|
474
478
|
const strType = types_1.ClassType.cloneAsInstance(strClass);
|
475
479
|
getOverloads.push(createGetMethod(strType, types_1.AnyType.create(), /* includeDefault */ false));
|
476
480
|
getOverloads.push(createGetMethod(strType, types_1.AnyType.create(), /* includeDefault */ true));
|
477
|
-
symbolTable.set('get', symbol_1.Symbol.createWithType(4 /* ClassMember */, types_1.OverloadedFunctionType.create(getOverloads)));
|
481
|
+
symbolTable.set('get', symbol_1.Symbol.createWithType(4 /* SymbolFlags.ClassMember */, types_1.OverloadedFunctionType.create(getOverloads)));
|
478
482
|
if (popOverloads.length > 0) {
|
479
|
-
symbolTable.set('pop', symbol_1.Symbol.createWithType(4 /* ClassMember */, types_1.OverloadedFunctionType.create(popOverloads)));
|
483
|
+
symbolTable.set('pop', symbol_1.Symbol.createWithType(4 /* SymbolFlags.ClassMember */, types_1.OverloadedFunctionType.create(popOverloads)));
|
480
484
|
}
|
481
485
|
if (setDefaultOverloads.length > 0) {
|
482
|
-
symbolTable.set('setdefault', symbol_1.Symbol.createWithType(4 /* ClassMember */, types_1.OverloadedFunctionType.create(setDefaultOverloads)));
|
486
|
+
symbolTable.set('setdefault', symbol_1.Symbol.createWithType(4 /* SymbolFlags.ClassMember */, types_1.OverloadedFunctionType.create(setDefaultOverloads)));
|
483
487
|
}
|
484
488
|
if (!allEntriesAreReadOnly) {
|
485
|
-
symbolTable.set('__delitem__', symbol_1.Symbol.createWithType(4 /* ClassMember */, createDelItemMethod(strType)));
|
489
|
+
symbolTable.set('__delitem__', symbol_1.Symbol.createWithType(4 /* SymbolFlags.ClassMember */, createDelItemMethod(strType)));
|
486
490
|
}
|
487
|
-
symbolTable.set('update', symbol_1.Symbol.createWithType(4 /* ClassMember */, createUpdateMethod()));
|
491
|
+
symbolTable.set('update', symbol_1.Symbol.createWithType(4 /* SymbolFlags.ClassMember */, createUpdateMethod()));
|
488
492
|
// If the TypedDict is final and all of its entries are NotRequired,
|
489
493
|
// add a "clear" and "popitem" method.
|
490
494
|
if (isClassFinal && allEntriesAreNotRequired && !allEntriesAreReadOnly) {
|
491
495
|
const clearMethod = types_1.FunctionType.createSynthesizedInstance('clear');
|
492
496
|
types_1.FunctionType.addParameter(clearMethod, selfParam);
|
493
497
|
clearMethod.details.declaredReturnType = evaluator.getNoneType();
|
494
|
-
symbolTable.set('clear', symbol_1.Symbol.createWithType(4 /* ClassMember */, clearMethod));
|
498
|
+
symbolTable.set('clear', symbol_1.Symbol.createWithType(4 /* SymbolFlags.ClassMember */, clearMethod));
|
495
499
|
const popItemMethod = types_1.FunctionType.createSynthesizedInstance('popitem');
|
496
500
|
types_1.FunctionType.addParameter(popItemMethod, selfParam);
|
497
501
|
let tupleType = evaluator.getTupleClassType();
|
@@ -506,7 +510,7 @@ function synthesizeTypedDictClassMethods(evaluator, node, classType, isClassFina
|
|
506
510
|
tupleType = types_1.UnknownType.create();
|
507
511
|
}
|
508
512
|
popItemMethod.details.declaredReturnType = tupleType;
|
509
|
-
symbolTable.set('popitem', symbol_1.Symbol.createWithType(4 /* ClassMember */, popItemMethod));
|
513
|
+
symbolTable.set('popitem', symbol_1.Symbol.createWithType(4 /* SymbolFlags.ClassMember */, popItemMethod));
|
510
514
|
}
|
511
515
|
}
|
512
516
|
}
|
@@ -553,11 +557,11 @@ function getTypedDictFieldsFromDictSyntax(evaluator, entryDict, classFields, isI
|
|
553
557
|
const entrySet = new Set();
|
554
558
|
const fileInfo = AnalyzerNodeInfo.getFileInfo(entryDict);
|
555
559
|
entryDict.entries.forEach((entry) => {
|
556
|
-
if (entry.nodeType !== 17 /* DictionaryKeyEntry */) {
|
560
|
+
if (entry.nodeType !== 17 /* ParseNodeType.DictionaryKeyEntry */) {
|
557
561
|
evaluator.addError(localize_1.Localizer.Diagnostic.typedDictSecondArgDictEntry(), entry);
|
558
562
|
return;
|
559
563
|
}
|
560
|
-
if (entry.keyExpression.nodeType !== 48 /* StringList */) {
|
564
|
+
if (entry.keyExpression.nodeType !== 48 /* ParseNodeType.StringList */) {
|
561
565
|
evaluator.addError(localize_1.Localizer.Diagnostic.typedDictEntryName(), entry.keyExpression);
|
562
566
|
return;
|
563
567
|
}
|
@@ -572,9 +576,9 @@ function getTypedDictFieldsFromDictSyntax(evaluator, entryDict, classFields, isI
|
|
572
576
|
}
|
573
577
|
// Record names in a set to detect duplicates.
|
574
578
|
entrySet.add(entryName);
|
575
|
-
const newSymbol = new symbol_1.Symbol(8 /* InstanceMember */);
|
579
|
+
const newSymbol = new symbol_1.Symbol(8 /* SymbolFlags.InstanceMember */);
|
576
580
|
const declaration = {
|
577
|
-
type: 1 /* Variable */,
|
581
|
+
type: 1 /* DeclarationType.Variable */,
|
578
582
|
node: entry.keyExpression,
|
579
583
|
path: fileInfo.filePath,
|
580
584
|
typeAnnotationNode: entry.valueExpression,
|
@@ -609,7 +613,7 @@ function getTypedDictMembersForClassRecursive(evaluator, classType, keyMap, recu
|
|
609
613
|
if (!symbol.isIgnoredForProtocolMatch()) {
|
610
614
|
// Only variables (not functions, classes, etc.) are considered.
|
611
615
|
const lastDecl = (0, symbolUtils_1.getLastTypedDeclaredForSymbol)(symbol);
|
612
|
-
if (lastDecl && lastDecl.type === 1 /* Variable */) {
|
616
|
+
if (lastDecl && lastDecl.type === 1 /* DeclarationType.Variable */) {
|
613
617
|
let valueType = evaluator.getEffectiveTypeOfSymbol(symbol);
|
614
618
|
valueType = (0, typeUtils_1.applySolvedTypeVars)(valueType, typeVarContext);
|
615
619
|
let isRequired = !types_1.ClassType.isCanOmitDictValues(classType);
|
@@ -715,7 +719,7 @@ function assignTypedDictToTypedDict(evaluator, destType, srcType, diag, typeVarC
|
|
715
719
|
let adjustedFlags = flags;
|
716
720
|
// If the dest field is not read-only, we need to enforce invariance.
|
717
721
|
if (!destEntry.isReadOnly) {
|
718
|
-
adjustedFlags |= 1 /* EnforceInvariance */;
|
722
|
+
adjustedFlags |= 1 /* AssignTypeFlags.EnforceInvariance */;
|
719
723
|
}
|
720
724
|
if (!evaluator.assignType(destEntry.valueType, srcEntry.valueType, subDiag === null || subDiag === void 0 ? void 0 : subDiag.createAddendum(), typeVarContext,
|
721
725
|
/* srcTypeVarContext */ undefined, adjustedFlags, recursionCount)) {
|
@@ -775,7 +779,7 @@ function assignToTypedDict(evaluator, classType, keyTypes, valueTypes, diagAdden
|
|
775
779
|
// Can we assign the value to the declared type?
|
776
780
|
const subDiag = diagAddendum === null || diagAddendum === void 0 ? void 0 : diagAddendum.createAddendum();
|
777
781
|
if (!evaluator.assignType(symbolEntry.valueType, valueTypes[index].type, subDiag === null || subDiag === void 0 ? void 0 : subDiag.createAddendum(), typeVarContext,
|
778
|
-
/* srcTypeVarContext */ undefined, 128 /* RetainLiteralsForTypeVar */)) {
|
782
|
+
/* srcTypeVarContext */ undefined, 128 /* AssignTypeFlags.RetainLiteralsForTypeVar */)) {
|
779
783
|
if (subDiag) {
|
780
784
|
subDiag.addMessage(localize_1.Localizer.DiagnosticAddendum.typedDictFieldTypeMismatch().format({
|
781
785
|
name: keyType.literalValue,
|
@@ -829,7 +833,7 @@ function getTypeOfIndexedTypedDict(evaluator, node, baseType, usage) {
|
|
829
833
|
return { type: types_1.UnknownType.create() };
|
830
834
|
}
|
831
835
|
// Look for subscript types that are not supported by TypedDict.
|
832
|
-
if (node.trailingComma || node.items[0].name || node.items[0].argumentCategory !== 0 /* Simple */) {
|
836
|
+
if (node.trailingComma || node.items[0].name || node.items[0].argumentCategory !== 0 /* ArgumentCategory.Simple */) {
|
833
837
|
return undefined;
|
834
838
|
}
|
835
839
|
const entries = getTypedDictMembersForClass(evaluator, baseType, /* allowNarrowed */ usage.method === 'get');
|
@@ -949,7 +953,7 @@ function narrowForKeyAssignment(classType, key) {
|
|
949
953
|
exports.narrowForKeyAssignment = narrowForKeyAssignment;
|
950
954
|
function isRequiredTypedDictVariable(evaluator, symbol) {
|
951
955
|
return symbol.getDeclarations().some((decl) => {
|
952
|
-
if (decl.type !== 1 /* Variable */ || !decl.typeAnnotationNode) {
|
956
|
+
if (decl.type !== 1 /* DeclarationType.Variable */ || !decl.typeAnnotationNode) {
|
953
957
|
return false;
|
954
958
|
}
|
955
959
|
const annotatedType = evaluator.getTypeOfExpressionExpectingType(decl.typeAnnotationNode, {
|
@@ -961,7 +965,7 @@ function isRequiredTypedDictVariable(evaluator, symbol) {
|
|
961
965
|
}
|
962
966
|
function isNotRequiredTypedDictVariable(evaluator, symbol) {
|
963
967
|
return symbol.getDeclarations().some((decl) => {
|
964
|
-
if (decl.type !== 1 /* Variable */ || !decl.typeAnnotationNode) {
|
968
|
+
if (decl.type !== 1 /* DeclarationType.Variable */ || !decl.typeAnnotationNode) {
|
965
969
|
return false;
|
966
970
|
}
|
967
971
|
const annotatedType = evaluator.getTypeOfExpressionExpectingType(decl.typeAnnotationNode, {
|
@@ -973,7 +977,7 @@ function isNotRequiredTypedDictVariable(evaluator, symbol) {
|
|
973
977
|
}
|
974
978
|
function isReadOnlyTypedDictVariable(evaluator, symbol) {
|
975
979
|
return symbol.getDeclarations().some((decl) => {
|
976
|
-
if (decl.type !== 1 /* Variable */ || !decl.typeAnnotationNode) {
|
980
|
+
if (decl.type !== 1 /* DeclarationType.Variable */ || !decl.typeAnnotationNode) {
|
977
981
|
return false;
|
978
982
|
}
|
979
983
|
const annotatedType = evaluator.getTypeOfExpressionExpectingType(decl.typeAnnotationNode, {
|