@zzzen/pyright-internal 1.2.0-dev.20231119 → 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.js +257 -239
- 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 +40 -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 +23 -25
- 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 +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 +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 +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 +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 +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 +1233 -1153
- 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 +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.js +123 -123
- package/dist/analyzer/typeUtils.js.map +1 -1
- package/dist/analyzer/typeVarContext.js +9 -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 +16 -11
- package/dist/analyzer/types.js +179 -177
- 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.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 +8 -8
- 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.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 +7 -9
- package/dist/localization/localize.js +5 -4
- package/dist/localization/localize.js.map +1 -1
- package/dist/localization/package.nls.cs.json +0 -3
- package/dist/localization/package.nls.de.json +0 -3
- package/dist/localization/package.nls.en-us.json +4 -3
- package/dist/localization/package.nls.es.json +0 -3
- package/dist/localization/package.nls.fr.json +0 -3
- package/dist/localization/package.nls.it.json +0 -3
- package/dist/localization/package.nls.ja.json +0 -3
- package/dist/localization/package.nls.ko.json +0 -3
- package/dist/localization/package.nls.pl.json +0 -3
- package/dist/localization/package.nls.pt-br.json +0 -3
- package/dist/localization/package.nls.qps-ploc.json +0 -3
- package/dist/localization/package.nls.ru.json +0 -3
- package/dist/localization/package.nls.tr.json +0 -3
- package/dist/localization/package.nls.zh-cn.json +0 -3
- package/dist/localization/package.nls.zh-tw.json +0 -3
- 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 +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/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/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 +14 -2
- package/dist/tests/typeEvaluator1.test.js.map +1 -1
- package/dist/tests/typeEvaluator2.test.js +11 -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 +10 -2
- 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
@@ -23,41 +23,41 @@ var DeclarationType;
|
|
23
23
|
DeclarationType[DeclarationType["Class"] = 6] = "Class";
|
24
24
|
DeclarationType[DeclarationType["SpecialBuiltInClass"] = 7] = "SpecialBuiltInClass";
|
25
25
|
DeclarationType[DeclarationType["Alias"] = 8] = "Alias";
|
26
|
-
})(DeclarationType
|
26
|
+
})(DeclarationType || (exports.DeclarationType = DeclarationType = {}));
|
27
27
|
function isFunctionDeclaration(decl) {
|
28
|
-
return decl.type === 5 /* Function */;
|
28
|
+
return decl.type === 5 /* DeclarationType.Function */;
|
29
29
|
}
|
30
30
|
exports.isFunctionDeclaration = isFunctionDeclaration;
|
31
31
|
function isClassDeclaration(decl) {
|
32
|
-
return decl.type === 6 /* Class */;
|
32
|
+
return decl.type === 6 /* DeclarationType.Class */;
|
33
33
|
}
|
34
34
|
exports.isClassDeclaration = isClassDeclaration;
|
35
35
|
function isParameterDeclaration(decl) {
|
36
|
-
return decl.type === 2 /* Parameter */;
|
36
|
+
return decl.type === 2 /* DeclarationType.Parameter */;
|
37
37
|
}
|
38
38
|
exports.isParameterDeclaration = isParameterDeclaration;
|
39
39
|
function isTypeParameterDeclaration(decl) {
|
40
|
-
return decl.type === 3 /* TypeParameter */;
|
40
|
+
return decl.type === 3 /* DeclarationType.TypeParameter */;
|
41
41
|
}
|
42
42
|
exports.isTypeParameterDeclaration = isTypeParameterDeclaration;
|
43
43
|
function isTypeAliasDeclaration(decl) {
|
44
|
-
return decl.type === 4 /* TypeAlias */;
|
44
|
+
return decl.type === 4 /* DeclarationType.TypeAlias */;
|
45
45
|
}
|
46
46
|
exports.isTypeAliasDeclaration = isTypeAliasDeclaration;
|
47
47
|
function isVariableDeclaration(decl) {
|
48
|
-
return decl.type === 1 /* Variable */;
|
48
|
+
return decl.type === 1 /* DeclarationType.Variable */;
|
49
49
|
}
|
50
50
|
exports.isVariableDeclaration = isVariableDeclaration;
|
51
51
|
function isAliasDeclaration(decl) {
|
52
|
-
return decl.type === 8 /* Alias */;
|
52
|
+
return decl.type === 8 /* DeclarationType.Alias */;
|
53
53
|
}
|
54
54
|
exports.isAliasDeclaration = isAliasDeclaration;
|
55
55
|
function isSpecialBuiltInClassDeclaration(decl) {
|
56
|
-
return decl.type === 7 /* SpecialBuiltInClass */;
|
56
|
+
return decl.type === 7 /* DeclarationType.SpecialBuiltInClass */;
|
57
57
|
}
|
58
58
|
exports.isSpecialBuiltInClassDeclaration = isSpecialBuiltInClassDeclaration;
|
59
59
|
function isIntrinsicDeclaration(decl) {
|
60
|
-
return decl.type === 0 /* Intrinsic */;
|
60
|
+
return decl.type === 0 /* DeclarationType.Intrinsic */;
|
61
61
|
}
|
62
62
|
exports.isIntrinsicDeclaration = isIntrinsicDeclaration;
|
63
63
|
function isUnresolvedAliasDeclaration(decl) {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"declaration.js","sourceRoot":"","sources":["../../../src/analyzer/declaration.ts"],"names":[],"mappings":";AAAA;;;;;;;;;GASG;;;AAwBU,QAAA,sBAAsB,GAAG,oBAAoB,CAAC;AAE3D,IAAkB,eAUjB;AAVD,WAAkB,eAAe;IAC7B,+DAAS,CAAA;IACT,6DAAQ,CAAA;IACR,+DAAS,CAAA;IACT,uEAAa,CAAA;IACb,+DAAS,CAAA;IACT,6DAAQ,CAAA;IACR,uDAAK,CAAA;IACL,mFAAmB,CAAA;IACnB,uDAAK,CAAA;AACT,CAAC,EAViB,eAAe,
|
1
|
+
{"version":3,"file":"declaration.js","sourceRoot":"","sources":["../../../src/analyzer/declaration.ts"],"names":[],"mappings":";AAAA;;;;;;;;;GASG;;;AAwBU,QAAA,sBAAsB,GAAG,oBAAoB,CAAC;AAE3D,IAAkB,eAUjB;AAVD,WAAkB,eAAe;IAC7B,+DAAS,CAAA;IACT,6DAAQ,CAAA;IACR,+DAAS,CAAA;IACT,uEAAa,CAAA;IACb,+DAAS,CAAA;IACT,6DAAQ,CAAA;IACR,uDAAK,CAAA;IACL,mFAAmB,CAAA;IACnB,uDAAK,CAAA;AACT,CAAC,EAViB,eAAe,+BAAf,eAAe,QAUhC;AA0MD,SAAgB,qBAAqB,CAAC,IAAiB;IACnD,OAAO,IAAI,CAAC,IAAI,qCAA6B,CAAC;AAClD,CAAC;AAFD,sDAEC;AAED,SAAgB,kBAAkB,CAAC,IAAiB;IAChD,OAAO,IAAI,CAAC,IAAI,kCAA0B,CAAC;AAC/C,CAAC;AAFD,gDAEC;AAED,SAAgB,sBAAsB,CAAC,IAAiB;IACpD,OAAO,IAAI,CAAC,IAAI,sCAA8B,CAAC;AACnD,CAAC;AAFD,wDAEC;AAED,SAAgB,0BAA0B,CAAC,IAAiB;IACxD,OAAO,IAAI,CAAC,IAAI,0CAAkC,CAAC;AACvD,CAAC;AAFD,gEAEC;AAED,SAAgB,sBAAsB,CAAC,IAAiB;IACpD,OAAO,IAAI,CAAC,IAAI,sCAA8B,CAAC;AACnD,CAAC;AAFD,wDAEC;AAED,SAAgB,qBAAqB,CAAC,IAAiB;IACnD,OAAO,IAAI,CAAC,IAAI,qCAA6B,CAAC;AAClD,CAAC;AAFD,sDAEC;AAED,SAAgB,kBAAkB,CAAC,IAAiB;IAChD,OAAO,IAAI,CAAC,IAAI,kCAA0B,CAAC;AAC/C,CAAC;AAFD,gDAEC;AAED,SAAgB,gCAAgC,CAAC,IAAiB;IAC9D,OAAO,IAAI,CAAC,IAAI,gDAAwC,CAAC;AAC7D,CAAC;AAFD,4EAEC;AAED,SAAgB,sBAAsB,CAAC,IAAiB;IACpD,OAAO,IAAI,CAAC,IAAI,sCAA8B,CAAC;AACnD,CAAC;AAFD,wDAEC;AAED,SAAgB,4BAA4B,CAAC,IAAiB;IAC1D,OAAO,kBAAkB,CAAC,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,KAAK,8BAAsB,CAAC;AAC5E,CAAC;AAFD,oEAEC"}
|
@@ -14,20 +14,20 @@ const declaration_1 = require("./declaration");
|
|
14
14
|
const parseTreeUtils_1 = require("./parseTreeUtils");
|
15
15
|
function hasTypeForDeclaration(declaration) {
|
16
16
|
switch (declaration.type) {
|
17
|
-
case 0 /* Intrinsic */:
|
18
|
-
case 6 /* Class */:
|
19
|
-
case 7 /* SpecialBuiltInClass */:
|
20
|
-
case 5 /* Function */:
|
21
|
-
case 3 /* TypeParameter */:
|
22
|
-
case 4 /* TypeAlias */:
|
17
|
+
case 0 /* DeclarationType.Intrinsic */:
|
18
|
+
case 6 /* DeclarationType.Class */:
|
19
|
+
case 7 /* DeclarationType.SpecialBuiltInClass */:
|
20
|
+
case 5 /* DeclarationType.Function */:
|
21
|
+
case 3 /* DeclarationType.TypeParameter */:
|
22
|
+
case 4 /* DeclarationType.TypeAlias */:
|
23
23
|
return true;
|
24
|
-
case 2 /* Parameter */: {
|
24
|
+
case 2 /* DeclarationType.Parameter */: {
|
25
25
|
if (declaration.node.typeAnnotation || declaration.node.typeAnnotationComment) {
|
26
26
|
return true;
|
27
27
|
}
|
28
28
|
// Handle function type comments.
|
29
29
|
const parameterParent = declaration.node.parent;
|
30
|
-
if ((parameterParent === null || parameterParent === void 0 ? void 0 : parameterParent.nodeType) === 28 /* Function */) {
|
30
|
+
if ((parameterParent === null || parameterParent === void 0 ? void 0 : parameterParent.nodeType) === 28 /* ParseNodeType.Function */) {
|
31
31
|
if (parameterParent.functionAnnotationComment &&
|
32
32
|
!parameterParent.functionAnnotationComment.isParamListEllipsis) {
|
33
33
|
const paramAnnotations = parameterParent.functionAnnotationComment.paramTypeAnnotations;
|
@@ -42,9 +42,9 @@ function hasTypeForDeclaration(declaration) {
|
|
42
42
|
}
|
43
43
|
return false;
|
44
44
|
}
|
45
|
-
case 1 /* Variable */:
|
45
|
+
case 1 /* DeclarationType.Variable */:
|
46
46
|
return !!declaration.typeAnnotationNode;
|
47
|
-
case 8 /* Alias */:
|
47
|
+
case 8 /* DeclarationType.Alias */:
|
48
48
|
return false;
|
49
49
|
}
|
50
50
|
}
|
@@ -56,7 +56,7 @@ function areDeclarationsSame(decl1, decl2, treatModuleInImportAndFromImportSame
|
|
56
56
|
if (decl1.path !== decl2.path) {
|
57
57
|
return false;
|
58
58
|
}
|
59
|
-
if (!skipRangeForAliases || decl1.type !== 8 /* Alias */) {
|
59
|
+
if (!skipRangeForAliases || decl1.type !== 8 /* DeclarationType.Alias */) {
|
60
60
|
if (decl1.range.start.line !== decl2.range.start.line ||
|
61
61
|
decl1.range.start.character !== decl2.range.start.character) {
|
62
62
|
return false;
|
@@ -64,7 +64,7 @@ function areDeclarationsSame(decl1, decl2, treatModuleInImportAndFromImportSame
|
|
64
64
|
}
|
65
65
|
// Alias declarations refer to the entire import statement.
|
66
66
|
// We need to further differentiate.
|
67
|
-
if (decl1.type === 8 /* Alias */ && decl2.type === 8 /* Alias */) {
|
67
|
+
if (decl1.type === 8 /* DeclarationType.Alias */ && decl2.type === 8 /* DeclarationType.Alias */) {
|
68
68
|
if (decl1.symbolName !== decl2.symbolName || decl1.usesLocalName !== decl2.usesLocalName) {
|
69
69
|
return false;
|
70
70
|
}
|
@@ -88,21 +88,21 @@ exports.areDeclarationsSame = areDeclarationsSame;
|
|
88
88
|
function getNameFromDeclaration(declaration) {
|
89
89
|
var _a;
|
90
90
|
switch (declaration.type) {
|
91
|
-
case 8 /* Alias */:
|
91
|
+
case 8 /* DeclarationType.Alias */:
|
92
92
|
return declaration.symbolName;
|
93
|
-
case 6 /* Class */:
|
94
|
-
case 5 /* Function */:
|
95
|
-
case 3 /* TypeParameter */:
|
96
|
-
case 4 /* TypeAlias */:
|
93
|
+
case 6 /* DeclarationType.Class */:
|
94
|
+
case 5 /* DeclarationType.Function */:
|
95
|
+
case 3 /* DeclarationType.TypeParameter */:
|
96
|
+
case 4 /* DeclarationType.TypeAlias */:
|
97
97
|
return declaration.node.name.value;
|
98
|
-
case 2 /* Parameter */:
|
98
|
+
case 2 /* DeclarationType.Parameter */:
|
99
99
|
return (_a = declaration.node.name) === null || _a === void 0 ? void 0 : _a.value;
|
100
|
-
case 1 /* Variable */:
|
101
|
-
return declaration.node.nodeType === 38 /* Name */ ? declaration.node.value : undefined;
|
102
|
-
case 0 /* Intrinsic */:
|
103
|
-
case 7 /* SpecialBuiltInClass */:
|
104
|
-
return declaration.node.nodeType === 54 /* TypeAnnotation */ &&
|
105
|
-
declaration.node.valueExpression.nodeType === 38 /* Name */
|
100
|
+
case 1 /* DeclarationType.Variable */:
|
101
|
+
return declaration.node.nodeType === 38 /* ParseNodeType.Name */ ? declaration.node.value : undefined;
|
102
|
+
case 0 /* DeclarationType.Intrinsic */:
|
103
|
+
case 7 /* DeclarationType.SpecialBuiltInClass */:
|
104
|
+
return declaration.node.nodeType === 54 /* ParseNodeType.TypeAnnotation */ &&
|
105
|
+
declaration.node.valueExpression.nodeType === 38 /* ParseNodeType.Name */
|
106
106
|
? declaration.node.valueExpression.value
|
107
107
|
: undefined;
|
108
108
|
}
|
@@ -112,26 +112,26 @@ exports.getNameFromDeclaration = getNameFromDeclaration;
|
|
112
112
|
function getNameNodeForDeclaration(declaration) {
|
113
113
|
var _a, _b;
|
114
114
|
switch (declaration.type) {
|
115
|
-
case 8 /* Alias */:
|
116
|
-
if (declaration.node.nodeType === 21 /* ImportAs */) {
|
115
|
+
case 8 /* DeclarationType.Alias */:
|
116
|
+
if (declaration.node.nodeType === 21 /* ParseNodeType.ImportAs */) {
|
117
117
|
return (_a = declaration.node.alias) !== null && _a !== void 0 ? _a : declaration.node.module.nameParts[0];
|
118
118
|
}
|
119
|
-
else if (declaration.node.nodeType === 23 /* ImportFromAs */) {
|
119
|
+
else if (declaration.node.nodeType === 23 /* ParseNodeType.ImportFromAs */) {
|
120
120
|
return (_b = declaration.node.alias) !== null && _b !== void 0 ? _b : declaration.node.name;
|
121
121
|
}
|
122
122
|
else {
|
123
123
|
return declaration.node.module.nameParts[0];
|
124
124
|
}
|
125
|
-
case 6 /* Class */:
|
126
|
-
case 5 /* Function */:
|
127
|
-
case 3 /* TypeParameter */:
|
128
|
-
case 2 /* Parameter */:
|
129
|
-
case 4 /* TypeAlias */:
|
125
|
+
case 6 /* DeclarationType.Class */:
|
126
|
+
case 5 /* DeclarationType.Function */:
|
127
|
+
case 3 /* DeclarationType.TypeParameter */:
|
128
|
+
case 2 /* DeclarationType.Parameter */:
|
129
|
+
case 4 /* DeclarationType.TypeAlias */:
|
130
130
|
return declaration.node.name;
|
131
|
-
case 1 /* Variable */:
|
132
|
-
return declaration.node.nodeType === 38 /* Name */ ? declaration.node : undefined;
|
133
|
-
case 0 /* Intrinsic */:
|
134
|
-
case 7 /* SpecialBuiltInClass */:
|
131
|
+
case 1 /* DeclarationType.Variable */:
|
132
|
+
return declaration.node.nodeType === 38 /* ParseNodeType.Name */ ? declaration.node : undefined;
|
133
|
+
case 0 /* DeclarationType.Intrinsic */:
|
134
|
+
case 7 /* DeclarationType.SpecialBuiltInClass */:
|
135
135
|
return undefined;
|
136
136
|
}
|
137
137
|
throw new Error(`Shouldn't reach here`);
|
@@ -152,7 +152,7 @@ exports.isDefinedInFile = isDefinedInFile;
|
|
152
152
|
function getDeclarationsWithUsesLocalNameRemoved(decls) {
|
153
153
|
// Make a shallow copy and clear the "usesLocalName" field.
|
154
154
|
return decls.map((localDecl) => {
|
155
|
-
if (localDecl.type !== 8 /* Alias */) {
|
155
|
+
if (localDecl.type !== 8 /* DeclarationType.Alias */) {
|
156
156
|
return localDecl;
|
157
157
|
}
|
158
158
|
const nonLocalDecl = { ...localDecl };
|
@@ -165,7 +165,7 @@ function createSynthesizedAliasDeclaration(path) {
|
|
165
165
|
// The only time this decl is used is for IDE services such as
|
166
166
|
// the find all references, hover provider and etc.
|
167
167
|
return {
|
168
|
-
type: 8 /* Alias */,
|
168
|
+
type: 8 /* DeclarationType.Alias */,
|
169
169
|
node: undefined,
|
170
170
|
path,
|
171
171
|
loadSymbolsFromPath: false,
|
@@ -196,7 +196,7 @@ function resolveAliasDeclaration(importLookup, declaration, options) {
|
|
196
196
|
let privatePyTypedImported;
|
197
197
|
let privatePyTypedImporter;
|
198
198
|
while (true) {
|
199
|
-
if (curDeclaration.type !== 8 /* Alias */ || !curDeclaration.symbolName) {
|
199
|
+
if (curDeclaration.type !== 8 /* DeclarationType.Alias */ || !curDeclaration.symbolName) {
|
200
200
|
return {
|
201
201
|
declaration: curDeclaration,
|
202
202
|
isPrivate,
|
@@ -231,7 +231,7 @@ function resolveAliasDeclaration(importLookup, declaration, options) {
|
|
231
231
|
// when useLibraryCodeForTypes is disabled), b should be evaluated as Unknown,
|
232
232
|
// not as a module.
|
233
233
|
if (curDeclaration.path &&
|
234
|
-
curDeclaration.submoduleFallback.type === 8 /* Alias */ &&
|
234
|
+
curDeclaration.submoduleFallback.type === 8 /* DeclarationType.Alias */ &&
|
235
235
|
curDeclaration.submoduleFallback.path) {
|
236
236
|
const lookupResult = importLookup(curDeclaration.submoduleFallback.path, {
|
237
237
|
skipFileNeededCheck: options.skipFileNeededCheck,
|
@@ -322,7 +322,7 @@ function resolveAliasDeclaration(importLookup, declaration, options) {
|
|
322
322
|
// the module is foo, and the foo.__init__.py file contains the statement
|
323
323
|
// "from foo import bar", we want to import the foo/bar.py submodule.
|
324
324
|
if (curDeclaration.path === declaration.path &&
|
325
|
-
curDeclaration.type === 8 /* Alias */ &&
|
325
|
+
curDeclaration.type === 8 /* DeclarationType.Alias */ &&
|
326
326
|
curDeclaration.submoduleFallback) {
|
327
327
|
return resolveAliasDeclaration(importLookup, curDeclaration.submoduleFallback, options);
|
328
328
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"declarationUtils.js","sourceRoot":"","sources":["../../../src/analyzer/declarationUtils.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;;AAEH,mDAAoD;AAGpD,+CAAwH;AACxH,qDAAuD;AAUvD,SAAgB,qBAAqB,CAAC,WAAwB;IAC1D,QAAQ,WAAW,CAAC,IAAI,EAAE;QACtB,
|
1
|
+
{"version":3,"file":"declarationUtils.js","sourceRoot":"","sources":["../../../src/analyzer/declarationUtils.ts"],"names":[],"mappings":"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"}
|
@@ -23,30 +23,30 @@ const types_1 = require("./types");
|
|
23
23
|
// that affect the function flags.
|
24
24
|
function getFunctionInfoFromDecorators(evaluator, node, isInClass) {
|
25
25
|
const fileInfo = (0, analyzerNodeInfo_1.getFileInfo)(node);
|
26
|
-
let flags = 0 /* None */;
|
26
|
+
let flags = 0 /* FunctionTypeFlags.None */;
|
27
27
|
let deprecationMessage;
|
28
28
|
if (isInClass) {
|
29
29
|
// The "__new__" magic method is not an instance method.
|
30
30
|
// It acts as a static method instead.
|
31
31
|
if (node.name.value === '__new__') {
|
32
|
-
flags |= 1 /* ConstructorMethod */;
|
32
|
+
flags |= 1 /* FunctionTypeFlags.ConstructorMethod */;
|
33
33
|
}
|
34
34
|
// Several magic methods are treated as class methods implicitly
|
35
35
|
// by the runtime. Check for these here.
|
36
36
|
const implicitClassMethods = ['__init_subclass__', '__class_getitem__'];
|
37
37
|
if (implicitClassMethods.some((name) => node.name.value === name)) {
|
38
|
-
flags |= 2 /* ClassMethod */;
|
38
|
+
flags |= 2 /* FunctionTypeFlags.ClassMethod */;
|
39
39
|
}
|
40
40
|
}
|
41
41
|
for (const decoratorNode of node.decorators) {
|
42
42
|
// Some stub files (e.g. builtins.pyi) rely on forward declarations of decorators.
|
43
|
-
let evaluatorFlags = fileInfo.isStubFile ? 4 /* AllowForwardReferences */ : 0 /* None */;
|
44
|
-
if (decoratorNode.expression.nodeType !== 9 /* Call */) {
|
45
|
-
evaluatorFlags |= 16777218 /* CallBaseDefaults */;
|
43
|
+
let evaluatorFlags = fileInfo.isStubFile ? 4 /* EvaluatorFlags.AllowForwardReferences */ : 0 /* EvaluatorFlags.None */;
|
44
|
+
if (decoratorNode.expression.nodeType !== 9 /* ParseNodeType.Call */) {
|
45
|
+
evaluatorFlags |= 16777218 /* EvaluatorFlags.CallBaseDefaults */;
|
46
46
|
}
|
47
47
|
else {
|
48
|
-
if (decoratorNode.expression.nodeType === 9 /* Call */) {
|
49
|
-
const decoratorCallType = evaluator.getTypeOfExpression(decoratorNode.expression.leftExpression, evaluatorFlags | 16777218 /* CallBaseDefaults */).type;
|
48
|
+
if (decoratorNode.expression.nodeType === 9 /* ParseNodeType.Call */) {
|
49
|
+
const decoratorCallType = evaluator.getTypeOfExpression(decoratorNode.expression.leftExpression, evaluatorFlags | 16777218 /* EvaluatorFlags.CallBaseDefaults */).type;
|
50
50
|
if ((0, types_1.isFunction)(decoratorCallType)) {
|
51
51
|
if (decoratorCallType.details.builtInName === 'deprecated') {
|
52
52
|
deprecationMessage = getCustomDeprecationMessage(decoratorNode);
|
@@ -65,20 +65,20 @@ function getFunctionInfoFromDecorators(evaluator, node, isInClass) {
|
|
65
65
|
if ((0, types_1.isFunction)(decoratorType)) {
|
66
66
|
if (decoratorType.details.builtInName === 'abstractmethod') {
|
67
67
|
if (isInClass) {
|
68
|
-
flags |= 8 /* AbstractMethod */;
|
68
|
+
flags |= 8 /* FunctionTypeFlags.AbstractMethod */;
|
69
69
|
}
|
70
70
|
}
|
71
71
|
else if (decoratorType.details.builtInName === 'final') {
|
72
|
-
flags |= 8192 /* Final */;
|
72
|
+
flags |= 8192 /* FunctionTypeFlags.Final */;
|
73
73
|
}
|
74
74
|
else if (decoratorType.details.builtInName === 'override') {
|
75
|
-
flags |= 262144 /* Overridden */;
|
75
|
+
flags |= 262144 /* FunctionTypeFlags.Overridden */;
|
76
76
|
}
|
77
77
|
else if (decoratorType.details.builtInName === 'type_check_only') {
|
78
|
-
flags |= 128 /* TypeCheckOnly */;
|
78
|
+
flags |= 128 /* FunctionTypeFlags.TypeCheckOnly */;
|
79
79
|
}
|
80
80
|
else if (decoratorType.details.builtInName === 'overload') {
|
81
|
-
flags |= 256 /* Overloaded */;
|
81
|
+
flags |= 256 /* FunctionTypeFlags.Overloaded */;
|
82
82
|
}
|
83
83
|
else if (decoratorType.details.builtInName === 'deprecated') {
|
84
84
|
deprecationMessage = getCustomDeprecationMessage(decoratorNode);
|
@@ -92,12 +92,12 @@ function getFunctionInfoFromDecorators(evaluator, node, isInClass) {
|
|
92
92
|
else if ((0, types_1.isInstantiableClass)(decoratorType)) {
|
93
93
|
if (types_1.ClassType.isBuiltIn(decoratorType, 'staticmethod')) {
|
94
94
|
if (isInClass) {
|
95
|
-
flags |= 4 /* StaticMethod */;
|
95
|
+
flags |= 4 /* FunctionTypeFlags.StaticMethod */;
|
96
96
|
}
|
97
97
|
}
|
98
98
|
else if (types_1.ClassType.isBuiltIn(decoratorType, 'classmethod')) {
|
99
99
|
if (isInClass) {
|
100
|
-
flags |= 2 /* ClassMethod */;
|
100
|
+
flags |= 2 /* FunctionTypeFlags.ClassMethod */;
|
101
101
|
}
|
102
102
|
}
|
103
103
|
}
|
@@ -110,9 +110,9 @@ exports.getFunctionInfoFromDecorators = getFunctionInfoFromDecorators;
|
|
110
110
|
function applyFunctionDecorator(evaluator, inputFunctionType, undecoratedType, decoratorNode, functionNode) {
|
111
111
|
const fileInfo = (0, analyzerNodeInfo_1.getFileInfo)(decoratorNode);
|
112
112
|
// Some stub files (e.g. builtins.pyi) rely on forward declarations of decorators.
|
113
|
-
let evaluatorFlags = fileInfo.isStubFile ? 4 /* AllowForwardReferences */ : 0 /* None */;
|
114
|
-
if (decoratorNode.expression.nodeType !== 9 /* Call */) {
|
115
|
-
evaluatorFlags |= 16777218 /* CallBaseDefaults */;
|
113
|
+
let evaluatorFlags = fileInfo.isStubFile ? 4 /* EvaluatorFlags.AllowForwardReferences */ : 0 /* EvaluatorFlags.None */;
|
114
|
+
if (decoratorNode.expression.nodeType !== 9 /* ParseNodeType.Call */) {
|
115
|
+
evaluatorFlags |= 16777218 /* EvaluatorFlags.CallBaseDefaults */;
|
116
116
|
}
|
117
117
|
const decoratorTypeResult = evaluator.getTypeOfExpression(decoratorNode.expression, evaluatorFlags);
|
118
118
|
const decoratorType = decoratorTypeResult.type;
|
@@ -121,13 +121,13 @@ function applyFunctionDecorator(evaluator, inputFunctionType, undecoratedType, d
|
|
121
121
|
if (((0, types_1.isInstantiableClass)(decoratorType) && types_1.ClassType.isSpecialBuiltIn(decoratorType, 'overload')) ||
|
122
122
|
((0, types_1.isFunction)(decoratorType) && decoratorType.details.builtInName === 'overload')) {
|
123
123
|
if ((0, types_1.isFunction)(inputFunctionType)) {
|
124
|
-
inputFunctionType.details.flags |= 256 /* Overloaded */;
|
125
|
-
undecoratedType.details.flags |= 256 /* Overloaded */;
|
124
|
+
inputFunctionType.details.flags |= 256 /* FunctionTypeFlags.Overloaded */;
|
125
|
+
undecoratedType.details.flags |= 256 /* FunctionTypeFlags.Overloaded */;
|
126
126
|
return inputFunctionType;
|
127
127
|
}
|
128
128
|
}
|
129
|
-
if (decoratorNode.expression.nodeType === 9 /* Call */) {
|
130
|
-
const decoratorCallType = evaluator.getTypeOfExpression(decoratorNode.expression.leftExpression, evaluatorFlags | 16777218 /* CallBaseDefaults */).type;
|
129
|
+
if (decoratorNode.expression.nodeType === 9 /* ParseNodeType.Call */) {
|
130
|
+
const decoratorCallType = evaluator.getTypeOfExpression(decoratorNode.expression.leftExpression, evaluatorFlags | 16777218 /* EvaluatorFlags.CallBaseDefaults */).type;
|
131
131
|
if ((0, types_1.isFunction)(decoratorCallType)) {
|
132
132
|
if (decoratorCallType.details.name === '__dataclass_transform__' ||
|
133
133
|
decoratorCallType.details.builtInName === 'dataclass_transform') {
|
@@ -153,12 +153,12 @@ function applyFunctionDecorator(evaluator, inputFunctionType, undecoratedType, d
|
|
153
153
|
return inputFunctionType;
|
154
154
|
}
|
155
155
|
if (decoratorType.details.builtInName === 'type_check_only') {
|
156
|
-
undecoratedType.details.flags |= 128 /* TypeCheckOnly */;
|
156
|
+
undecoratedType.details.flags |= 128 /* FunctionTypeFlags.TypeCheckOnly */;
|
157
157
|
return inputFunctionType;
|
158
158
|
}
|
159
159
|
// Handle property setters and deleters.
|
160
|
-
if (decoratorNode.expression.nodeType === 35 /* MemberAccess */) {
|
161
|
-
const baseType = evaluator.getTypeOfExpression(decoratorNode.expression.leftExpression, evaluatorFlags | 16777218 /* MemberAccessBaseDefaults */).type;
|
160
|
+
if (decoratorNode.expression.nodeType === 35 /* ParseNodeType.MemberAccess */) {
|
161
|
+
const baseType = evaluator.getTypeOfExpression(decoratorNode.expression.leftExpression, evaluatorFlags | 16777218 /* EvaluatorFlags.MemberAccessBaseDefaults */).type;
|
162
162
|
if ((0, typeUtils_1.isProperty)(baseType)) {
|
163
163
|
const memberName = decoratorNode.expression.memberName.value;
|
164
164
|
if (memberName === 'setter') {
|
@@ -193,16 +193,16 @@ function applyFunctionDecorator(evaluator, inputFunctionType, undecoratedType, d
|
|
193
193
|
case 'classmethod':
|
194
194
|
case 'staticmethod': {
|
195
195
|
const requiredFlag = decoratorType.details.name === 'classmethod'
|
196
|
-
? 2 /* ClassMethod */
|
197
|
-
: 4 /* StaticMethod */;
|
196
|
+
? 2 /* FunctionTypeFlags.ClassMethod */
|
197
|
+
: 4 /* FunctionTypeFlags.StaticMethod */;
|
198
198
|
// If the function isn't currently a class method or static method
|
199
199
|
// (which can happen if the function was wrapped in a decorator),
|
200
200
|
// add the appropriate flag.
|
201
201
|
if ((0, types_1.isFunction)(inputFunctionType) && (inputFunctionType.details.flags & requiredFlag) === 0) {
|
202
202
|
const newFunction = types_1.FunctionType.clone(inputFunctionType);
|
203
|
-
newFunction.details.flags &= ~(1 /* ConstructorMethod */ |
|
204
|
-
4 /* StaticMethod */ |
|
205
|
-
2 /* ClassMethod */);
|
203
|
+
newFunction.details.flags &= ~(1 /* FunctionTypeFlags.ConstructorMethod */ |
|
204
|
+
4 /* FunctionTypeFlags.StaticMethod */ |
|
205
|
+
2 /* FunctionTypeFlags.ClassMethod */);
|
206
206
|
newFunction.details.flags |= requiredFlag;
|
207
207
|
return newFunction;
|
208
208
|
}
|
@@ -229,7 +229,7 @@ function applyFunctionDecorator(evaluator, inputFunctionType, undecoratedType, d
|
|
229
229
|
returnType = types_1.FunctionType.clone(returnType);
|
230
230
|
// Copy the overload flag from the input function type.
|
231
231
|
if (types_1.FunctionType.isOverloaded(inputFunctionType)) {
|
232
|
-
returnType.details.flags |= 256 /* Overloaded */;
|
232
|
+
returnType.details.flags |= 256 /* FunctionTypeFlags.Overloaded */;
|
233
233
|
}
|
234
234
|
// Copy the docstrings from the input function type if the
|
235
235
|
// decorator didn't have its own docstring.
|
@@ -242,13 +242,13 @@ function applyFunctionDecorator(evaluator, inputFunctionType, undecoratedType, d
|
|
242
242
|
exports.applyFunctionDecorator = applyFunctionDecorator;
|
243
243
|
function applyClassDecorator(evaluator, inputClassType, originalClassType, decoratorNode) {
|
244
244
|
const fileInfo = (0, analyzerNodeInfo_1.getFileInfo)(decoratorNode);
|
245
|
-
let flags = fileInfo.isStubFile ? 4 /* AllowForwardReferences */ : 0 /* None */;
|
246
|
-
if (decoratorNode.expression.nodeType !== 9 /* Call */) {
|
247
|
-
flags |= 16777218 /* CallBaseDefaults */;
|
245
|
+
let flags = fileInfo.isStubFile ? 4 /* EvaluatorFlags.AllowForwardReferences */ : 0 /* EvaluatorFlags.None */;
|
246
|
+
if (decoratorNode.expression.nodeType !== 9 /* ParseNodeType.Call */) {
|
247
|
+
flags |= 16777218 /* EvaluatorFlags.CallBaseDefaults */;
|
248
248
|
}
|
249
249
|
const decoratorType = evaluator.getTypeOfExpression(decoratorNode.expression, flags).type;
|
250
|
-
if (decoratorNode.expression.nodeType === 9 /* Call */) {
|
251
|
-
const decoratorCallType = evaluator.getTypeOfExpression(decoratorNode.expression.leftExpression, flags | 16777218 /* CallBaseDefaults */).type;
|
250
|
+
if (decoratorNode.expression.nodeType === 9 /* ParseNodeType.Call */) {
|
251
|
+
const decoratorCallType = evaluator.getTypeOfExpression(decoratorNode.expression.leftExpression, flags | 16777218 /* EvaluatorFlags.CallBaseDefaults */).type;
|
252
252
|
if ((0, types_1.isFunction)(decoratorCallType)) {
|
253
253
|
if (decoratorCallType.details.name === '__dataclass_transform__' ||
|
254
254
|
decoratorCallType.details.builtInName === 'dataclass_transform') {
|
@@ -277,18 +277,18 @@ function applyClassDecorator(evaluator, inputClassType, originalClassType, decor
|
|
277
277
|
}
|
278
278
|
else if ((0, types_1.isFunction)(decoratorType)) {
|
279
279
|
if (decoratorType.details.builtInName === 'final') {
|
280
|
-
originalClassType.details.flags |= 4096 /* Final */;
|
280
|
+
originalClassType.details.flags |= 4096 /* ClassTypeFlags.Final */;
|
281
281
|
// Don't call getTypeOfDecorator for final. We'll hard-code its
|
282
282
|
// behavior because its function definition results in a cyclical
|
283
283
|
// dependency between builtins, typing and _typeshed stubs.
|
284
284
|
return inputClassType;
|
285
285
|
}
|
286
286
|
if (decoratorType.details.builtInName === 'type_check_only') {
|
287
|
-
originalClassType.details.flags |= 134217728 /* TypeCheckOnly */;
|
287
|
+
originalClassType.details.flags |= 134217728 /* ClassTypeFlags.TypeCheckOnly */;
|
288
288
|
return inputClassType;
|
289
289
|
}
|
290
290
|
if (decoratorType.details.builtInName === 'runtime_checkable') {
|
291
|
-
originalClassType.details.flags |= 32768 /* RuntimeCheckable */;
|
291
|
+
originalClassType.details.flags |= 32768 /* ClassTypeFlags.RuntimeCheckable */;
|
292
292
|
// Don't call getTypeOfDecorator for runtime_checkable. It appears
|
293
293
|
// frequently in stubs, and it's a waste of time to validate its
|
294
294
|
// parameters.
|
@@ -297,9 +297,9 @@ function applyClassDecorator(evaluator, inputClassType, originalClassType, decor
|
|
297
297
|
// Is this a dataclass decorator?
|
298
298
|
let dataclassBehaviors;
|
299
299
|
let callNode;
|
300
|
-
if (decoratorNode.expression.nodeType === 9 /* Call */) {
|
300
|
+
if (decoratorNode.expression.nodeType === 9 /* ParseNodeType.Call */) {
|
301
301
|
callNode = decoratorNode.expression;
|
302
|
-
const decoratorCallType = evaluator.getTypeOfExpression(callNode.leftExpression, flags | 16777218 /* CallBaseDefaults */).type;
|
302
|
+
const decoratorCallType = evaluator.getTypeOfExpression(callNode.leftExpression, flags | 16777218 /* EvaluatorFlags.CallBaseDefaults */).type;
|
303
303
|
dataclassBehaviors = (0, dataClasses_1.getDataclassDecoratorBehaviors)(decoratorCallType);
|
304
304
|
}
|
305
305
|
else {
|
@@ -317,9 +317,9 @@ exports.applyClassDecorator = applyClassDecorator;
|
|
317
317
|
function getTypeOfDecorator(evaluator, node, functionOrClassType) {
|
318
318
|
var _a, _b;
|
319
319
|
// Evaluate the type of the decorator expression.
|
320
|
-
let flags = (0, analyzerNodeInfo_1.getFileInfo)(node).isStubFile ? 4 /* AllowForwardReferences */ : 0 /* None */;
|
321
|
-
if (node.expression.nodeType !== 9 /* Call */) {
|
322
|
-
flags |= 16777218 /* CallBaseDefaults */;
|
320
|
+
let flags = (0, analyzerNodeInfo_1.getFileInfo)(node).isStubFile ? 4 /* EvaluatorFlags.AllowForwardReferences */ : 0 /* EvaluatorFlags.None */;
|
321
|
+
if (node.expression.nodeType !== 9 /* ParseNodeType.Call */) {
|
322
|
+
flags |= 16777218 /* EvaluatorFlags.CallBaseDefaults */;
|
323
323
|
}
|
324
324
|
const decoratorTypeResult = evaluator.getTypeOfExpression(node.expression, flags);
|
325
325
|
// Special-case the combination of a classmethod decorator applied
|
@@ -332,7 +332,7 @@ function getTypeOfDecorator(evaluator, node, functionOrClassType) {
|
|
332
332
|
}
|
333
333
|
const argList = [
|
334
334
|
{
|
335
|
-
argumentCategory: 0 /* Simple */,
|
335
|
+
argumentCategory: 0 /* ArgumentCategory.Simple */,
|
336
336
|
typeResult: { type: functionOrClassType },
|
337
337
|
},
|
338
338
|
];
|
@@ -355,7 +355,7 @@ function getTypeOfDecorator(evaluator, node, functionOrClassType) {
|
|
355
355
|
return true;
|
356
356
|
}
|
357
357
|
// Allow *args or **kwargs parameters.
|
358
|
-
if (param.category !== 0 /* Simple */) {
|
358
|
+
if (param.category !== 0 /* ParameterCategory.Simple */) {
|
359
359
|
return false;
|
360
360
|
}
|
361
361
|
// Allow inferred "self" or "cls" parameters.
|
@@ -398,14 +398,14 @@ function addOverloadsToFunctionType(evaluator, node, type) {
|
|
398
398
|
// to recursion if there is a large number (1000's) of overloads.
|
399
399
|
for (let i = 0; i < declIndex; i++) {
|
400
400
|
const decl = decls[i];
|
401
|
-
if (decl.type === 5 /* Function */) {
|
401
|
+
if (decl.type === 5 /* DeclarationType.Function */) {
|
402
402
|
evaluator.getTypeOfFunction(decl.node);
|
403
403
|
}
|
404
404
|
}
|
405
405
|
let overloadedTypes = [];
|
406
406
|
// Look at the previous declaration's type.
|
407
407
|
const prevDecl = decls[declIndex - 1];
|
408
|
-
if (prevDecl.type === 5 /* Function */) {
|
408
|
+
if (prevDecl.type === 5 /* DeclarationType.Function */) {
|
409
409
|
const prevDeclDeclTypeInfo = evaluator.getTypeOfFunction(prevDecl.node);
|
410
410
|
if (prevDeclDeclTypeInfo) {
|
411
411
|
if ((0, types_1.isFunction)(prevDeclDeclTypeInfo.decoratedType)) {
|
@@ -464,10 +464,10 @@ exports.addOverloadsToFunctionType = addOverloadsToFunctionType;
|
|
464
464
|
// Given a @typing.deprecated decorator node, returns either '' or a custom
|
465
465
|
// deprecation message if one is provided.
|
466
466
|
function getCustomDeprecationMessage(decorator) {
|
467
|
-
if (decorator.expression.nodeType === 9 /* Call */ &&
|
467
|
+
if (decorator.expression.nodeType === 9 /* ParseNodeType.Call */ &&
|
468
468
|
decorator.expression.arguments.length > 0 &&
|
469
|
-
decorator.expression.arguments[0].argumentCategory === 0 /* Simple */ &&
|
470
|
-
decorator.expression.arguments[0].valueExpression.nodeType === 48 /* StringList */ &&
|
469
|
+
decorator.expression.arguments[0].argumentCategory === 0 /* ArgumentCategory.Simple */ &&
|
470
|
+
decorator.expression.arguments[0].valueExpression.nodeType === 48 /* ParseNodeType.StringList */ &&
|
471
471
|
decorator.expression.arguments[0].valueExpression.strings.length === 1) {
|
472
472
|
const message = decorator.expression.arguments[0].valueExpression.strings[0].value;
|
473
473
|
return (0, docStringConversion_1.convertDocStringToPlainText)(message);
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../../src/analyzer/decorators.ts"],"names":[],"mappings":"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"}
|
1
|
+
{"version":3,"file":"decorators.js","sourceRoot":"","sources":["../../../src/analyzer/decorators.ts"],"names":[],"mappings":"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"}
|