@zzzen/pyright-internal 1.2.0-dev.20231119 → 1.2.0-dev.20231203
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/analyzer/analysis.d.ts +1 -1
- package/dist/analyzer/analysis.js +5 -1
- package/dist/analyzer/analysis.js.map +1 -1
- package/dist/analyzer/analyzerFileInfo.d.ts +1 -1
- package/dist/analyzer/analyzerNodeInfo.d.ts +1 -1
- package/dist/analyzer/analyzerNodeInfo.js +1 -1
- package/dist/analyzer/analyzerNodeInfo.js.map +1 -1
- package/dist/analyzer/backgroundAnalysisProgram.d.ts +1 -1
- package/dist/analyzer/backgroundAnalysisProgram.js +1 -1
- package/dist/analyzer/backgroundAnalysisProgram.js.map +1 -1
- package/dist/analyzer/binder.js +201 -194
- package/dist/analyzer/binder.js.map +1 -1
- package/dist/analyzer/cacheManager.js +1 -1
- package/dist/analyzer/cacheManager.js.map +1 -1
- package/dist/analyzer/checker.d.ts +4 -1
- package/dist/analyzer/checker.js +403 -248
- package/dist/analyzer/checker.js.map +1 -1
- package/dist/analyzer/codeFlowEngine.d.ts +1 -1
- package/dist/analyzer/codeFlowEngine.js +33 -26
- package/dist/analyzer/codeFlowEngine.js.map +1 -1
- package/dist/analyzer/codeFlowTypes.d.ts +1 -1
- package/dist/analyzer/codeFlowTypes.js +23 -23
- package/dist/analyzer/codeFlowTypes.js.map +1 -1
- package/dist/analyzer/codeFlowUtils.js +39 -37
- package/dist/analyzer/codeFlowUtils.js.map +1 -1
- package/dist/analyzer/commentUtils.js +7 -0
- package/dist/analyzer/commentUtils.js.map +1 -1
- package/dist/analyzer/constraintSolver.js +51 -47
- package/dist/analyzer/constraintSolver.js.map +1 -1
- package/dist/analyzer/constructorTransform.js +8 -8
- package/dist/analyzer/constructorTransform.js.map +1 -1
- package/dist/analyzer/constructors.js +25 -26
- package/dist/analyzer/constructors.js.map +1 -1
- package/dist/analyzer/dataClasses.js +124 -109
- package/dist/analyzer/dataClasses.js.map +1 -1
- package/dist/analyzer/declaration.d.ts +2 -2
- package/dist/analyzer/declaration.js +10 -10
- package/dist/analyzer/declaration.js.map +1 -1
- package/dist/analyzer/declarationUtils.js +41 -41
- package/dist/analyzer/declarationUtils.js.map +1 -1
- package/dist/analyzer/decorators.js +51 -51
- package/dist/analyzer/decorators.js.map +1 -1
- package/dist/analyzer/enums.js +27 -27
- package/dist/analyzer/enums.js.map +1 -1
- package/dist/analyzer/functionTransform.js +4 -4
- package/dist/analyzer/functionTransform.js.map +1 -1
- package/dist/analyzer/importResolver.d.ts +1 -1
- package/dist/analyzer/importResolver.js +21 -17
- package/dist/analyzer/importResolver.js.map +1 -1
- package/dist/analyzer/importResult.js +1 -1
- package/dist/analyzer/importResult.js.map +1 -1
- package/dist/analyzer/importStatementUtils.js +31 -27
- package/dist/analyzer/importStatementUtils.js.map +1 -1
- package/dist/analyzer/namedTuples.js +36 -32
- package/dist/analyzer/namedTuples.js.map +1 -1
- package/dist/analyzer/operations.js +94 -92
- package/dist/analyzer/operations.js.map +1 -1
- package/dist/analyzer/packageTypeReport.d.ts +1 -1
- package/dist/analyzer/packageTypeReport.js +2 -2
- package/dist/analyzer/packageTypeReport.js.map +1 -1
- package/dist/analyzer/packageTypeVerifier.js +90 -90
- package/dist/analyzer/packageTypeVerifier.js.map +1 -1
- package/dist/analyzer/parameterUtils.js +14 -14
- package/dist/analyzer/parameterUtils.js.map +1 -1
- package/dist/analyzer/parentDirectoryCache.d.ts +2 -2
- package/dist/analyzer/parseTreeCleaner.js +5 -1
- package/dist/analyzer/parseTreeCleaner.js.map +1 -1
- package/dist/analyzer/parseTreeUtils.d.ts +1 -1
- package/dist/analyzer/parseTreeUtils.js +383 -379
- package/dist/analyzer/parseTreeUtils.js.map +1 -1
- package/dist/analyzer/parseTreeWalker.js +161 -157
- package/dist/analyzer/parseTreeWalker.js.map +1 -1
- package/dist/analyzer/patternMatching.d.ts +1 -1
- package/dist/analyzer/patternMatching.js +52 -50
- package/dist/analyzer/patternMatching.js.map +1 -1
- package/dist/analyzer/program.d.ts +1 -1
- package/dist/analyzer/program.js +18 -14
- package/dist/analyzer/program.js.map +1 -1
- package/dist/analyzer/properties.js +53 -44
- package/dist/analyzer/properties.js.map +1 -1
- package/dist/analyzer/protocols.js +41 -27
- package/dist/analyzer/protocols.js.map +1 -1
- package/dist/analyzer/pythonPathUtils.js +5 -1
- package/dist/analyzer/pythonPathUtils.js.map +1 -1
- package/dist/analyzer/regions.js +3 -3
- package/dist/analyzer/regions.js.map +1 -1
- package/dist/analyzer/scope.js +8 -8
- package/dist/analyzer/scope.js.map +1 -1
- package/dist/analyzer/scopeUtils.js +1 -1
- package/dist/analyzer/scopeUtils.js.map +1 -1
- package/dist/analyzer/service.js +5 -1
- package/dist/analyzer/service.js.map +1 -1
- package/dist/analyzer/sourceFile.js +25 -21
- package/dist/analyzer/sourceFile.js.map +1 -1
- package/dist/analyzer/sourceMapper.d.ts +2 -2
- package/dist/analyzer/sourceMapper.js +12 -8
- package/dist/analyzer/sourceMapper.js.map +1 -1
- package/dist/analyzer/staticExpressions.js +40 -40
- package/dist/analyzer/staticExpressions.js.map +1 -1
- package/dist/analyzer/symbol.d.ts +1 -1
- package/dist/analyzer/symbol.js +26 -26
- package/dist/analyzer/symbol.js.map +1 -1
- package/dist/analyzer/symbolUtils.js +1 -1
- package/dist/analyzer/symbolUtils.js.map +1 -1
- package/dist/analyzer/testWalker.js +5 -5
- package/dist/analyzer/testWalker.js.map +1 -1
- package/dist/analyzer/tracePrinter.d.ts +1 -1
- package/dist/analyzer/tracePrinter.js +35 -31
- package/dist/analyzer/tracePrinter.js.map +1 -1
- package/dist/analyzer/typeCacheUtils.js +5 -1
- package/dist/analyzer/typeCacheUtils.js.map +1 -1
- package/dist/analyzer/typeDocStringUtils.js +13 -9
- package/dist/analyzer/typeDocStringUtils.js.map +1 -1
- package/dist/analyzer/typeEvaluator.js +1347 -1270
- package/dist/analyzer/typeEvaluator.js.map +1 -1
- package/dist/analyzer/typeEvaluatorTypes.d.ts +4 -2
- package/dist/analyzer/typeEvaluatorTypes.js +4 -2
- package/dist/analyzer/typeEvaluatorTypes.js.map +1 -1
- package/dist/analyzer/typeGuards.d.ts +1 -1
- package/dist/analyzer/typeGuards.js +79 -65
- package/dist/analyzer/typeGuards.js.map +1 -1
- package/dist/analyzer/typePrinter.d.ts +1 -1
- package/dist/analyzer/typePrinter.js +80 -76
- package/dist/analyzer/typePrinter.js.map +1 -1
- package/dist/analyzer/typeStubWriter.js +26 -22
- package/dist/analyzer/typeStubWriter.js.map +1 -1
- package/dist/analyzer/typeUtils.d.ts +1 -1
- package/dist/analyzer/typeUtils.js +139 -135
- package/dist/analyzer/typeUtils.js.map +1 -1
- package/dist/analyzer/typeVarContext.d.ts +2 -0
- package/dist/analyzer/typeVarContext.js +36 -9
- package/dist/analyzer/typeVarContext.js.map +1 -1
- package/dist/analyzer/typeWalker.js +10 -10
- package/dist/analyzer/typedDicts.js +76 -102
- package/dist/analyzer/typedDicts.js.map +1 -1
- package/dist/analyzer/types.d.ts +18 -18
- package/dist/analyzer/types.js +186 -191
- package/dist/analyzer/types.js.map +1 -1
- package/dist/backgroundAnalysisBase.d.ts +2 -2
- package/dist/backgroundAnalysisBase.js +5 -1
- package/dist/backgroundAnalysisBase.js.map +1 -1
- package/dist/backgroundThreadBase.js +5 -1
- package/dist/backgroundThreadBase.js.map +1 -1
- package/dist/commands/commandController.js +6 -7
- package/dist/commands/commandController.js.map +1 -1
- package/dist/commands/commandResult.js +1 -1
- package/dist/commands/commandResult.js.map +1 -1
- package/dist/commands/commands.d.ts +0 -1
- package/dist/commands/commands.js +1 -2
- package/dist/commands/commands.js.map +1 -1
- package/dist/commands/dumpFileDebugInfoCommand.js +196 -196
- package/dist/commands/dumpFileDebugInfoCommand.js.map +1 -1
- package/dist/commands/quickActionCommand.js +1 -1
- package/dist/commands/quickActionCommand.js.map +1 -1
- package/dist/common/charCodes.js +1 -1
- package/dist/common/charCodes.js.map +1 -1
- package/dist/common/chokidarFileWatcherProvider.js +5 -1
- package/dist/common/chokidarFileWatcherProvider.js.map +1 -1
- package/dist/common/collectionUtils.d.ts +3 -3
- package/dist/common/collectionUtils.js +3 -3
- package/dist/common/collectionUtils.js.map +1 -1
- package/dist/common/commandLineOptions.d.ts +1 -1
- package/dist/common/commandLineOptions.js +5 -5
- package/dist/common/commandLineOptions.js.map +1 -1
- package/dist/common/configOptions.d.ts +2 -1
- package/dist/common/configOptions.js +102 -10
- package/dist/common/configOptions.js.map +1 -1
- package/dist/common/console.js +7 -3
- package/dist/common/console.js.map +1 -1
- package/dist/common/core.d.ts +2 -2
- package/dist/common/core.js +6 -6
- package/dist/common/core.js.map +1 -1
- package/dist/common/diagnostic.d.ts +0 -4
- package/dist/common/diagnostic.js +6 -6
- package/dist/common/diagnostic.js.map +1 -1
- package/dist/common/diagnosticRules.js +1 -1
- package/dist/common/diagnosticRules.js.map +1 -1
- package/dist/common/diagnosticSink.js +12 -12
- package/dist/common/diagnosticSink.js.map +1 -1
- package/dist/common/editAction.d.ts +1 -1
- package/dist/common/editAction.js +2 -2
- package/dist/common/editAction.js.map +1 -1
- package/dist/common/envVarUtils.js +5 -1
- package/dist/common/envVarUtils.js.map +1 -1
- package/dist/common/extensibility.js +1 -1
- package/dist/common/extensibility.js.map +1 -1
- package/dist/common/fileBasedCancellationUtils.js +5 -1
- package/dist/common/fileBasedCancellationUtils.js.map +1 -1
- package/dist/common/fileSystem.d.ts +1 -0
- package/dist/common/fileSystem.js +2 -2
- package/dist/common/fileSystem.js.map +1 -1
- package/dist/common/fileWatcher.d.ts +2 -2
- package/dist/common/fullAccessHost.js +10 -6
- package/dist/common/fullAccessHost.js.map +1 -1
- package/dist/common/host.d.ts +1 -1
- package/dist/common/host.js +2 -2
- package/dist/common/host.js.map +1 -1
- package/dist/common/lspUtils.js +7 -7
- package/dist/common/lspUtils.js.map +1 -1
- package/dist/common/memUtils.d.ts +1 -1
- package/dist/common/pathUtils.js +12 -8
- package/dist/common/pathUtils.js.map +1 -1
- package/dist/common/pythonVersion.js +1 -1
- package/dist/common/pythonVersion.js.map +1 -1
- package/dist/common/realFileSystem.js +5 -1
- package/dist/common/realFileSystem.js.map +1 -1
- package/dist/common/serviceProvider.d.ts +1 -1
- package/dist/common/serviceProvider.js +5 -1
- package/dist/common/serviceProvider.js.map +1 -1
- package/dist/common/serviceProviderExtensions.js +1 -1
- package/dist/common/serviceProviderExtensions.js.map +1 -1
- package/dist/common/stringUtils.js +5 -5
- package/dist/common/stringUtils.js.map +1 -1
- package/dist/common/textEditTracker.js +11 -7
- package/dist/common/textEditTracker.js.map +1 -1
- package/dist/common/textRange.js +3 -3
- package/dist/common/textRange.js.map +1 -1
- package/dist/languageServerBase.js +13 -13
- package/dist/languageServerBase.js.map +1 -1
- package/dist/languageService/autoImporter.d.ts +3 -3
- package/dist/languageService/autoImporter.js +12 -8
- package/dist/languageService/autoImporter.js.map +1 -1
- package/dist/languageService/callHierarchyProvider.js +27 -23
- package/dist/languageService/callHierarchyProvider.js.map +1 -1
- package/dist/languageService/codeActionProvider.js +5 -19
- package/dist/languageService/codeActionProvider.js.map +1 -1
- package/dist/languageService/completionProvider.js +166 -162
- package/dist/languageService/completionProvider.js.map +1 -1
- package/dist/languageService/completionProviderUtils.js +9 -9
- package/dist/languageService/completionProviderUtils.js.map +1 -1
- package/dist/languageService/definitionProvider.js +14 -10
- package/dist/languageService/definitionProvider.js.map +1 -1
- package/dist/languageService/documentHighlightProvider.js +7 -3
- package/dist/languageService/documentHighlightProvider.js.map +1 -1
- package/dist/languageService/documentSymbolCollector.d.ts +1 -1
- package/dist/languageService/documentSymbolCollector.js +21 -17
- package/dist/languageService/documentSymbolCollector.js.map +1 -1
- package/dist/languageService/hoverProvider.js +30 -26
- package/dist/languageService/hoverProvider.js.map +1 -1
- package/dist/languageService/importSorter.js +1 -1
- package/dist/languageService/importSorter.js.map +1 -1
- package/dist/languageService/quickActions.d.ts +1 -2
- package/dist/languageService/quickActions.js +1 -77
- package/dist/languageService/quickActions.js.map +1 -1
- package/dist/languageService/referencesProvider.d.ts +1 -1
- package/dist/languageService/referencesProvider.js +24 -20
- package/dist/languageService/referencesProvider.js.map +1 -1
- package/dist/languageService/signatureHelpProvider.js +8 -4
- package/dist/languageService/signatureHelpProvider.js.map +1 -1
- package/dist/languageService/symbolIndexer.js +8 -4
- package/dist/languageService/symbolIndexer.js.map +1 -1
- package/dist/languageService/tooltipUtils.js +20 -16
- package/dist/languageService/tooltipUtils.js.map +1 -1
- package/dist/languageService/workspaceSymbolProvider.js +5 -1
- package/dist/languageService/workspaceSymbolProvider.js.map +1 -1
- package/dist/localization/localize.d.ts +19 -18
- package/dist/localization/localize.js +11 -8
- package/dist/localization/localize.js.map +1 -1
- package/dist/localization/package.nls.cs.json +0 -7
- package/dist/localization/package.nls.de.json +0 -7
- package/dist/localization/package.nls.en-us.json +11 -8
- package/dist/localization/package.nls.es.json +2 -9
- package/dist/localization/package.nls.fr.json +0 -7
- package/dist/localization/package.nls.it.json +0 -7
- package/dist/localization/package.nls.ja.json +0 -7
- package/dist/localization/package.nls.ko.json +0 -7
- package/dist/localization/package.nls.pl.json +0 -7
- package/dist/localization/package.nls.pt-br.json +0 -7
- package/dist/localization/package.nls.qps-ploc.json +0 -7
- package/dist/localization/package.nls.ru.json +0 -7
- package/dist/localization/package.nls.tr.json +0 -7
- package/dist/localization/package.nls.zh-cn.json +0 -7
- package/dist/localization/package.nls.zh-tw.json +0 -7
- package/dist/parser/characterStream.js +3 -3
- package/dist/parser/characterStream.js.map +1 -1
- package/dist/parser/characters.js +13 -9
- package/dist/parser/characters.js.map +1 -1
- package/dist/parser/parseNodes.d.ts +12 -12
- package/dist/parser/parseNodes.js +193 -193
- package/dist/parser/parseNodes.js.map +1 -1
- package/dist/parser/parser.js +563 -559
- package/dist/parser/parser.js.map +1 -1
- package/dist/parser/stringTokenUtils.js +47 -47
- package/dist/parser/stringTokenUtils.js.map +1 -1
- package/dist/parser/tokenizer.js +288 -288
- package/dist/parser/tokenizer.js.map +1 -1
- package/dist/parser/tokenizerTypes.js +35 -35
- package/dist/parser/tokenizerTypes.js.map +1 -1
- package/dist/parser/unicode.d.ts +3 -3
- package/dist/pyright.js +21 -17
- package/dist/pyright.js.map +1 -1
- package/dist/pyrightFileSystem.d.ts +1 -0
- package/dist/pyrightFileSystem.js +2 -2
- package/dist/pyrightFileSystem.js.map +1 -1
- package/dist/readonlyAugmentedFileSystem.d.ts +2 -1
- package/dist/readonlyAugmentedFileSystem.js +15 -5
- package/dist/readonlyAugmentedFileSystem.js.map +1 -1
- package/dist/server.js +1 -1
- package/dist/server.js.map +1 -1
- package/dist/tests/chainedSourceFiles.test.js +5 -1
- package/dist/tests/chainedSourceFiles.test.js.map +1 -1
- package/dist/tests/checker.test.js +13 -1
- package/dist/tests/checker.test.js.map +1 -1
- package/dist/tests/collectionUtils.test.js +5 -1
- package/dist/tests/collectionUtils.test.js.map +1 -1
- package/dist/tests/common.test.js +5 -1
- package/dist/tests/common.test.js.map +1 -1
- package/dist/tests/debug.test.js +8 -4
- package/dist/tests/debug.test.js.map +1 -1
- package/dist/tests/deferred.test.js +5 -1
- package/dist/tests/deferred.test.js.map +1 -1
- package/dist/tests/diagnosticOverrides.test.js +5 -1
- package/dist/tests/diagnosticOverrides.test.js.map +1 -1
- package/dist/tests/docStringUtils.test.js +5 -1
- package/dist/tests/docStringUtils.test.js.map +1 -1
- package/dist/tests/filesystem.test.js +5 -1
- package/dist/tests/filesystem.test.js.map +1 -1
- package/dist/tests/fourSlashParser.test.js +5 -1
- package/dist/tests/fourSlashParser.test.js.map +1 -1
- package/dist/tests/fourSlashRunner.test.js +5 -1
- package/dist/tests/fourSlashRunner.test.js.map +1 -1
- package/dist/tests/fourslash/fourslash.d.ts +1 -2
- package/dist/tests/harness/fourslash/fourSlashParser.js +13 -13
- package/dist/tests/harness/fourslash/fourSlashParser.js.map +1 -1
- package/dist/tests/harness/fourslash/fourSlashTypes.js +11 -7
- package/dist/tests/harness/fourslash/fourSlashTypes.js.map +1 -1
- package/dist/tests/harness/fourslash/runner.d.ts +1 -1
- package/dist/tests/harness/fourslash/runner.js +5 -1
- package/dist/tests/harness/fourslash/runner.js.map +1 -1
- package/dist/tests/harness/fourslash/testLanguageService.js +5 -1
- package/dist/tests/harness/fourslash/testLanguageService.js.map +1 -1
- package/dist/tests/harness/fourslash/testState.Consts.d.ts +1 -2
- package/dist/tests/harness/fourslash/testState.Consts.js +6 -3
- package/dist/tests/harness/fourslash/testState.Consts.js.map +1 -1
- package/dist/tests/harness/fourslash/testState.js +18 -14
- package/dist/tests/harness/fourslash/testState.js.map +1 -1
- package/dist/tests/harness/fourslash/testStateUtils.js +9 -5
- package/dist/tests/harness/fourslash/testStateUtils.js.map +1 -1
- package/dist/tests/harness/fourslash/workspaceEditTestUtils.js +5 -1
- package/dist/tests/harness/fourslash/workspaceEditTestUtils.js.map +1 -1
- package/dist/tests/harness/testHost.js +5 -1
- package/dist/tests/harness/testHost.js.map +1 -1
- package/dist/tests/harness/utils.d.ts +13 -12
- package/dist/tests/harness/utils.js.map +1 -1
- package/dist/tests/harness/vfs/factory.js +6 -2
- package/dist/tests/harness/vfs/factory.js.map +1 -1
- package/dist/tests/harness/vfs/filesystem.d.ts +4 -3
- package/dist/tests/harness/vfs/filesystem.js +11 -7
- package/dist/tests/harness/vfs/filesystem.js.map +1 -1
- package/dist/tests/harness/vfs/pathValidation.js +30 -26
- package/dist/tests/harness/vfs/pathValidation.js.map +1 -1
- package/dist/tests/importStatementUtils.test.js +25 -25
- package/dist/tests/importStatementUtils.test.js.map +1 -1
- package/dist/tests/ipythonMode.test.js +6 -6
- package/dist/tests/ipythonMode.test.js.map +1 -1
- package/dist/tests/localizer.test.js +5 -1
- package/dist/tests/localizer.test.js.map +1 -1
- package/dist/tests/logger.test.js +5 -1
- package/dist/tests/logger.test.js.map +1 -1
- package/dist/tests/parseTreeUtils.test.js +10 -10
- package/dist/tests/parseTreeUtils.test.js.map +1 -1
- package/dist/tests/parser.test.js +13 -9
- package/dist/tests/parser.test.js.map +1 -1
- package/dist/tests/pathUtils.test.js +5 -1
- package/dist/tests/pathUtils.test.js.map +1 -1
- package/dist/tests/pyrightFileSystem.test.js +48 -1
- package/dist/tests/pyrightFileSystem.test.js.map +1 -1
- package/dist/tests/sourceFile.test.js +5 -1
- package/dist/tests/sourceFile.test.js.map +1 -1
- package/dist/tests/sourceMapperUtils.test.js +5 -1
- package/dist/tests/sourceMapperUtils.test.js.map +1 -1
- package/dist/tests/stringUtils.test.js +10 -6
- package/dist/tests/stringUtils.test.js.map +1 -1
- package/dist/tests/symbolNameUtils.test.js +5 -1
- package/dist/tests/symbolNameUtils.test.js.map +1 -1
- package/dist/tests/testState.test.js +5 -1
- package/dist/tests/testState.test.js.map +1 -1
- package/dist/tests/testUtils.js +11 -7
- package/dist/tests/testUtils.js.map +1 -1
- package/dist/tests/textRange.test.js +5 -1
- package/dist/tests/textRange.test.js.map +1 -1
- package/dist/tests/tokenizer.test.js +463 -459
- package/dist/tests/tokenizer.test.js.map +1 -1
- package/dist/tests/typeEvaluator1.test.js +22 -7
- package/dist/tests/typeEvaluator1.test.js.map +1 -1
- package/dist/tests/typeEvaluator2.test.js +14 -6
- package/dist/tests/typeEvaluator2.test.js.map +1 -1
- package/dist/tests/typeEvaluator3.test.js +23 -12
- package/dist/tests/typeEvaluator3.test.js.map +1 -1
- package/dist/tests/typeEvaluator4.test.js +16 -4
- package/dist/tests/typeEvaluator4.test.js.map +1 -1
- package/dist/tests/typeEvaluator5.test.js +13 -5
- package/dist/tests/typeEvaluator5.test.js.map +1 -1
- package/dist/tests/typePrinter.test.js +44 -40
- package/dist/tests/typePrinter.test.js.map +1 -1
- package/dist/tests/workspaceEditUtils.test.js +5 -1
- package/dist/tests/workspaceEditUtils.test.js.map +1 -1
- package/dist/tests/zipfs.test.js +5 -1
- package/dist/tests/zipfs.test.js.map +1 -1
- package/dist/workspaceFactory.js +2 -2
- package/dist/workspaceFactory.js.map +1 -1
- package/package.json +2 -2
@@ -9,7 +9,11 @@
|
|
9
9
|
*/
|
10
10
|
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
11
11
|
if (k2 === undefined) k2 = k;
|
12
|
-
Object.
|
12
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
13
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
14
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
15
|
+
}
|
16
|
+
Object.defineProperty(o, k2, desc);
|
13
17
|
}) : (function(o, m, k, k2) {
|
14
18
|
if (k2 === undefined) k2 = k;
|
15
19
|
o[k2] = m[k];
|
@@ -46,7 +50,7 @@ var PrintExpressionFlags;
|
|
46
50
|
// By default, strings are truncated. If this flag
|
47
51
|
// is specified, the full original string is used.
|
48
52
|
PrintExpressionFlags[PrintExpressionFlags["DoNotLimitStringLength"] = 2] = "DoNotLimitStringLength";
|
49
|
-
})(PrintExpressionFlags
|
53
|
+
})(PrintExpressionFlags || (exports.PrintExpressionFlags = PrintExpressionFlags = {}));
|
50
54
|
// Returns the depth of the node as measured from the root
|
51
55
|
// of the parse tree.
|
52
56
|
function getNodeDepth(node) {
|
@@ -94,7 +98,7 @@ function findNodeByOffset(node, offset) {
|
|
94
98
|
if (containingChild) {
|
95
99
|
// For augmented assignments, prefer the dest expression, which is a clone
|
96
100
|
// of the left expression but is used to hold the type of the operation result.
|
97
|
-
if (node.nodeType === 5 /* AugmentedAssignment */ && containingChild === node.leftExpression) {
|
101
|
+
if (node.nodeType === 5 /* ParseNodeType.AugmentedAssignment */ && containingChild === node.leftExpression) {
|
98
102
|
return node.destExpression;
|
99
103
|
}
|
100
104
|
return containingChild;
|
@@ -108,7 +112,7 @@ function isCompliantWithNodeRangeRules(node) {
|
|
108
112
|
// 1. Children are all contained within the parent.
|
109
113
|
// 2. Children have non-overlapping ranges.
|
110
114
|
// 3. Children are listed in increasing order.
|
111
|
-
return node.nodeType !== 3 /* Assignment */ && node.nodeType !== 48 /* StringList */;
|
115
|
+
return node.nodeType !== 3 /* ParseNodeType.Assignment */ && node.nodeType !== 48 /* ParseNodeType.StringList */;
|
112
116
|
}
|
113
117
|
exports.isCompliantWithNodeRangeRules = isCompliantWithNodeRangeRules;
|
114
118
|
function getClassFullName(classNode, moduleName, className) {
|
@@ -135,10 +139,10 @@ function getTypeSourceId(node) {
|
|
135
139
|
exports.getTypeSourceId = getTypeSourceId;
|
136
140
|
function printArgument(node, flags) {
|
137
141
|
let argStr = '';
|
138
|
-
if (node.argumentCategory === 1 /* UnpackedList */) {
|
142
|
+
if (node.argumentCategory === 1 /* ArgumentCategory.UnpackedList */) {
|
139
143
|
argStr = '*';
|
140
144
|
}
|
141
|
-
else if (node.argumentCategory === 2 /* UnpackedDictionary */) {
|
145
|
+
else if (node.argumentCategory === 2 /* ArgumentCategory.UnpackedDictionary */) {
|
142
146
|
argStr = '**';
|
143
147
|
}
|
144
148
|
if (node.name) {
|
@@ -148,37 +152,37 @@ function printArgument(node, flags) {
|
|
148
152
|
return argStr;
|
149
153
|
}
|
150
154
|
exports.printArgument = printArgument;
|
151
|
-
function printExpression(node, flags = 0 /* None */) {
|
155
|
+
function printExpression(node, flags = 0 /* PrintExpressionFlags.None */) {
|
152
156
|
switch (node.nodeType) {
|
153
|
-
case 38 /* Name */: {
|
157
|
+
case 38 /* ParseNodeType.Name */: {
|
154
158
|
return node.value;
|
155
159
|
}
|
156
|
-
case 35 /* MemberAccess */: {
|
160
|
+
case 35 /* ParseNodeType.MemberAccess */: {
|
157
161
|
return printExpression(node.leftExpression, flags) + '.' + node.memberName.value;
|
158
162
|
}
|
159
|
-
case 9 /* Call */: {
|
163
|
+
case 9 /* ParseNodeType.Call */: {
|
160
164
|
let lhs = printExpression(node.leftExpression, flags);
|
161
165
|
// Some left-hand expressions must be parenthesized.
|
162
|
-
if (node.leftExpression.nodeType !== 35 /* MemberAccess */ &&
|
163
|
-
node.leftExpression.nodeType !== 38 /* Name */ &&
|
164
|
-
node.leftExpression.nodeType !== 24 /* Index */ &&
|
165
|
-
node.leftExpression.nodeType !== 9 /* Call */) {
|
166
|
+
if (node.leftExpression.nodeType !== 35 /* ParseNodeType.MemberAccess */ &&
|
167
|
+
node.leftExpression.nodeType !== 38 /* ParseNodeType.Name */ &&
|
168
|
+
node.leftExpression.nodeType !== 24 /* ParseNodeType.Index */ &&
|
169
|
+
node.leftExpression.nodeType !== 9 /* ParseNodeType.Call */) {
|
166
170
|
lhs = `(${lhs})`;
|
167
171
|
}
|
168
172
|
return lhs + '(' + node.arguments.map((arg) => printArgument(arg, flags)).join(', ') + ')';
|
169
173
|
}
|
170
|
-
case 24 /* Index */: {
|
174
|
+
case 24 /* ParseNodeType.Index */: {
|
171
175
|
return (printExpression(node.baseExpression, flags) +
|
172
176
|
'[' +
|
173
177
|
node.items.map((item) => printArgument(item, flags)).join(', ') +
|
174
178
|
(node.trailingComma ? ',' : '') +
|
175
179
|
']');
|
176
180
|
}
|
177
|
-
case 55 /* UnaryOperation */: {
|
181
|
+
case 55 /* ParseNodeType.UnaryOperation */: {
|
178
182
|
const exprStr = printOperator(node.operator) + printExpression(node.expression, flags);
|
179
183
|
return node.parenthesized ? `(${exprStr})` : exprStr;
|
180
184
|
}
|
181
|
-
case 7 /* BinaryOperation */: {
|
185
|
+
case 7 /* ParseNodeType.BinaryOperation */: {
|
182
186
|
const exprStr = printExpression(node.leftExpression, flags) +
|
183
187
|
' ' +
|
184
188
|
printOperator(node.operator) +
|
@@ -186,7 +190,7 @@ function printExpression(node, flags = 0 /* None */) {
|
|
186
190
|
printExpression(node.rightExpression, flags);
|
187
191
|
return node.parenthesized ? `(${exprStr})` : exprStr;
|
188
192
|
}
|
189
|
-
case 40 /* Number */: {
|
193
|
+
case 40 /* ParseNodeType.Number */: {
|
190
194
|
let value = node.value.toString();
|
191
195
|
// If it's stored as a bigint, strip off the "n".
|
192
196
|
if (value.endsWith('n')) {
|
@@ -197,8 +201,8 @@ function printExpression(node, flags = 0 /* None */) {
|
|
197
201
|
}
|
198
202
|
return value;
|
199
203
|
}
|
200
|
-
case 48 /* StringList */: {
|
201
|
-
if (flags & 1 /* ForwardDeclarations */ && node.typeAnnotation) {
|
204
|
+
case 48 /* ParseNodeType.StringList */: {
|
205
|
+
if (flags & 1 /* PrintExpressionFlags.ForwardDeclarations */ && node.typeAnnotation) {
|
202
206
|
return printExpression(node.typeAnnotation, flags);
|
203
207
|
}
|
204
208
|
else {
|
@@ -209,27 +213,27 @@ function printExpression(node, flags = 0 /* None */) {
|
|
209
213
|
.join(' ');
|
210
214
|
}
|
211
215
|
}
|
212
|
-
case 49 /* String */: {
|
216
|
+
case 49 /* ParseNodeType.String */: {
|
213
217
|
let exprString = '';
|
214
|
-
if (node.token.flags & 8 /* Raw */) {
|
218
|
+
if (node.token.flags & 8 /* StringTokenFlags.Raw */) {
|
215
219
|
exprString += 'r';
|
216
220
|
}
|
217
|
-
if (node.token.flags & 16 /* Unicode */) {
|
221
|
+
if (node.token.flags & 16 /* StringTokenFlags.Unicode */) {
|
218
222
|
exprString += 'u';
|
219
223
|
}
|
220
|
-
if (node.token.flags & 32 /* Bytes */) {
|
224
|
+
if (node.token.flags & 32 /* StringTokenFlags.Bytes */) {
|
221
225
|
exprString += 'b';
|
222
226
|
}
|
223
|
-
if (node.token.flags & 64 /* Format */) {
|
227
|
+
if (node.token.flags & 64 /* StringTokenFlags.Format */) {
|
224
228
|
exprString += 'f';
|
225
229
|
}
|
226
230
|
let escapedString = node.token.escapedValue;
|
227
|
-
if ((flags & 2 /* DoNotLimitStringLength */) === 0) {
|
231
|
+
if ((flags & 2 /* PrintExpressionFlags.DoNotLimitStringLength */) === 0) {
|
228
232
|
const maxStringLength = 32;
|
229
233
|
escapedString = escapedString.substring(0, maxStringLength);
|
230
234
|
}
|
231
|
-
if (node.token.flags & 4 /* Triplicate */) {
|
232
|
-
if (node.token.flags & 1 /* SingleQuote */) {
|
235
|
+
if (node.token.flags & 4 /* StringTokenFlags.Triplicate */) {
|
236
|
+
if (node.token.flags & 1 /* StringTokenFlags.SingleQuote */) {
|
233
237
|
exprString += `'''${escapedString}'''`;
|
234
238
|
}
|
235
239
|
else {
|
@@ -237,7 +241,7 @@ function printExpression(node, flags = 0 /* None */) {
|
|
237
241
|
}
|
238
242
|
}
|
239
243
|
else {
|
240
|
-
if (node.token.flags & 1 /* SingleQuote */) {
|
244
|
+
if (node.token.flags & 1 /* StringTokenFlags.SingleQuote */) {
|
241
245
|
exprString += `'${escapedString}'`;
|
242
246
|
}
|
243
247
|
else {
|
@@ -246,43 +250,43 @@ function printExpression(node, flags = 0 /* None */) {
|
|
246
250
|
}
|
247
251
|
return exprString;
|
248
252
|
}
|
249
|
-
case 3 /* Assignment */: {
|
253
|
+
case 3 /* ParseNodeType.Assignment */: {
|
250
254
|
return printExpression(node.leftExpression, flags) + ' = ' + printExpression(node.rightExpression, flags);
|
251
255
|
}
|
252
|
-
case 4 /* AssignmentExpression */: {
|
256
|
+
case 4 /* ParseNodeType.AssignmentExpression */: {
|
253
257
|
return printExpression(node.name, flags) + ' := ' + printExpression(node.rightExpression, flags);
|
254
258
|
}
|
255
|
-
case 54 /* TypeAnnotation */: {
|
259
|
+
case 54 /* ParseNodeType.TypeAnnotation */: {
|
256
260
|
return printExpression(node.valueExpression, flags) + ': ' + printExpression(node.typeAnnotation, flags);
|
257
261
|
}
|
258
|
-
case 5 /* AugmentedAssignment */: {
|
262
|
+
case 5 /* ParseNodeType.AugmentedAssignment */: {
|
259
263
|
return (printExpression(node.leftExpression, flags) +
|
260
264
|
' ' +
|
261
265
|
printOperator(node.operator) +
|
262
266
|
' ' +
|
263
267
|
printExpression(node.rightExpression, flags));
|
264
268
|
}
|
265
|
-
case 6 /* Await */: {
|
269
|
+
case 6 /* ParseNodeType.Await */: {
|
266
270
|
const exprStr = 'await ' + printExpression(node.expression, flags);
|
267
271
|
return node.parenthesized ? `(${exprStr})` : exprStr;
|
268
272
|
}
|
269
|
-
case 51 /* Ternary */: {
|
273
|
+
case 51 /* ParseNodeType.Ternary */: {
|
270
274
|
return (printExpression(node.ifExpression, flags) +
|
271
275
|
' if ' +
|
272
276
|
printExpression(node.testExpression, flags) +
|
273
277
|
' else ' +
|
274
278
|
printExpression(node.elseExpression, flags));
|
275
279
|
}
|
276
|
-
case 31 /* List */: {
|
280
|
+
case 31 /* ParseNodeType.List */: {
|
277
281
|
const expressions = node.entries.map((expr) => {
|
278
282
|
return printExpression(expr, flags);
|
279
283
|
});
|
280
284
|
return `[${expressions.join(', ')}]`;
|
281
285
|
}
|
282
|
-
case 56 /* Unpack */: {
|
286
|
+
case 56 /* ParseNodeType.Unpack */: {
|
283
287
|
return '*' + printExpression(node.expression, flags);
|
284
288
|
}
|
285
|
-
case 52 /* Tuple */: {
|
289
|
+
case 52 /* ParseNodeType.Tuple */: {
|
286
290
|
const expressions = node.expressions.map((expr) => {
|
287
291
|
return printExpression(expr, flags);
|
288
292
|
});
|
@@ -291,7 +295,7 @@ function printExpression(node, flags = 0 /* None */) {
|
|
291
295
|
}
|
292
296
|
return `(${expressions.join(', ')})`;
|
293
297
|
}
|
294
|
-
case 60 /* Yield */: {
|
298
|
+
case 60 /* ParseNodeType.Yield */: {
|
295
299
|
if (node.expression) {
|
296
300
|
return 'yield ' + printExpression(node.expression, flags);
|
297
301
|
}
|
@@ -299,18 +303,18 @@ function printExpression(node, flags = 0 /* None */) {
|
|
299
303
|
return 'yield';
|
300
304
|
}
|
301
305
|
}
|
302
|
-
case 61 /* YieldFrom */: {
|
306
|
+
case 61 /* ParseNodeType.YieldFrom */: {
|
303
307
|
return 'yield from ' + printExpression(node.expression, flags);
|
304
308
|
}
|
305
|
-
case 18 /* Ellipsis */: {
|
309
|
+
case 18 /* ParseNodeType.Ellipsis */: {
|
306
310
|
return '...';
|
307
311
|
}
|
308
|
-
case 32 /* ListComprehension */: {
|
312
|
+
case 32 /* ParseNodeType.ListComprehension */: {
|
309
313
|
let listStr = '<ListExpression>';
|
310
314
|
if ((0, parseNodes_1.isExpressionNode)(node.expression)) {
|
311
315
|
listStr = printExpression(node.expression, flags);
|
312
316
|
}
|
313
|
-
else if (node.expression.nodeType === 17 /* DictionaryKeyEntry */) {
|
317
|
+
else if (node.expression.nodeType === 17 /* ParseNodeType.DictionaryKeyEntry */) {
|
314
318
|
const keyStr = printExpression(node.expression.keyExpression, flags);
|
315
319
|
const valueStr = printExpression(node.expression.valueExpression, flags);
|
316
320
|
listStr = `${keyStr}: ${valueStr}`;
|
@@ -320,7 +324,7 @@ function printExpression(node, flags = 0 /* None */) {
|
|
320
324
|
' ' +
|
321
325
|
node.forIfNodes
|
322
326
|
.map((expr) => {
|
323
|
-
if (expr.nodeType === 33 /* ListComprehensionFor */) {
|
327
|
+
if (expr.nodeType === 33 /* ParseNodeType.ListComprehensionFor */) {
|
324
328
|
return (`${expr.isAsync ? 'async ' : ''}for ` +
|
325
329
|
printExpression(expr.targetExpression, flags) +
|
326
330
|
` in ${printExpression(expr.iterableExpression, flags)}`);
|
@@ -332,7 +336,7 @@ function printExpression(node, flags = 0 /* None */) {
|
|
332
336
|
.join(' ');
|
333
337
|
return node.isParenthesized ? `(${listStr}})` : listStr;
|
334
338
|
}
|
335
|
-
case 46 /* Slice */: {
|
339
|
+
case 46 /* ParseNodeType.Slice */: {
|
336
340
|
let result = '';
|
337
341
|
if (node.startValue || node.endValue || node.stepValue) {
|
338
342
|
if (node.startValue) {
|
@@ -350,21 +354,21 @@ function printExpression(node, flags = 0 /* None */) {
|
|
350
354
|
}
|
351
355
|
return result;
|
352
356
|
}
|
353
|
-
case 30 /* Lambda */: {
|
357
|
+
case 30 /* ParseNodeType.Lambda */: {
|
354
358
|
return ('lambda ' +
|
355
359
|
node.parameters
|
356
360
|
.map((param) => {
|
357
361
|
let paramStr = '';
|
358
|
-
if (param.category === 1 /* ArgsList */) {
|
362
|
+
if (param.category === 1 /* ParameterCategory.ArgsList */) {
|
359
363
|
paramStr += '*';
|
360
364
|
}
|
361
|
-
else if (param.category === 2 /* KwargsDict */) {
|
365
|
+
else if (param.category === 2 /* ParameterCategory.KwargsDict */) {
|
362
366
|
paramStr += '**';
|
363
367
|
}
|
364
368
|
if (param.name) {
|
365
369
|
paramStr += param.name.value;
|
366
370
|
}
|
367
|
-
else if (param.category === 0 /* Simple */) {
|
371
|
+
else if (param.category === 0 /* ParameterCategory.Simple */) {
|
368
372
|
paramStr += '/';
|
369
373
|
}
|
370
374
|
if (param.defaultValue) {
|
@@ -376,28 +380,28 @@ function printExpression(node, flags = 0 /* None */) {
|
|
376
380
|
': ' +
|
377
381
|
printExpression(node.expression, flags));
|
378
382
|
}
|
379
|
-
case 11 /* Constant */: {
|
380
|
-
if (node.constType === 33 /* True */) {
|
383
|
+
case 11 /* ParseNodeType.Constant */: {
|
384
|
+
if (node.constType === 33 /* KeywordType.True */) {
|
381
385
|
return 'True';
|
382
386
|
}
|
383
|
-
else if (node.constType === 15 /* False */) {
|
387
|
+
else if (node.constType === 15 /* KeywordType.False */) {
|
384
388
|
return 'False';
|
385
389
|
}
|
386
|
-
else if (node.constType === 9 /* Debug */) {
|
390
|
+
else if (node.constType === 9 /* KeywordType.Debug */) {
|
387
391
|
return '__debug__';
|
388
392
|
}
|
389
|
-
else if (node.constType === 26 /* None */) {
|
393
|
+
else if (node.constType === 26 /* KeywordType.None */) {
|
390
394
|
return 'None';
|
391
395
|
}
|
392
396
|
break;
|
393
397
|
}
|
394
|
-
case 15 /* Dictionary */: {
|
398
|
+
case 15 /* ParseNodeType.Dictionary */: {
|
395
399
|
const dictContents = `${node.entries.map((entry) => {
|
396
|
-
if (entry.nodeType === 17 /* DictionaryKeyEntry */) {
|
400
|
+
if (entry.nodeType === 17 /* ParseNodeType.DictionaryKeyEntry */) {
|
397
401
|
return (`${printExpression(entry.keyExpression, flags)}: ` +
|
398
402
|
`${printExpression(entry.valueExpression, flags)}`);
|
399
403
|
}
|
400
|
-
else if (entry.nodeType === 16 /* DictionaryExpandEntry */) {
|
404
|
+
else if (entry.nodeType === 16 /* ParseNodeType.DictionaryExpandEntry */) {
|
401
405
|
return `**${printExpression(entry.expandExpression, flags)}`;
|
402
406
|
}
|
403
407
|
else {
|
@@ -409,7 +413,7 @@ function printExpression(node, flags = 0 /* None */) {
|
|
409
413
|
}
|
410
414
|
return '{}';
|
411
415
|
}
|
412
|
-
case 45 /* Set */: {
|
416
|
+
case 45 /* ParseNodeType.Set */: {
|
413
417
|
return node.entries.map((entry) => printExpression(entry, flags)).join(', ');
|
414
418
|
}
|
415
419
|
}
|
@@ -418,48 +422,48 @@ function printExpression(node, flags = 0 /* None */) {
|
|
418
422
|
exports.printExpression = printExpression;
|
419
423
|
function printOperator(operator) {
|
420
424
|
const operatorMap = {
|
421
|
-
[0 /* Add */]: '+',
|
422
|
-
[1 /* AddEqual */]: '+=',
|
423
|
-
[2 /* Assign */]: '=',
|
424
|
-
[3 /* BitwiseAnd */]: '&',
|
425
|
-
[4 /* BitwiseAndEqual */]: '&=',
|
426
|
-
[5 /* BitwiseInvert */]: '~',
|
427
|
-
[6 /* BitwiseOr */]: '|',
|
428
|
-
[7 /* BitwiseOrEqual */]: '|=',
|
429
|
-
[8 /* BitwiseXor */]: '^',
|
430
|
-
[9 /* BitwiseXorEqual */]: '^=',
|
431
|
-
[10 /* Divide */]: '/',
|
432
|
-
[11 /* DivideEqual */]: '/=',
|
433
|
-
[12 /* Equals */]: '==',
|
434
|
-
[13 /* FloorDivide */]: '//',
|
435
|
-
[14 /* FloorDivideEqual */]: '//=',
|
436
|
-
[15 /* GreaterThan */]: '>',
|
437
|
-
[16 /* GreaterThanOrEqual */]: '>=',
|
438
|
-
[17 /* LeftShift */]: '<<',
|
439
|
-
[18 /* LeftShiftEqual */]: '<<=',
|
440
|
-
[19 /* LessOrGreaterThan */]: '<>',
|
441
|
-
[20 /* LessThan */]: '<',
|
442
|
-
[21 /* LessThanOrEqual */]: '<=',
|
443
|
-
[22 /* MatrixMultiply */]: '@',
|
444
|
-
[23 /* MatrixMultiplyEqual */]: '@=',
|
445
|
-
[24 /* Mod */]: '%',
|
446
|
-
[25 /* ModEqual */]: '%=',
|
447
|
-
[26 /* Multiply */]: '*',
|
448
|
-
[27 /* MultiplyEqual */]: '*=',
|
449
|
-
[28 /* NotEquals */]: '!=',
|
450
|
-
[29 /* Power */]: '**',
|
451
|
-
[30 /* PowerEqual */]: '**=',
|
452
|
-
[31 /* RightShift */]: '>>',
|
453
|
-
[32 /* RightShiftEqual */]: '>>=',
|
454
|
-
[33 /* Subtract */]: '-',
|
455
|
-
[34 /* SubtractEqual */]: '-=',
|
456
|
-
[36 /* And */]: 'and',
|
457
|
-
[37 /* Or */]: 'or',
|
458
|
-
[38 /* Not */]: 'not ',
|
459
|
-
[39 /* Is */]: 'is',
|
460
|
-
[40 /* IsNot */]: 'is not',
|
461
|
-
[41 /* In */]: 'in',
|
462
|
-
[42 /* NotIn */]: 'not in',
|
425
|
+
[0 /* OperatorType.Add */]: '+',
|
426
|
+
[1 /* OperatorType.AddEqual */]: '+=',
|
427
|
+
[2 /* OperatorType.Assign */]: '=',
|
428
|
+
[3 /* OperatorType.BitwiseAnd */]: '&',
|
429
|
+
[4 /* OperatorType.BitwiseAndEqual */]: '&=',
|
430
|
+
[5 /* OperatorType.BitwiseInvert */]: '~',
|
431
|
+
[6 /* OperatorType.BitwiseOr */]: '|',
|
432
|
+
[7 /* OperatorType.BitwiseOrEqual */]: '|=',
|
433
|
+
[8 /* OperatorType.BitwiseXor */]: '^',
|
434
|
+
[9 /* OperatorType.BitwiseXorEqual */]: '^=',
|
435
|
+
[10 /* OperatorType.Divide */]: '/',
|
436
|
+
[11 /* OperatorType.DivideEqual */]: '/=',
|
437
|
+
[12 /* OperatorType.Equals */]: '==',
|
438
|
+
[13 /* OperatorType.FloorDivide */]: '//',
|
439
|
+
[14 /* OperatorType.FloorDivideEqual */]: '//=',
|
440
|
+
[15 /* OperatorType.GreaterThan */]: '>',
|
441
|
+
[16 /* OperatorType.GreaterThanOrEqual */]: '>=',
|
442
|
+
[17 /* OperatorType.LeftShift */]: '<<',
|
443
|
+
[18 /* OperatorType.LeftShiftEqual */]: '<<=',
|
444
|
+
[19 /* OperatorType.LessOrGreaterThan */]: '<>',
|
445
|
+
[20 /* OperatorType.LessThan */]: '<',
|
446
|
+
[21 /* OperatorType.LessThanOrEqual */]: '<=',
|
447
|
+
[22 /* OperatorType.MatrixMultiply */]: '@',
|
448
|
+
[23 /* OperatorType.MatrixMultiplyEqual */]: '@=',
|
449
|
+
[24 /* OperatorType.Mod */]: '%',
|
450
|
+
[25 /* OperatorType.ModEqual */]: '%=',
|
451
|
+
[26 /* OperatorType.Multiply */]: '*',
|
452
|
+
[27 /* OperatorType.MultiplyEqual */]: '*=',
|
453
|
+
[28 /* OperatorType.NotEquals */]: '!=',
|
454
|
+
[29 /* OperatorType.Power */]: '**',
|
455
|
+
[30 /* OperatorType.PowerEqual */]: '**=',
|
456
|
+
[31 /* OperatorType.RightShift */]: '>>',
|
457
|
+
[32 /* OperatorType.RightShiftEqual */]: '>>=',
|
458
|
+
[33 /* OperatorType.Subtract */]: '-',
|
459
|
+
[34 /* OperatorType.SubtractEqual */]: '-=',
|
460
|
+
[36 /* OperatorType.And */]: 'and',
|
461
|
+
[37 /* OperatorType.Or */]: 'or',
|
462
|
+
[38 /* OperatorType.Not */]: 'not ',
|
463
|
+
[39 /* OperatorType.Is */]: 'is',
|
464
|
+
[40 /* OperatorType.IsNot */]: 'is not',
|
465
|
+
[41 /* OperatorType.In */]: 'in',
|
466
|
+
[42 /* OperatorType.NotIn */]: 'not in',
|
463
467
|
};
|
464
468
|
if (operatorMap[operator]) {
|
465
469
|
return operatorMap[operator];
|
@@ -471,12 +475,12 @@ exports.printOperator = printOperator;
|
|
471
475
|
// name in the LHS of a call expression, returns the call node.
|
472
476
|
function getCallForName(node) {
|
473
477
|
var _a, _b, _c;
|
474
|
-
if (((_a = node.parent) === null || _a === void 0 ? void 0 : _a.nodeType) === 9 /* Call */ && node.parent.leftExpression === node) {
|
478
|
+
if (((_a = node.parent) === null || _a === void 0 ? void 0 : _a.nodeType) === 9 /* ParseNodeType.Call */ && node.parent.leftExpression === node) {
|
475
479
|
return node.parent;
|
476
480
|
}
|
477
|
-
if (((_b = node.parent) === null || _b === void 0 ? void 0 : _b.nodeType) === 35 /* MemberAccess */ &&
|
481
|
+
if (((_b = node.parent) === null || _b === void 0 ? void 0 : _b.nodeType) === 35 /* ParseNodeType.MemberAccess */ &&
|
478
482
|
node.parent.memberName === node &&
|
479
|
-
((_c = node.parent.parent) === null || _c === void 0 ? void 0 : _c.nodeType) === 9 /* Call */ &&
|
483
|
+
((_c = node.parent.parent) === null || _c === void 0 ? void 0 : _c.nodeType) === 9 /* ParseNodeType.Call */ &&
|
480
484
|
node.parent.parent.leftExpression === node.parent) {
|
481
485
|
return node.parent.parent;
|
482
486
|
}
|
@@ -485,12 +489,12 @@ function getCallForName(node) {
|
|
485
489
|
exports.getCallForName = getCallForName;
|
486
490
|
function getDecoratorForName(node) {
|
487
491
|
var _a, _b, _c;
|
488
|
-
if (((_a = node.parent) === null || _a === void 0 ? void 0 : _a.nodeType) === 13 /* Decorator */ && node.parent.expression === node) {
|
492
|
+
if (((_a = node.parent) === null || _a === void 0 ? void 0 : _a.nodeType) === 13 /* ParseNodeType.Decorator */ && node.parent.expression === node) {
|
489
493
|
return node.parent;
|
490
494
|
}
|
491
|
-
if (((_b = node.parent) === null || _b === void 0 ? void 0 : _b.nodeType) === 35 /* MemberAccess */ &&
|
495
|
+
if (((_b = node.parent) === null || _b === void 0 ? void 0 : _b.nodeType) === 35 /* ParseNodeType.MemberAccess */ &&
|
492
496
|
node.parent.memberName === node &&
|
493
|
-
((_c = node.parent.parent) === null || _c === void 0 ? void 0 : _c.nodeType) === 13 /* Decorator */ &&
|
497
|
+
((_c = node.parent.parent) === null || _c === void 0 ? void 0 : _c.nodeType) === 13 /* ParseNodeType.Decorator */ &&
|
494
498
|
node.parent.parent.expression === node.parent) {
|
495
499
|
return node.parent.parent;
|
496
500
|
}
|
@@ -500,7 +504,7 @@ exports.getDecoratorForName = getDecoratorForName;
|
|
500
504
|
function getEnclosingSuite(node) {
|
501
505
|
let curNode = node.parent;
|
502
506
|
while (curNode) {
|
503
|
-
if (curNode.nodeType === 50 /* Suite */) {
|
507
|
+
if (curNode.nodeType === 50 /* ParseNodeType.Suite */) {
|
504
508
|
return curNode;
|
505
509
|
}
|
506
510
|
curNode = curNode.parent;
|
@@ -511,13 +515,13 @@ exports.getEnclosingSuite = getEnclosingSuite;
|
|
511
515
|
function getEnclosingClass(node, stopAtFunction = false) {
|
512
516
|
let curNode = node.parent;
|
513
517
|
while (curNode) {
|
514
|
-
if (curNode.nodeType === 10 /* Class */) {
|
518
|
+
if (curNode.nodeType === 10 /* ParseNodeType.Class */) {
|
515
519
|
return curNode;
|
516
520
|
}
|
517
|
-
if (curNode.nodeType === 36 /* Module */) {
|
521
|
+
if (curNode.nodeType === 36 /* ParseNodeType.Module */) {
|
518
522
|
return undefined;
|
519
523
|
}
|
520
|
-
if (curNode.nodeType === 28 /* Function */) {
|
524
|
+
if (curNode.nodeType === 28 /* ParseNodeType.Function */) {
|
521
525
|
if (stopAtFunction) {
|
522
526
|
return undefined;
|
523
527
|
}
|
@@ -530,7 +534,7 @@ exports.getEnclosingClass = getEnclosingClass;
|
|
530
534
|
function getEnclosingModule(node) {
|
531
535
|
let curNode = node.parent;
|
532
536
|
while (curNode) {
|
533
|
-
if (curNode.nodeType === 36 /* Module */) {
|
537
|
+
if (curNode.nodeType === 36 /* ParseNodeType.Module */) {
|
534
538
|
return curNode;
|
535
539
|
}
|
536
540
|
curNode = curNode.parent;
|
@@ -542,13 +546,13 @@ exports.getEnclosingModule = getEnclosingModule;
|
|
542
546
|
function getEnclosingClassOrModule(node, stopAtFunction = false) {
|
543
547
|
let curNode = node.parent;
|
544
548
|
while (curNode) {
|
545
|
-
if (curNode.nodeType === 10 /* Class */) {
|
549
|
+
if (curNode.nodeType === 10 /* ParseNodeType.Class */) {
|
546
550
|
return curNode;
|
547
551
|
}
|
548
|
-
if (curNode.nodeType === 36 /* Module */) {
|
552
|
+
if (curNode.nodeType === 36 /* ParseNodeType.Module */) {
|
549
553
|
return curNode;
|
550
554
|
}
|
551
|
-
if (curNode.nodeType === 28 /* Function */) {
|
555
|
+
if (curNode.nodeType === 28 /* ParseNodeType.Function */) {
|
552
556
|
if (stopAtFunction) {
|
553
557
|
return undefined;
|
554
558
|
}
|
@@ -562,13 +566,13 @@ function getEnclosingFunction(node) {
|
|
562
566
|
let curNode = node.parent;
|
563
567
|
let prevNode;
|
564
568
|
while (curNode) {
|
565
|
-
if (curNode.nodeType === 28 /* Function */) {
|
569
|
+
if (curNode.nodeType === 28 /* ParseNodeType.Function */) {
|
566
570
|
// Don't treat a decorator as being "enclosed" in the function.
|
567
571
|
if (!curNode.decorators.some((decorator) => decorator === prevNode)) {
|
568
572
|
return curNode;
|
569
573
|
}
|
570
574
|
}
|
571
|
-
if (curNode.nodeType === 10 /* Class */) {
|
575
|
+
if (curNode.nodeType === 10 /* ParseNodeType.Class */) {
|
572
576
|
return undefined;
|
573
577
|
}
|
574
578
|
prevNode = curNode;
|
@@ -585,10 +589,10 @@ exports.getEnclosingFunction = getEnclosingFunction;
|
|
585
589
|
function getEnclosingFunctionEvaluationScope(node) {
|
586
590
|
let curNode = getEvaluationScopeNode(node);
|
587
591
|
while (curNode) {
|
588
|
-
if (curNode.nodeType === 28 /* Function */) {
|
592
|
+
if (curNode.nodeType === 28 /* ParseNodeType.Function */) {
|
589
593
|
return curNode;
|
590
594
|
}
|
591
|
-
if (curNode.nodeType === 10 /* Class */ || !curNode.parent) {
|
595
|
+
if (curNode.nodeType === 10 /* ParseNodeType.Class */ || !curNode.parent) {
|
592
596
|
return undefined;
|
593
597
|
}
|
594
598
|
curNode = getEvaluationScopeNode(curNode.parent);
|
@@ -599,10 +603,10 @@ exports.getEnclosingFunctionEvaluationScope = getEnclosingFunctionEvaluationScop
|
|
599
603
|
function getEnclosingLambda(node) {
|
600
604
|
let curNode = node.parent;
|
601
605
|
while (curNode) {
|
602
|
-
if (curNode.nodeType === 30 /* Lambda */) {
|
606
|
+
if (curNode.nodeType === 30 /* ParseNodeType.Lambda */) {
|
603
607
|
return curNode;
|
604
608
|
}
|
605
|
-
if (curNode.nodeType === 50 /* Suite */) {
|
609
|
+
if (curNode.nodeType === 50 /* ParseNodeType.Suite */) {
|
606
610
|
return undefined;
|
607
611
|
}
|
608
612
|
curNode = curNode.parent;
|
@@ -613,10 +617,10 @@ exports.getEnclosingLambda = getEnclosingLambda;
|
|
613
617
|
function getEnclosingClassOrFunction(node) {
|
614
618
|
let curNode = node.parent;
|
615
619
|
while (curNode) {
|
616
|
-
if (curNode.nodeType === 28 /* Function */) {
|
620
|
+
if (curNode.nodeType === 28 /* ParseNodeType.Function */) {
|
617
621
|
return curNode;
|
618
622
|
}
|
619
|
-
if (curNode.nodeType === 10 /* Class */) {
|
623
|
+
if (curNode.nodeType === 10 /* ParseNodeType.Class */) {
|
620
624
|
return curNode;
|
621
625
|
}
|
622
626
|
curNode = curNode.parent;
|
@@ -627,18 +631,18 @@ exports.getEnclosingClassOrFunction = getEnclosingClassOrFunction;
|
|
627
631
|
function getEnclosingSuiteOrModule(node, stopAtFunction = false, stopAtLambda = true) {
|
628
632
|
let curNode = node.parent;
|
629
633
|
while (curNode) {
|
630
|
-
if (curNode.nodeType === 50 /* Suite */) {
|
634
|
+
if (curNode.nodeType === 50 /* ParseNodeType.Suite */) {
|
631
635
|
return curNode;
|
632
636
|
}
|
633
|
-
if (curNode.nodeType === 36 /* Module */) {
|
637
|
+
if (curNode.nodeType === 36 /* ParseNodeType.Module */) {
|
634
638
|
return curNode;
|
635
639
|
}
|
636
|
-
if (curNode.nodeType === 30 /* Lambda */) {
|
640
|
+
if (curNode.nodeType === 30 /* ParseNodeType.Lambda */) {
|
637
641
|
if (stopAtLambda) {
|
638
642
|
return undefined;
|
639
643
|
}
|
640
644
|
}
|
641
|
-
if (curNode.nodeType === 28 /* Function */) {
|
645
|
+
if (curNode.nodeType === 28 /* ParseNodeType.Function */) {
|
642
646
|
if (stopAtFunction) {
|
643
647
|
return undefined;
|
644
648
|
}
|
@@ -656,13 +660,13 @@ function getEvaluationNodeForAssignmentExpression(node) {
|
|
656
660
|
let curNode = getEvaluationScopeNode(node);
|
657
661
|
while (curNode !== undefined) {
|
658
662
|
switch (curNode.nodeType) {
|
659
|
-
case 28 /* Function */:
|
660
|
-
case 30 /* Lambda */:
|
661
|
-
case 36 /* Module */:
|
663
|
+
case 28 /* ParseNodeType.Function */:
|
664
|
+
case 30 /* ParseNodeType.Lambda */:
|
665
|
+
case 36 /* ParseNodeType.Module */:
|
662
666
|
return curNode;
|
663
|
-
case 10 /* Class */:
|
667
|
+
case 10 /* ParseNodeType.Class */:
|
664
668
|
return sawListComprehension ? undefined : curNode;
|
665
|
-
case 32 /* ListComprehension */:
|
669
|
+
case 32 /* ParseNodeType.ListComprehension */:
|
666
670
|
sawListComprehension = true;
|
667
671
|
curNode = getEvaluationScopeNode(curNode.parent);
|
668
672
|
break;
|
@@ -681,7 +685,7 @@ function getEvaluationScopeNode(node) {
|
|
681
685
|
let curNode = node;
|
682
686
|
let isParamNameNode = false;
|
683
687
|
while (curNode) {
|
684
|
-
if (curNode.nodeType === 41 /* Parameter */ && prevNode === curNode.name) {
|
688
|
+
if (curNode.nodeType === 41 /* ParseNodeType.Parameter */ && prevNode === curNode.name) {
|
685
689
|
// Note that we passed through a parameter name node.
|
686
690
|
isParamNameNode = true;
|
687
691
|
}
|
@@ -689,7 +693,7 @@ function getEvaluationScopeNode(node) {
|
|
689
693
|
// we'll return this scope, but in a few cases we need to return
|
690
694
|
// the enclosing scope instead.
|
691
695
|
switch (curNode.nodeType) {
|
692
|
-
case 28 /* Function */: {
|
696
|
+
case 28 /* ParseNodeType.Function */: {
|
693
697
|
if (curNode.parameters.some((param) => param === prevNode)) {
|
694
698
|
if (isParamNameNode) {
|
695
699
|
if ((0, analyzerNodeInfo_1.getScope)(curNode) !== undefined) {
|
@@ -704,7 +708,7 @@ function getEvaluationScopeNode(node) {
|
|
704
708
|
}
|
705
709
|
break;
|
706
710
|
}
|
707
|
-
case 30 /* Lambda */: {
|
711
|
+
case 30 /* ParseNodeType.Lambda */: {
|
708
712
|
if (curNode.parameters.some((param) => param === prevNode)) {
|
709
713
|
if (isParamNameNode) {
|
710
714
|
if ((0, analyzerNodeInfo_1.getScope)(curNode) !== undefined) {
|
@@ -719,7 +723,7 @@ function getEvaluationScopeNode(node) {
|
|
719
723
|
}
|
720
724
|
break;
|
721
725
|
}
|
722
|
-
case 10 /* Class */: {
|
726
|
+
case 10 /* ParseNodeType.Class */: {
|
723
727
|
if (prevNode === curNode.suite) {
|
724
728
|
if ((0, analyzerNodeInfo_1.getScope)(curNode) !== undefined) {
|
725
729
|
return curNode;
|
@@ -727,12 +731,12 @@ function getEvaluationScopeNode(node) {
|
|
727
731
|
}
|
728
732
|
break;
|
729
733
|
}
|
730
|
-
case 32 /* ListComprehension */: {
|
734
|
+
case 32 /* ParseNodeType.ListComprehension */: {
|
731
735
|
if ((0, analyzerNodeInfo_1.getScope)(curNode) !== undefined) {
|
732
736
|
// The iterable expression of the first subnode of a list comprehension
|
733
737
|
// is evaluated within the scope of its parent.
|
734
738
|
const isFirstIterableExpr = prevNode === curNode.forIfNodes[0] &&
|
735
|
-
curNode.forIfNodes[0].nodeType === 33 /* ListComprehensionFor */ &&
|
739
|
+
curNode.forIfNodes[0].nodeType === 33 /* ParseNodeType.ListComprehensionFor */ &&
|
736
740
|
curNode.forIfNodes[0].iterableExpression === prevPrevNode;
|
737
741
|
if (!isFirstIterableExpr) {
|
738
742
|
return curNode;
|
@@ -740,7 +744,7 @@ function getEvaluationScopeNode(node) {
|
|
740
744
|
}
|
741
745
|
break;
|
742
746
|
}
|
743
|
-
case 36 /* Module */: {
|
747
|
+
case 36 /* ParseNodeType.Module */: {
|
744
748
|
if ((0, analyzerNodeInfo_1.getScope)(curNode) !== undefined) {
|
745
749
|
return curNode;
|
746
750
|
}
|
@@ -762,19 +766,19 @@ function getTypeVarScopeNode(node) {
|
|
762
766
|
let curNode = node;
|
763
767
|
while (curNode) {
|
764
768
|
switch (curNode.nodeType) {
|
765
|
-
case 28 /* Function */: {
|
769
|
+
case 28 /* ParseNodeType.Function */: {
|
766
770
|
if (!curNode.decorators.some((decorator) => decorator === prevNode)) {
|
767
771
|
return curNode;
|
768
772
|
}
|
769
773
|
break;
|
770
774
|
}
|
771
|
-
case 10 /* Class */: {
|
775
|
+
case 10 /* ParseNodeType.Class */: {
|
772
776
|
if (!curNode.decorators.some((decorator) => decorator === prevNode)) {
|
773
777
|
return curNode;
|
774
778
|
}
|
775
779
|
break;
|
776
780
|
}
|
777
|
-
case 77 /* TypeAlias */: {
|
781
|
+
case 77 /* ParseNodeType.TypeAlias */: {
|
778
782
|
return curNode;
|
779
783
|
}
|
780
784
|
}
|
@@ -791,8 +795,8 @@ function getExecutionScopeNode(node) {
|
|
791
795
|
// Classes are not considered execution scope because they are executed
|
792
796
|
// within the context of their containing module or function. Likewise, list
|
793
797
|
// comprehensions are executed within their container.
|
794
|
-
while (evaluationScope.nodeType === 10 /* Class */ ||
|
795
|
-
evaluationScope.nodeType === 32 /* ListComprehension */) {
|
798
|
+
while (evaluationScope.nodeType === 10 /* ParseNodeType.Class */ ||
|
799
|
+
evaluationScope.nodeType === 32 /* ParseNodeType.ListComprehension */) {
|
796
800
|
evaluationScope = getEvaluationScopeNode(evaluationScope.parent);
|
797
801
|
}
|
798
802
|
return evaluationScope;
|
@@ -804,7 +808,7 @@ function getTypeAnnotationNode(node) {
|
|
804
808
|
let prevNode = node;
|
805
809
|
let curNode = node.parent;
|
806
810
|
while (curNode) {
|
807
|
-
if (curNode.nodeType === 54 /* TypeAnnotation */) {
|
811
|
+
if (curNode.nodeType === 54 /* ParseNodeType.TypeAnnotation */) {
|
808
812
|
if (curNode.typeAnnotation === prevNode) {
|
809
813
|
return curNode;
|
810
814
|
}
|
@@ -820,8 +824,8 @@ exports.getTypeAnnotationNode = getTypeAnnotationNode;
|
|
820
824
|
// left-to-right order. There is one exception, however, when an unpacked
|
821
825
|
// iterable is used after a keyword argument.
|
822
826
|
function getArgumentsByRuntimeOrder(node) {
|
823
|
-
const positionalArgs = node.arguments.filter((arg) => !arg.name && arg.argumentCategory !== 2 /* UnpackedDictionary */);
|
824
|
-
const keywordArgs = node.arguments.filter((arg) => !!arg.name || arg.argumentCategory === 2 /* UnpackedDictionary */);
|
827
|
+
const positionalArgs = node.arguments.filter((arg) => !arg.name && arg.argumentCategory !== 2 /* ArgumentCategory.UnpackedDictionary */);
|
828
|
+
const keywordArgs = node.arguments.filter((arg) => !!arg.name || arg.argumentCategory === 2 /* ArgumentCategory.UnpackedDictionary */);
|
825
829
|
return positionalArgs.concat(keywordArgs);
|
826
830
|
}
|
827
831
|
exports.getArgumentsByRuntimeOrder = getArgumentsByRuntimeOrder;
|
@@ -830,13 +834,13 @@ exports.getArgumentsByRuntimeOrder = getArgumentsByRuntimeOrder;
|
|
830
834
|
// whether Final is allowed for the specified node.
|
831
835
|
function isFinalAllowedForAssignmentTarget(targetNode) {
|
832
836
|
// Simple names always support Final.
|
833
|
-
if (targetNode.nodeType === 38 /* Name */) {
|
837
|
+
if (targetNode.nodeType === 38 /* ParseNodeType.Name */) {
|
834
838
|
return true;
|
835
839
|
}
|
836
840
|
// Member access expressions like "self.x" are permitted only
|
837
841
|
// within __init__ methods.
|
838
|
-
if (targetNode.nodeType === 35 /* MemberAccess */) {
|
839
|
-
if (targetNode.leftExpression.nodeType !== 38 /* Name */) {
|
842
|
+
if (targetNode.nodeType === 35 /* ParseNodeType.MemberAccess */) {
|
843
|
+
if (targetNode.leftExpression.nodeType !== 38 /* ParseNodeType.Name */) {
|
840
844
|
return false;
|
841
845
|
}
|
842
846
|
const classNode = getEnclosingClass(targetNode);
|
@@ -899,31 +903,31 @@ function getParentAnnotationNode(node) {
|
|
899
903
|
let curNode = node;
|
900
904
|
let prevNode;
|
901
905
|
while (curNode) {
|
902
|
-
if (curNode.nodeType === 28 /* Function */) {
|
906
|
+
if (curNode.nodeType === 28 /* ParseNodeType.Function */) {
|
903
907
|
if (prevNode === curNode.returnTypeAnnotation) {
|
904
908
|
return prevNode;
|
905
909
|
}
|
906
910
|
return undefined;
|
907
911
|
}
|
908
|
-
if (curNode.nodeType === 41 /* Parameter */) {
|
912
|
+
if (curNode.nodeType === 41 /* ParseNodeType.Parameter */) {
|
909
913
|
if (prevNode === curNode.typeAnnotation || prevNode === curNode.typeAnnotationComment) {
|
910
914
|
return prevNode;
|
911
915
|
}
|
912
916
|
return undefined;
|
913
917
|
}
|
914
|
-
if (curNode.nodeType === 3 /* Assignment */) {
|
918
|
+
if (curNode.nodeType === 3 /* ParseNodeType.Assignment */) {
|
915
919
|
if (prevNode === curNode.typeAnnotationComment) {
|
916
920
|
return prevNode;
|
917
921
|
}
|
918
922
|
return undefined;
|
919
923
|
}
|
920
|
-
if (curNode.nodeType === 54 /* TypeAnnotation */) {
|
924
|
+
if (curNode.nodeType === 54 /* ParseNodeType.TypeAnnotation */) {
|
921
925
|
if (prevNode === curNode.typeAnnotation) {
|
922
926
|
return prevNode;
|
923
927
|
}
|
924
928
|
return undefined;
|
925
929
|
}
|
926
|
-
if (curNode.nodeType === 62 /* FunctionAnnotation */) {
|
930
|
+
if (curNode.nodeType === 62 /* ParseNodeType.FunctionAnnotation */) {
|
927
931
|
if (prevNode === curNode.returnTypeAnnotation || curNode.paramTypeAnnotations.some((p) => p === prevNode)) {
|
928
932
|
(0, debug_1.assert)(!prevNode || (0, parseNodes_1.isExpressionNode)(prevNode));
|
929
933
|
return prevNode;
|
@@ -943,13 +947,13 @@ exports.isNodeContainedWithinNodeType = isNodeContainedWithinNodeType;
|
|
943
947
|
function isSuiteEmpty(node) {
|
944
948
|
let sawEllipsis = false;
|
945
949
|
for (const statement of node.statements) {
|
946
|
-
if (statement.nodeType === 47 /* StatementList */) {
|
950
|
+
if (statement.nodeType === 47 /* ParseNodeType.StatementList */) {
|
947
951
|
for (const substatement of statement.statements) {
|
948
|
-
if (substatement.nodeType === 18 /* Ellipsis */) {
|
952
|
+
if (substatement.nodeType === 18 /* ParseNodeType.Ellipsis */) {
|
949
953
|
// Allow an ellipsis
|
950
954
|
sawEllipsis = true;
|
951
955
|
}
|
952
|
-
else if (substatement.nodeType === 48 /* StringList */) {
|
956
|
+
else if (substatement.nodeType === 48 /* ParseNodeType.StringList */) {
|
953
957
|
// Allow doc strings
|
954
958
|
}
|
955
959
|
else {
|
@@ -978,61 +982,61 @@ function containsAwaitNode(node) {
|
|
978
982
|
}
|
979
983
|
exports.containsAwaitNode = containsAwaitNode;
|
980
984
|
function isMatchingExpression(reference, expression) {
|
981
|
-
if (reference.nodeType === 38 /* Name */) {
|
982
|
-
if (expression.nodeType === 38 /* Name */) {
|
985
|
+
if (reference.nodeType === 38 /* ParseNodeType.Name */) {
|
986
|
+
if (expression.nodeType === 38 /* ParseNodeType.Name */) {
|
983
987
|
return reference.value === expression.value;
|
984
988
|
}
|
985
|
-
else if (expression.nodeType === 4 /* AssignmentExpression */) {
|
989
|
+
else if (expression.nodeType === 4 /* ParseNodeType.AssignmentExpression */) {
|
986
990
|
return reference.value === expression.name.value;
|
987
991
|
}
|
988
992
|
return false;
|
989
993
|
}
|
990
|
-
else if (reference.nodeType === 35 /* MemberAccess */ &&
|
991
|
-
expression.nodeType === 35 /* MemberAccess */) {
|
994
|
+
else if (reference.nodeType === 35 /* ParseNodeType.MemberAccess */ &&
|
995
|
+
expression.nodeType === 35 /* ParseNodeType.MemberAccess */) {
|
992
996
|
return (isMatchingExpression(reference.leftExpression, expression.leftExpression) &&
|
993
997
|
reference.memberName.value === expression.memberName.value);
|
994
998
|
}
|
995
|
-
else if (reference.nodeType === 24 /* Index */ && expression.nodeType === 24 /* Index */) {
|
999
|
+
else if (reference.nodeType === 24 /* ParseNodeType.Index */ && expression.nodeType === 24 /* ParseNodeType.Index */) {
|
996
1000
|
if (!isMatchingExpression(reference.baseExpression, expression.baseExpression)) {
|
997
1001
|
return false;
|
998
1002
|
}
|
999
1003
|
if (expression.items.length !== 1 ||
|
1000
1004
|
expression.trailingComma ||
|
1001
1005
|
expression.items[0].name ||
|
1002
|
-
expression.items[0].argumentCategory !== 0 /* Simple */) {
|
1006
|
+
expression.items[0].argumentCategory !== 0 /* ArgumentCategory.Simple */) {
|
1003
1007
|
return false;
|
1004
1008
|
}
|
1005
1009
|
const expr = reference.items[0].valueExpression;
|
1006
|
-
if (expr.nodeType === 40 /* Number */) {
|
1010
|
+
if (expr.nodeType === 40 /* ParseNodeType.Number */) {
|
1007
1011
|
const subscriptNode = expression.items[0].valueExpression;
|
1008
|
-
if (subscriptNode.nodeType !== 40 /* Number */ ||
|
1012
|
+
if (subscriptNode.nodeType !== 40 /* ParseNodeType.Number */ ||
|
1009
1013
|
subscriptNode.isImaginary ||
|
1010
1014
|
!subscriptNode.isInteger) {
|
1011
1015
|
return false;
|
1012
1016
|
}
|
1013
1017
|
return expr.value === subscriptNode.value;
|
1014
1018
|
}
|
1015
|
-
if (expr.nodeType === 55 /* UnaryOperation */ &&
|
1016
|
-
expr.operator === 33 /* Subtract */ &&
|
1017
|
-
expr.expression.nodeType === 40 /* Number */) {
|
1019
|
+
if (expr.nodeType === 55 /* ParseNodeType.UnaryOperation */ &&
|
1020
|
+
expr.operator === 33 /* OperatorType.Subtract */ &&
|
1021
|
+
expr.expression.nodeType === 40 /* ParseNodeType.Number */) {
|
1018
1022
|
const subscriptNode = expression.items[0].valueExpression;
|
1019
|
-
if (subscriptNode.nodeType !== 55 /* UnaryOperation */ ||
|
1020
|
-
subscriptNode.operator !== 33 /* Subtract */ ||
|
1021
|
-
subscriptNode.expression.nodeType !== 40 /* Number */ ||
|
1023
|
+
if (subscriptNode.nodeType !== 55 /* ParseNodeType.UnaryOperation */ ||
|
1024
|
+
subscriptNode.operator !== 33 /* OperatorType.Subtract */ ||
|
1025
|
+
subscriptNode.expression.nodeType !== 40 /* ParseNodeType.Number */ ||
|
1022
1026
|
subscriptNode.expression.isImaginary ||
|
1023
1027
|
!subscriptNode.expression.isInteger) {
|
1024
1028
|
return false;
|
1025
1029
|
}
|
1026
1030
|
return expr.expression.value === subscriptNode.expression.value;
|
1027
1031
|
}
|
1028
|
-
if (expr.nodeType === 48 /* StringList */) {
|
1032
|
+
if (expr.nodeType === 48 /* ParseNodeType.StringList */) {
|
1029
1033
|
const referenceStringListNode = expr;
|
1030
1034
|
const subscriptNode = expression.items[0].valueExpression;
|
1031
1035
|
if (referenceStringListNode.strings.length === 1 &&
|
1032
|
-
referenceStringListNode.strings[0].nodeType === 49 /* String */ &&
|
1033
|
-
subscriptNode.nodeType === 48 /* StringList */ &&
|
1036
|
+
referenceStringListNode.strings[0].nodeType === 49 /* ParseNodeType.String */ &&
|
1037
|
+
subscriptNode.nodeType === 48 /* ParseNodeType.StringList */ &&
|
1034
1038
|
subscriptNode.strings.length === 1 &&
|
1035
|
-
subscriptNode.strings[0].nodeType === 49 /* String */) {
|
1039
|
+
subscriptNode.strings[0].nodeType === 49 /* ParseNodeType.String */) {
|
1036
1040
|
return referenceStringListNode.strings[0].value === subscriptNode.strings[0].value;
|
1037
1041
|
}
|
1038
1042
|
}
|
@@ -1042,11 +1046,11 @@ function isMatchingExpression(reference, expression) {
|
|
1042
1046
|
}
|
1043
1047
|
exports.isMatchingExpression = isMatchingExpression;
|
1044
1048
|
function isPartialMatchingExpression(reference, expression) {
|
1045
|
-
if (reference.nodeType === 35 /* MemberAccess */) {
|
1049
|
+
if (reference.nodeType === 35 /* ParseNodeType.MemberAccess */) {
|
1046
1050
|
return (isMatchingExpression(reference.leftExpression, expression) ||
|
1047
1051
|
isPartialMatchingExpression(reference.leftExpression, expression));
|
1048
1052
|
}
|
1049
|
-
else if (reference.nodeType === 24 /* Index */) {
|
1053
|
+
else if (reference.nodeType === 24 /* ParseNodeType.Index */) {
|
1050
1054
|
return (isMatchingExpression(reference.baseExpression, expression) ||
|
1051
1055
|
isPartialMatchingExpression(reference.baseExpression, expression));
|
1052
1056
|
}
|
@@ -1057,13 +1061,13 @@ function isWithinDefaultParamInitializer(node) {
|
|
1057
1061
|
let curNode = node;
|
1058
1062
|
let prevNode;
|
1059
1063
|
while (curNode) {
|
1060
|
-
if (curNode.nodeType === 41 /* Parameter */ && prevNode === curNode.defaultValue) {
|
1064
|
+
if (curNode.nodeType === 41 /* ParseNodeType.Parameter */ && prevNode === curNode.defaultValue) {
|
1061
1065
|
return true;
|
1062
1066
|
}
|
1063
|
-
if (curNode.nodeType === 30 /* Lambda */ ||
|
1064
|
-
curNode.nodeType === 28 /* Function */ ||
|
1065
|
-
curNode.nodeType === 10 /* Class */ ||
|
1066
|
-
curNode.nodeType === 36 /* Module */) {
|
1067
|
+
if (curNode.nodeType === 30 /* ParseNodeType.Lambda */ ||
|
1068
|
+
curNode.nodeType === 28 /* ParseNodeType.Function */ ||
|
1069
|
+
curNode.nodeType === 10 /* ParseNodeType.Class */ ||
|
1070
|
+
curNode.nodeType === 36 /* ParseNodeType.Module */) {
|
1067
1071
|
return false;
|
1068
1072
|
}
|
1069
1073
|
prevNode = curNode;
|
@@ -1077,33 +1081,33 @@ function isWithinTypeAnnotation(node, requireQuotedAnnotation) {
|
|
1077
1081
|
let prevNode;
|
1078
1082
|
let isQuoted = false;
|
1079
1083
|
while (curNode) {
|
1080
|
-
if (curNode.nodeType === 41 /* Parameter */ &&
|
1084
|
+
if (curNode.nodeType === 41 /* ParseNodeType.Parameter */ &&
|
1081
1085
|
(prevNode === curNode.typeAnnotation || prevNode === curNode.typeAnnotationComment)) {
|
1082
1086
|
return isQuoted || !requireQuotedAnnotation;
|
1083
1087
|
}
|
1084
|
-
if (curNode.nodeType === 28 /* Function */ && prevNode === curNode.returnTypeAnnotation) {
|
1088
|
+
if (curNode.nodeType === 28 /* ParseNodeType.Function */ && prevNode === curNode.returnTypeAnnotation) {
|
1085
1089
|
return isQuoted || !requireQuotedAnnotation;
|
1086
1090
|
}
|
1087
|
-
if (curNode.nodeType === 28 /* Function */ && prevNode === curNode.functionAnnotationComment) {
|
1091
|
+
if (curNode.nodeType === 28 /* ParseNodeType.Function */ && prevNode === curNode.functionAnnotationComment) {
|
1088
1092
|
// Type comments are always considered forward declarations even though
|
1089
1093
|
// they're not "quoted".
|
1090
1094
|
return true;
|
1091
1095
|
}
|
1092
|
-
if (curNode.nodeType === 54 /* TypeAnnotation */ && prevNode === curNode.typeAnnotation) {
|
1096
|
+
if (curNode.nodeType === 54 /* ParseNodeType.TypeAnnotation */ && prevNode === curNode.typeAnnotation) {
|
1093
1097
|
return isQuoted || !requireQuotedAnnotation;
|
1094
1098
|
}
|
1095
|
-
if (curNode.nodeType === 3 /* Assignment */ && prevNode === curNode.typeAnnotationComment) {
|
1099
|
+
if (curNode.nodeType === 3 /* ParseNodeType.Assignment */ && prevNode === curNode.typeAnnotationComment) {
|
1096
1100
|
// Type comments are always considered forward declarations even though
|
1097
1101
|
// they're not "quoted".
|
1098
1102
|
return true;
|
1099
1103
|
}
|
1100
|
-
if (curNode.nodeType === 48 /* StringList */ && prevNode === curNode.typeAnnotation) {
|
1104
|
+
if (curNode.nodeType === 48 /* ParseNodeType.StringList */ && prevNode === curNode.typeAnnotation) {
|
1101
1105
|
isQuoted = true;
|
1102
1106
|
}
|
1103
|
-
if (curNode.nodeType === 30 /* Lambda */ ||
|
1104
|
-
curNode.nodeType === 28 /* Function */ ||
|
1105
|
-
curNode.nodeType === 10 /* Class */ ||
|
1106
|
-
curNode.nodeType === 36 /* Module */) {
|
1107
|
+
if (curNode.nodeType === 30 /* ParseNodeType.Lambda */ ||
|
1108
|
+
curNode.nodeType === 28 /* ParseNodeType.Function */ ||
|
1109
|
+
curNode.nodeType === 10 /* ParseNodeType.Class */ ||
|
1110
|
+
curNode.nodeType === 36 /* ParseNodeType.Module */) {
|
1107
1111
|
return false;
|
1108
1112
|
}
|
1109
1113
|
prevNode = curNode;
|
@@ -1116,20 +1120,20 @@ function isWithinAnnotationComment(node) {
|
|
1116
1120
|
let curNode = node;
|
1117
1121
|
let prevNode;
|
1118
1122
|
while (curNode) {
|
1119
|
-
if (curNode.nodeType === 28 /* Function */ && prevNode === curNode.functionAnnotationComment) {
|
1123
|
+
if (curNode.nodeType === 28 /* ParseNodeType.Function */ && prevNode === curNode.functionAnnotationComment) {
|
1120
1124
|
// Type comments are always considered forward declarations even though
|
1121
1125
|
// they're not "quoted".
|
1122
1126
|
return true;
|
1123
1127
|
}
|
1124
|
-
if (curNode.nodeType === 3 /* Assignment */ && prevNode === curNode.typeAnnotationComment) {
|
1128
|
+
if (curNode.nodeType === 3 /* ParseNodeType.Assignment */ && prevNode === curNode.typeAnnotationComment) {
|
1125
1129
|
// Type comments are always considered forward declarations even though
|
1126
1130
|
// they're not "quoted".
|
1127
1131
|
return true;
|
1128
1132
|
}
|
1129
|
-
if (curNode.nodeType === 30 /* Lambda */ ||
|
1130
|
-
curNode.nodeType === 28 /* Function */ ||
|
1131
|
-
curNode.nodeType === 10 /* Class */ ||
|
1132
|
-
curNode.nodeType === 36 /* Module */) {
|
1133
|
+
if (curNode.nodeType === 30 /* ParseNodeType.Lambda */ ||
|
1134
|
+
curNode.nodeType === 28 /* ParseNodeType.Function */ ||
|
1135
|
+
curNode.nodeType === 10 /* ParseNodeType.Class */ ||
|
1136
|
+
curNode.nodeType === 36 /* ParseNodeType.Module */) {
|
1133
1137
|
return false;
|
1134
1138
|
}
|
1135
1139
|
prevNode = curNode;
|
@@ -1142,11 +1146,11 @@ function isWithinLoop(node) {
|
|
1142
1146
|
let curNode = node;
|
1143
1147
|
while (curNode) {
|
1144
1148
|
switch (curNode.nodeType) {
|
1145
|
-
case 26 /* For */:
|
1146
|
-
case 57 /* While */: {
|
1149
|
+
case 26 /* ParseNodeType.For */:
|
1150
|
+
case 57 /* ParseNodeType.While */: {
|
1147
1151
|
return true;
|
1148
1152
|
}
|
1149
|
-
case 36 /* Module */: {
|
1153
|
+
case 36 /* ParseNodeType.Module */: {
|
1150
1154
|
break;
|
1151
1155
|
}
|
1152
1156
|
}
|
@@ -1160,18 +1164,18 @@ function isWithinTryBlock(node, treatWithAsTryBlock = false) {
|
|
1160
1164
|
let prevNode;
|
1161
1165
|
while (curNode) {
|
1162
1166
|
switch (curNode.nodeType) {
|
1163
|
-
case 53 /* Try */: {
|
1167
|
+
case 53 /* ParseNodeType.Try */: {
|
1164
1168
|
return curNode.trySuite === prevNode;
|
1165
1169
|
}
|
1166
|
-
case 58 /* With */: {
|
1170
|
+
case 58 /* ParseNodeType.With */: {
|
1167
1171
|
if (treatWithAsTryBlock && curNode.suite === prevNode) {
|
1168
1172
|
return true;
|
1169
1173
|
}
|
1170
1174
|
break;
|
1171
1175
|
}
|
1172
|
-
case 28 /* Function */:
|
1173
|
-
case 36 /* Module */:
|
1174
|
-
case 10 /* Class */: {
|
1176
|
+
case 28 /* ParseNodeType.Function */:
|
1177
|
+
case 36 /* ParseNodeType.Module */:
|
1178
|
+
case 10 /* ParseNodeType.Class */: {
|
1175
1179
|
return false;
|
1176
1180
|
}
|
1177
1181
|
}
|
@@ -1186,7 +1190,7 @@ function isWithinAssertExpression(node) {
|
|
1186
1190
|
let prevNode;
|
1187
1191
|
while (curNode) {
|
1188
1192
|
switch (curNode.nodeType) {
|
1189
|
-
case 2 /* Assert */: {
|
1193
|
+
case 2 /* ParseNodeType.Assert */: {
|
1190
1194
|
return curNode.testExpression === prevNode;
|
1191
1195
|
}
|
1192
1196
|
}
|
@@ -1201,7 +1205,7 @@ function getDocString(statements) {
|
|
1201
1205
|
if (statements.length === 0) {
|
1202
1206
|
return undefined;
|
1203
1207
|
}
|
1204
|
-
if (statements[0].nodeType !== 47 /* StatementList */) {
|
1208
|
+
if (statements[0].nodeType !== 47 /* ParseNodeType.StatementList */) {
|
1205
1209
|
return undefined;
|
1206
1210
|
}
|
1207
1211
|
if (!isDocString(statements[0])) {
|
@@ -1218,7 +1222,7 @@ exports.getDocString = getDocString;
|
|
1218
1222
|
function isDocString(statementList) {
|
1219
1223
|
// If the first statement in the suite isn't a StringNode,
|
1220
1224
|
// assume there is no docString.
|
1221
|
-
if (statementList.statements.length === 0 || statementList.statements[0].nodeType !== 48 /* StringList */) {
|
1225
|
+
if (statementList.statements.length === 0 || statementList.statements[0].nodeType !== 48 /* ParseNodeType.StringList */) {
|
1222
1226
|
return false;
|
1223
1227
|
}
|
1224
1228
|
// A docstring can consist of multiple joined strings in a single expression.
|
@@ -1227,7 +1231,7 @@ function isDocString(statementList) {
|
|
1227
1231
|
return false;
|
1228
1232
|
}
|
1229
1233
|
// Any f-strings invalidate the entire docstring.
|
1230
|
-
if (strings.some((n) => n.nodeType === 27 /* FormatString */)) {
|
1234
|
+
if (strings.some((n) => n.nodeType === 27 /* ParseNodeType.FormatString */)) {
|
1231
1235
|
return false;
|
1232
1236
|
}
|
1233
1237
|
// It's up to the user to convert normalize/convert this as needed.
|
@@ -1241,20 +1245,20 @@ exports.isDocString = isDocString;
|
|
1241
1245
|
// not specified in the original list.
|
1242
1246
|
function isAssignmentToDefaultsFollowingNamedTuple(callNode) {
|
1243
1247
|
var _a, _b;
|
1244
|
-
if (callNode.nodeType !== 9 /* Call */ ||
|
1248
|
+
if (callNode.nodeType !== 9 /* ParseNodeType.Call */ ||
|
1245
1249
|
!callNode.parent ||
|
1246
|
-
callNode.parent.nodeType !== 3 /* Assignment */ ||
|
1247
|
-
callNode.parent.leftExpression.nodeType !== 38 /* Name */ ||
|
1250
|
+
callNode.parent.nodeType !== 3 /* ParseNodeType.Assignment */ ||
|
1251
|
+
callNode.parent.leftExpression.nodeType !== 38 /* ParseNodeType.Name */ ||
|
1248
1252
|
!callNode.parent.parent ||
|
1249
|
-
callNode.parent.parent.nodeType !== 47 /* StatementList */) {
|
1253
|
+
callNode.parent.parent.nodeType !== 47 /* ParseNodeType.StatementList */) {
|
1250
1254
|
return false;
|
1251
1255
|
}
|
1252
1256
|
const namedTupleAssignedName = callNode.parent.leftExpression.value;
|
1253
1257
|
const statementList = callNode.parent.parent;
|
1254
1258
|
if (statementList.statements[0] !== callNode.parent ||
|
1255
1259
|
!statementList.parent ||
|
1256
|
-
!(statementList.parent.nodeType === 36 /* Module */ ||
|
1257
|
-
statementList.parent.nodeType === 50 /* Suite */)) {
|
1260
|
+
!(statementList.parent.nodeType === 36 /* ParseNodeType.Module */ ||
|
1261
|
+
statementList.parent.nodeType === 50 /* ParseNodeType.Suite */)) {
|
1258
1262
|
return false;
|
1259
1263
|
}
|
1260
1264
|
const moduleOrSuite = statementList.parent;
|
@@ -1265,22 +1269,22 @@ function isAssignmentToDefaultsFollowingNamedTuple(callNode) {
|
|
1265
1269
|
statementIndex++;
|
1266
1270
|
while (statementIndex < moduleOrSuite.statements.length) {
|
1267
1271
|
const nextStatement = moduleOrSuite.statements[statementIndex];
|
1268
|
-
if (nextStatement.nodeType !== 47 /* StatementList */) {
|
1272
|
+
if (nextStatement.nodeType !== 47 /* ParseNodeType.StatementList */) {
|
1269
1273
|
break;
|
1270
1274
|
}
|
1271
|
-
if (((_a = nextStatement.statements[0]) === null || _a === void 0 ? void 0 : _a.nodeType) === 48 /* StringList */) {
|
1275
|
+
if (((_a = nextStatement.statements[0]) === null || _a === void 0 ? void 0 : _a.nodeType) === 48 /* ParseNodeType.StringList */) {
|
1272
1276
|
// Skip over comments
|
1273
1277
|
statementIndex++;
|
1274
1278
|
continue;
|
1275
1279
|
}
|
1276
|
-
if (((_b = nextStatement.statements[0]) === null || _b === void 0 ? void 0 : _b.nodeType) === 3 /* Assignment */) {
|
1280
|
+
if (((_b = nextStatement.statements[0]) === null || _b === void 0 ? void 0 : _b.nodeType) === 3 /* ParseNodeType.Assignment */) {
|
1277
1281
|
const assignNode = nextStatement.statements[0];
|
1278
|
-
if (assignNode.leftExpression.nodeType === 35 /* MemberAccess */ &&
|
1282
|
+
if (assignNode.leftExpression.nodeType === 35 /* ParseNodeType.MemberAccess */ &&
|
1279
1283
|
assignNode.leftExpression.memberName.value === '__defaults__') {
|
1280
1284
|
const defaultTarget = assignNode.leftExpression.leftExpression;
|
1281
|
-
if (defaultTarget.nodeType === 35 /* MemberAccess */ &&
|
1285
|
+
if (defaultTarget.nodeType === 35 /* ParseNodeType.MemberAccess */ &&
|
1282
1286
|
defaultTarget.memberName.value === '__new__' &&
|
1283
|
-
defaultTarget.leftExpression.nodeType === 38 /* Name */ &&
|
1287
|
+
defaultTarget.leftExpression.nodeType === 38 /* ParseNodeType.Name */ &&
|
1284
1288
|
defaultTarget.leftExpression.value === namedTupleAssignedName) {
|
1285
1289
|
return true;
|
1286
1290
|
}
|
@@ -1331,10 +1335,10 @@ exports.CallNodeWalker = CallNodeWalker;
|
|
1331
1335
|
function getEnclosingParameter(node) {
|
1332
1336
|
let curNode = node;
|
1333
1337
|
while (curNode) {
|
1334
|
-
if (curNode.nodeType === 41 /* Parameter */) {
|
1338
|
+
if (curNode.nodeType === 41 /* ParseNodeType.Parameter */) {
|
1335
1339
|
return curNode;
|
1336
1340
|
}
|
1337
|
-
if (curNode.nodeType === 28 /* Function */) {
|
1341
|
+
if (curNode.nodeType === 28 /* ParseNodeType.Function */) {
|
1338
1342
|
return undefined;
|
1339
1343
|
}
|
1340
1344
|
curNode = curNode.parent;
|
@@ -1348,7 +1352,7 @@ function getCallNodeAndActiveParameterIndex(node, insertionOffset, tokens) {
|
|
1348
1352
|
let callNode;
|
1349
1353
|
while (curNode !== undefined) {
|
1350
1354
|
// make sure we only look at callNodes when we are inside their arguments
|
1351
|
-
if (curNode.nodeType === 9 /* Call */) {
|
1355
|
+
if (curNode.nodeType === 9 /* ParseNodeType.Call */) {
|
1352
1356
|
if (isOffsetInsideCallArgs(tokens, curNode, insertionOffset)) {
|
1353
1357
|
callNode = curNode;
|
1354
1358
|
break;
|
@@ -1364,7 +1368,7 @@ function getCallNodeAndActiveParameterIndex(node, insertionOffset, tokens) {
|
|
1364
1368
|
return undefined;
|
1365
1369
|
}
|
1366
1370
|
const tokenAtEnd = getTokenAt(tokens, endPosition - 1);
|
1367
|
-
if (insertionOffset === endPosition && (tokenAtEnd === null || tokenAtEnd === void 0 ? void 0 : tokenAtEnd.type) === 14 /* CloseParenthesis */) {
|
1371
|
+
if (insertionOffset === endPosition && (tokenAtEnd === null || tokenAtEnd === void 0 ? void 0 : tokenAtEnd.type) === 14 /* TokenType.CloseParenthesis */) {
|
1368
1372
|
return undefined;
|
1369
1373
|
}
|
1370
1374
|
let addedActive = false;
|
@@ -1388,8 +1392,8 @@ function getCallNodeAndActiveParameterIndex(node, insertionOffset, tokens) {
|
|
1388
1392
|
for (let i = endTokenIndex; i < tokens.count; i++) {
|
1389
1393
|
const tok = tokens.getItemAt(i);
|
1390
1394
|
switch (tok.type) {
|
1391
|
-
case 12 /* Comma */:
|
1392
|
-
case 14 /* CloseParenthesis */:
|
1395
|
+
case 12 /* TokenType.Comma */:
|
1396
|
+
case 14 /* TokenType.CloseParenthesis */:
|
1393
1397
|
break;
|
1394
1398
|
default:
|
1395
1399
|
continue;
|
@@ -1431,7 +1435,7 @@ function getCallNodeAndActiveParameterIndex(node, insertionOffset, tokens) {
|
|
1431
1435
|
return true;
|
1432
1436
|
}
|
1433
1437
|
const nextToken = tokens.getItemAt(index + 1);
|
1434
|
-
if (nextToken.type === 13 /* OpenParenthesis */ && offset < textRange_1.TextRange.getEnd(nextToken)) {
|
1438
|
+
if (nextToken.type === 13 /* TokenType.OpenParenthesis */ && offset < textRange_1.TextRange.getEnd(nextToken)) {
|
1435
1439
|
// Position must be after '('.
|
1436
1440
|
return false;
|
1437
1441
|
}
|
@@ -1468,7 +1472,7 @@ function getTokenAtLeft(tokens, position, includeWhitespace = false, includeZero
|
|
1468
1472
|
}
|
1469
1473
|
exports.getTokenAtLeft = getTokenAtLeft;
|
1470
1474
|
function isWhitespace(token) {
|
1471
|
-
return token.type === 2 /* NewLine */ || token.type === 3 /* Indent */ || token.type === 4 /* Dedent */;
|
1475
|
+
return token.type === 2 /* TokenType.NewLine */ || token.type === 3 /* TokenType.Indent */ || token.type === 4 /* TokenType.Dedent */;
|
1472
1476
|
}
|
1473
1477
|
exports.isWhitespace = isWhitespace;
|
1474
1478
|
function getTokenAtIndex(tokens, index) {
|
@@ -1508,161 +1512,161 @@ function findTokenAfter(parseResults, offset, predicate) {
|
|
1508
1512
|
exports.findTokenAfter = findTokenAfter;
|
1509
1513
|
function printParseNodeType(type) {
|
1510
1514
|
switch (type) {
|
1511
|
-
case 0 /* Error */:
|
1515
|
+
case 0 /* ParseNodeType.Error */:
|
1512
1516
|
return 'Error';
|
1513
|
-
case 1 /* Argument */:
|
1517
|
+
case 1 /* ParseNodeType.Argument */:
|
1514
1518
|
return 'Argument';
|
1515
|
-
case 2 /* Assert */:
|
1519
|
+
case 2 /* ParseNodeType.Assert */:
|
1516
1520
|
return 'Assert';
|
1517
|
-
case 3 /* Assignment */:
|
1521
|
+
case 3 /* ParseNodeType.Assignment */:
|
1518
1522
|
return 'Assignment';
|
1519
|
-
case 4 /* AssignmentExpression */:
|
1523
|
+
case 4 /* ParseNodeType.AssignmentExpression */:
|
1520
1524
|
return 'AssignmentExpression';
|
1521
|
-
case 5 /* AugmentedAssignment */:
|
1525
|
+
case 5 /* ParseNodeType.AugmentedAssignment */:
|
1522
1526
|
return 'AugmentedAssignment';
|
1523
|
-
case 6 /* Await */:
|
1527
|
+
case 6 /* ParseNodeType.Await */:
|
1524
1528
|
return 'Await';
|
1525
|
-
case 7 /* BinaryOperation */:
|
1529
|
+
case 7 /* ParseNodeType.BinaryOperation */:
|
1526
1530
|
return 'BinaryOperation';
|
1527
|
-
case 8 /* Break */:
|
1531
|
+
case 8 /* ParseNodeType.Break */:
|
1528
1532
|
return 'Break';
|
1529
|
-
case 9 /* Call */:
|
1533
|
+
case 9 /* ParseNodeType.Call */:
|
1530
1534
|
return 'Call';
|
1531
|
-
case 10 /* Class */:
|
1535
|
+
case 10 /* ParseNodeType.Class */:
|
1532
1536
|
return 'Class';
|
1533
|
-
case 11 /* Constant */:
|
1537
|
+
case 11 /* ParseNodeType.Constant */:
|
1534
1538
|
return 'Constant';
|
1535
|
-
case 12 /* Continue */:
|
1539
|
+
case 12 /* ParseNodeType.Continue */:
|
1536
1540
|
return 'Continue';
|
1537
|
-
case 13 /* Decorator */:
|
1541
|
+
case 13 /* ParseNodeType.Decorator */:
|
1538
1542
|
return 'Decorator';
|
1539
|
-
case 14 /* Del */:
|
1543
|
+
case 14 /* ParseNodeType.Del */:
|
1540
1544
|
return 'Del';
|
1541
|
-
case 15 /* Dictionary */:
|
1545
|
+
case 15 /* ParseNodeType.Dictionary */:
|
1542
1546
|
return 'Dictionary';
|
1543
|
-
case 16 /* DictionaryExpandEntry */:
|
1547
|
+
case 16 /* ParseNodeType.DictionaryExpandEntry */:
|
1544
1548
|
return 'DictionaryExpandEntry';
|
1545
|
-
case 17 /* DictionaryKeyEntry */:
|
1549
|
+
case 17 /* ParseNodeType.DictionaryKeyEntry */:
|
1546
1550
|
return 'DictionaryKeyEntry';
|
1547
|
-
case 18 /* Ellipsis */:
|
1551
|
+
case 18 /* ParseNodeType.Ellipsis */:
|
1548
1552
|
return 'Ellipsis';
|
1549
|
-
case 19 /* If */:
|
1553
|
+
case 19 /* ParseNodeType.If */:
|
1550
1554
|
return 'If';
|
1551
|
-
case 20 /* Import */:
|
1555
|
+
case 20 /* ParseNodeType.Import */:
|
1552
1556
|
return 'Import';
|
1553
|
-
case 21 /* ImportAs */:
|
1557
|
+
case 21 /* ParseNodeType.ImportAs */:
|
1554
1558
|
return 'ImportAs';
|
1555
|
-
case 22 /* ImportFrom */:
|
1559
|
+
case 22 /* ParseNodeType.ImportFrom */:
|
1556
1560
|
return 'ImportFrom';
|
1557
|
-
case 23 /* ImportFromAs */:
|
1561
|
+
case 23 /* ParseNodeType.ImportFromAs */:
|
1558
1562
|
return 'ImportFromAs';
|
1559
|
-
case 24 /* Index */:
|
1563
|
+
case 24 /* ParseNodeType.Index */:
|
1560
1564
|
return 'Index';
|
1561
|
-
case 25 /* Except */:
|
1565
|
+
case 25 /* ParseNodeType.Except */:
|
1562
1566
|
return 'Except';
|
1563
|
-
case 26 /* For */:
|
1567
|
+
case 26 /* ParseNodeType.For */:
|
1564
1568
|
return 'For';
|
1565
|
-
case 27 /* FormatString */:
|
1569
|
+
case 27 /* ParseNodeType.FormatString */:
|
1566
1570
|
return 'FormatString';
|
1567
|
-
case 28 /* Function */:
|
1571
|
+
case 28 /* ParseNodeType.Function */:
|
1568
1572
|
return 'Function';
|
1569
|
-
case 29 /* Global */:
|
1573
|
+
case 29 /* ParseNodeType.Global */:
|
1570
1574
|
return 'Global';
|
1571
|
-
case 30 /* Lambda */:
|
1575
|
+
case 30 /* ParseNodeType.Lambda */:
|
1572
1576
|
return 'Lambda';
|
1573
|
-
case 31 /* List */:
|
1577
|
+
case 31 /* ParseNodeType.List */:
|
1574
1578
|
return 'List';
|
1575
|
-
case 32 /* ListComprehension */:
|
1579
|
+
case 32 /* ParseNodeType.ListComprehension */:
|
1576
1580
|
return 'ListComprehension';
|
1577
|
-
case 33 /* ListComprehensionFor */:
|
1581
|
+
case 33 /* ParseNodeType.ListComprehensionFor */:
|
1578
1582
|
return 'ListComprehensionFor';
|
1579
|
-
case 34 /* ListComprehensionIf */:
|
1583
|
+
case 34 /* ParseNodeType.ListComprehensionIf */:
|
1580
1584
|
return 'ListComprehensionIf';
|
1581
|
-
case 35 /* MemberAccess */:
|
1585
|
+
case 35 /* ParseNodeType.MemberAccess */:
|
1582
1586
|
return 'MemberAccess';
|
1583
|
-
case 36 /* Module */:
|
1587
|
+
case 36 /* ParseNodeType.Module */:
|
1584
1588
|
return 'Module';
|
1585
|
-
case 37 /* ModuleName */:
|
1589
|
+
case 37 /* ParseNodeType.ModuleName */:
|
1586
1590
|
return 'ModuleName';
|
1587
|
-
case 38 /* Name */:
|
1591
|
+
case 38 /* ParseNodeType.Name */:
|
1588
1592
|
return 'Name';
|
1589
|
-
case 39 /* Nonlocal */:
|
1593
|
+
case 39 /* ParseNodeType.Nonlocal */:
|
1590
1594
|
return 'Nonlocal';
|
1591
|
-
case 40 /* Number */:
|
1595
|
+
case 40 /* ParseNodeType.Number */:
|
1592
1596
|
return 'Number';
|
1593
|
-
case 41 /* Parameter */:
|
1597
|
+
case 41 /* ParseNodeType.Parameter */:
|
1594
1598
|
return 'Parameter';
|
1595
|
-
case 42 /* Pass */:
|
1599
|
+
case 42 /* ParseNodeType.Pass */:
|
1596
1600
|
return 'Pass';
|
1597
|
-
case 43 /* Raise */:
|
1601
|
+
case 43 /* ParseNodeType.Raise */:
|
1598
1602
|
return 'Raise';
|
1599
|
-
case 44 /* Return */:
|
1603
|
+
case 44 /* ParseNodeType.Return */:
|
1600
1604
|
return 'Return';
|
1601
|
-
case 45 /* Set */:
|
1605
|
+
case 45 /* ParseNodeType.Set */:
|
1602
1606
|
return 'Set';
|
1603
|
-
case 46 /* Slice */:
|
1607
|
+
case 46 /* ParseNodeType.Slice */:
|
1604
1608
|
return 'Slice';
|
1605
|
-
case 47 /* StatementList */:
|
1609
|
+
case 47 /* ParseNodeType.StatementList */:
|
1606
1610
|
return 'StatementList';
|
1607
|
-
case 48 /* StringList */:
|
1611
|
+
case 48 /* ParseNodeType.StringList */:
|
1608
1612
|
return 'StringList';
|
1609
|
-
case 49 /* String */:
|
1613
|
+
case 49 /* ParseNodeType.String */:
|
1610
1614
|
return 'String';
|
1611
|
-
case 50 /* Suite */:
|
1615
|
+
case 50 /* ParseNodeType.Suite */:
|
1612
1616
|
return 'Suite';
|
1613
|
-
case 51 /* Ternary */:
|
1617
|
+
case 51 /* ParseNodeType.Ternary */:
|
1614
1618
|
return 'Ternary';
|
1615
|
-
case 52 /* Tuple */:
|
1619
|
+
case 52 /* ParseNodeType.Tuple */:
|
1616
1620
|
return 'Tuple';
|
1617
|
-
case 53 /* Try */:
|
1621
|
+
case 53 /* ParseNodeType.Try */:
|
1618
1622
|
return 'Try';
|
1619
|
-
case 54 /* TypeAnnotation */:
|
1623
|
+
case 54 /* ParseNodeType.TypeAnnotation */:
|
1620
1624
|
return 'TypeAnnotation';
|
1621
|
-
case 55 /* UnaryOperation */:
|
1625
|
+
case 55 /* ParseNodeType.UnaryOperation */:
|
1622
1626
|
return 'UnaryOperation';
|
1623
|
-
case 56 /* Unpack */:
|
1627
|
+
case 56 /* ParseNodeType.Unpack */:
|
1624
1628
|
return 'Unpack';
|
1625
|
-
case 57 /* While */:
|
1629
|
+
case 57 /* ParseNodeType.While */:
|
1626
1630
|
return 'While';
|
1627
|
-
case 58 /* With */:
|
1631
|
+
case 58 /* ParseNodeType.With */:
|
1628
1632
|
return 'With';
|
1629
|
-
case 59 /* WithItem */:
|
1633
|
+
case 59 /* ParseNodeType.WithItem */:
|
1630
1634
|
return 'WithItem';
|
1631
|
-
case 60 /* Yield */:
|
1635
|
+
case 60 /* ParseNodeType.Yield */:
|
1632
1636
|
return 'Yield';
|
1633
|
-
case 61 /* YieldFrom */:
|
1637
|
+
case 61 /* ParseNodeType.YieldFrom */:
|
1634
1638
|
return 'YieldFrom';
|
1635
|
-
case 62 /* FunctionAnnotation */:
|
1639
|
+
case 62 /* ParseNodeType.FunctionAnnotation */:
|
1636
1640
|
return 'FunctionAnnotation';
|
1637
|
-
case 63 /* Match */:
|
1641
|
+
case 63 /* ParseNodeType.Match */:
|
1638
1642
|
return 'Match';
|
1639
|
-
case 64 /* Case */:
|
1643
|
+
case 64 /* ParseNodeType.Case */:
|
1640
1644
|
return 'Case';
|
1641
|
-
case 65 /* PatternSequence */:
|
1645
|
+
case 65 /* ParseNodeType.PatternSequence */:
|
1642
1646
|
return 'PatternSequence';
|
1643
|
-
case 66 /* PatternAs */:
|
1647
|
+
case 66 /* ParseNodeType.PatternAs */:
|
1644
1648
|
return 'PatternAs';
|
1645
|
-
case 67 /* PatternLiteral */:
|
1649
|
+
case 67 /* ParseNodeType.PatternLiteral */:
|
1646
1650
|
return 'PatternLiteral';
|
1647
|
-
case 68 /* PatternClass */:
|
1651
|
+
case 68 /* ParseNodeType.PatternClass */:
|
1648
1652
|
return 'PatternClass';
|
1649
|
-
case 69 /* PatternCapture */:
|
1653
|
+
case 69 /* ParseNodeType.PatternCapture */:
|
1650
1654
|
return 'PatternCapture';
|
1651
|
-
case 70 /* PatternMapping */:
|
1655
|
+
case 70 /* ParseNodeType.PatternMapping */:
|
1652
1656
|
return 'PatternMapping';
|
1653
|
-
case 71 /* PatternMappingKeyEntry */:
|
1657
|
+
case 71 /* ParseNodeType.PatternMappingKeyEntry */:
|
1654
1658
|
return 'PatternMappingKeyEntry';
|
1655
|
-
case 72 /* PatternMappingExpandEntry */:
|
1659
|
+
case 72 /* ParseNodeType.PatternMappingExpandEntry */:
|
1656
1660
|
return 'PatternMappingExpandEntry';
|
1657
|
-
case 73 /* PatternValue */:
|
1661
|
+
case 73 /* ParseNodeType.PatternValue */:
|
1658
1662
|
return 'PatternValue';
|
1659
|
-
case 74 /* PatternClassArgument */:
|
1663
|
+
case 74 /* ParseNodeType.PatternClassArgument */:
|
1660
1664
|
return 'PatternClassArgument';
|
1661
|
-
case 75 /* TypeParameter */:
|
1665
|
+
case 75 /* ParseNodeType.TypeParameter */:
|
1662
1666
|
return 'TypeParameter';
|
1663
|
-
case 76 /* TypeParameterList */:
|
1667
|
+
case 76 /* ParseNodeType.TypeParameterList */:
|
1664
1668
|
return 'TypeParameterList';
|
1665
|
-
case 77 /* TypeAlias */:
|
1669
|
+
case 77 /* ParseNodeType.TypeAlias */:
|
1666
1670
|
return 'TypeAlias';
|
1667
1671
|
}
|
1668
1672
|
(0, debug_1.assertNever)(type);
|
@@ -1673,52 +1677,52 @@ function isWriteAccess(node) {
|
|
1673
1677
|
let curNode = prevNode.parent;
|
1674
1678
|
while (curNode) {
|
1675
1679
|
switch (curNode.nodeType) {
|
1676
|
-
case 3 /* Assignment */: {
|
1680
|
+
case 3 /* ParseNodeType.Assignment */: {
|
1677
1681
|
return prevNode === curNode.leftExpression;
|
1678
1682
|
}
|
1679
|
-
case 5 /* AugmentedAssignment */: {
|
1683
|
+
case 5 /* ParseNodeType.AugmentedAssignment */: {
|
1680
1684
|
return prevNode === curNode.leftExpression;
|
1681
1685
|
}
|
1682
|
-
case 4 /* AssignmentExpression */: {
|
1686
|
+
case 4 /* ParseNodeType.AssignmentExpression */: {
|
1683
1687
|
return prevNode === curNode.name;
|
1684
1688
|
}
|
1685
|
-
case 14 /* Del */: {
|
1689
|
+
case 14 /* ParseNodeType.Del */: {
|
1686
1690
|
return true;
|
1687
1691
|
}
|
1688
|
-
case 26 /* For */: {
|
1692
|
+
case 26 /* ParseNodeType.For */: {
|
1689
1693
|
return prevNode === curNode.targetExpression;
|
1690
1694
|
}
|
1691
|
-
case 21 /* ImportAs */: {
|
1695
|
+
case 21 /* ParseNodeType.ImportAs */: {
|
1692
1696
|
return (prevNode === curNode.alias ||
|
1693
1697
|
(curNode.module.nameParts.length > 0 && prevNode === curNode.module.nameParts[0]));
|
1694
1698
|
}
|
1695
|
-
case 23 /* ImportFromAs */: {
|
1699
|
+
case 23 /* ParseNodeType.ImportFromAs */: {
|
1696
1700
|
return prevNode === curNode.alias || (!curNode.alias && prevNode === curNode.name);
|
1697
1701
|
}
|
1698
|
-
case 35 /* MemberAccess */: {
|
1702
|
+
case 35 /* ParseNodeType.MemberAccess */: {
|
1699
1703
|
if (prevNode !== curNode.memberName) {
|
1700
1704
|
return false;
|
1701
1705
|
}
|
1702
1706
|
break;
|
1703
1707
|
}
|
1704
|
-
case 25 /* Except */: {
|
1708
|
+
case 25 /* ParseNodeType.Except */: {
|
1705
1709
|
return prevNode === curNode.name;
|
1706
1710
|
}
|
1707
|
-
case 58 /* With */: {
|
1711
|
+
case 58 /* ParseNodeType.With */: {
|
1708
1712
|
return curNode.withItems.some((item) => item === prevNode);
|
1709
1713
|
}
|
1710
|
-
case 33 /* ListComprehensionFor */: {
|
1714
|
+
case 33 /* ParseNodeType.ListComprehensionFor */: {
|
1711
1715
|
return prevNode === curNode.targetExpression;
|
1712
1716
|
}
|
1713
|
-
case 54 /* TypeAnnotation */: {
|
1717
|
+
case 54 /* ParseNodeType.TypeAnnotation */: {
|
1714
1718
|
if (prevNode === curNode.typeAnnotation) {
|
1715
1719
|
return false;
|
1716
1720
|
}
|
1717
1721
|
break;
|
1718
1722
|
}
|
1719
|
-
case 28 /* Function */:
|
1720
|
-
case 10 /* Class */:
|
1721
|
-
case 36 /* Module */: {
|
1723
|
+
case 28 /* ParseNodeType.Function */:
|
1724
|
+
case 10 /* ParseNodeType.Class */:
|
1725
|
+
case 36 /* ParseNodeType.Module */: {
|
1722
1726
|
return false;
|
1723
1727
|
}
|
1724
1728
|
}
|
@@ -1730,7 +1734,7 @@ function isWriteAccess(node) {
|
|
1730
1734
|
exports.isWriteAccess = isWriteAccess;
|
1731
1735
|
function getModuleNode(node) {
|
1732
1736
|
let current = node;
|
1733
|
-
while (current && current.nodeType !== 36 /* Module */) {
|
1737
|
+
while (current && current.nodeType !== 36 /* ParseNodeType.Module */) {
|
1734
1738
|
current = current.parent;
|
1735
1739
|
}
|
1736
1740
|
return current;
|
@@ -1744,15 +1748,15 @@ exports.getFileInfoFromNode = getFileInfoFromNode;
|
|
1744
1748
|
function isFunctionSuiteEmpty(node) {
|
1745
1749
|
let isEmpty = true;
|
1746
1750
|
node.suite.statements.forEach((statement) => {
|
1747
|
-
if (statement.nodeType === 0 /* Error */) {
|
1751
|
+
if (statement.nodeType === 0 /* ParseNodeType.Error */) {
|
1748
1752
|
return;
|
1749
1753
|
}
|
1750
|
-
else if (statement.nodeType === 47 /* StatementList */) {
|
1754
|
+
else if (statement.nodeType === 47 /* ParseNodeType.StatementList */) {
|
1751
1755
|
statement.statements.forEach((subStatement) => {
|
1752
1756
|
// Allow docstrings, ellipsis, and pass statements.
|
1753
|
-
if (subStatement.nodeType !== 18 /* Ellipsis */ &&
|
1754
|
-
subStatement.nodeType !== 48 /* StringList */ &&
|
1755
|
-
subStatement.nodeType !== 42 /* Pass */) {
|
1757
|
+
if (subStatement.nodeType !== 18 /* ParseNodeType.Ellipsis */ &&
|
1758
|
+
subStatement.nodeType !== 48 /* ParseNodeType.StringList */ &&
|
1759
|
+
subStatement.nodeType !== 42 /* ParseNodeType.Pass */) {
|
1756
1760
|
isEmpty = false;
|
1757
1761
|
}
|
1758
1762
|
});
|
@@ -1792,32 +1796,32 @@ function getTypeAnnotationForParameter(node, paramIndex) {
|
|
1792
1796
|
exports.getTypeAnnotationForParameter = getTypeAnnotationForParameter;
|
1793
1797
|
function isImportModuleName(node) {
|
1794
1798
|
var _a, _b;
|
1795
|
-
return ((_b = (_a = getFirstAncestorOrSelfOfKind(node, 37 /* ModuleName */)) === null || _a === void 0 ? void 0 : _a.parent) === null || _b === void 0 ? void 0 : _b.nodeType) === 21 /* ImportAs */;
|
1799
|
+
return ((_b = (_a = getFirstAncestorOrSelfOfKind(node, 37 /* ParseNodeType.ModuleName */)) === null || _a === void 0 ? void 0 : _a.parent) === null || _b === void 0 ? void 0 : _b.nodeType) === 21 /* ParseNodeType.ImportAs */;
|
1796
1800
|
}
|
1797
1801
|
exports.isImportModuleName = isImportModuleName;
|
1798
1802
|
function isImportAlias(node) {
|
1799
1803
|
var _a;
|
1800
|
-
return ((_a = node.parent) === null || _a === void 0 ? void 0 : _a.nodeType) === 21 /* ImportAs */ && node.parent.alias === node;
|
1804
|
+
return ((_a = node.parent) === null || _a === void 0 ? void 0 : _a.nodeType) === 21 /* ParseNodeType.ImportAs */ && node.parent.alias === node;
|
1801
1805
|
}
|
1802
1806
|
exports.isImportAlias = isImportAlias;
|
1803
1807
|
function isFromImportModuleName(node) {
|
1804
1808
|
var _a, _b;
|
1805
|
-
return ((_b = (_a = getFirstAncestorOrSelfOfKind(node, 37 /* ModuleName */)) === null || _a === void 0 ? void 0 : _a.parent) === null || _b === void 0 ? void 0 : _b.nodeType) === 22 /* ImportFrom */;
|
1809
|
+
return ((_b = (_a = getFirstAncestorOrSelfOfKind(node, 37 /* ParseNodeType.ModuleName */)) === null || _a === void 0 ? void 0 : _a.parent) === null || _b === void 0 ? void 0 : _b.nodeType) === 22 /* ParseNodeType.ImportFrom */;
|
1806
1810
|
}
|
1807
1811
|
exports.isFromImportModuleName = isFromImportModuleName;
|
1808
1812
|
function isFromImportName(node) {
|
1809
1813
|
var _a;
|
1810
|
-
return ((_a = node.parent) === null || _a === void 0 ? void 0 : _a.nodeType) === 23 /* ImportFromAs */ && node.parent.name === node;
|
1814
|
+
return ((_a = node.parent) === null || _a === void 0 ? void 0 : _a.nodeType) === 23 /* ParseNodeType.ImportFromAs */ && node.parent.name === node;
|
1811
1815
|
}
|
1812
1816
|
exports.isFromImportName = isFromImportName;
|
1813
1817
|
function isFromImportAlias(node) {
|
1814
1818
|
var _a;
|
1815
|
-
return ((_a = node.parent) === null || _a === void 0 ? void 0 : _a.nodeType) === 23 /* ImportFromAs */ && node.parent.alias === node;
|
1819
|
+
return ((_a = node.parent) === null || _a === void 0 ? void 0 : _a.nodeType) === 23 /* ParseNodeType.ImportFromAs */ && node.parent.alias === node;
|
1816
1820
|
}
|
1817
1821
|
exports.isFromImportAlias = isFromImportAlias;
|
1818
1822
|
function isLastNameOfModuleName(node) {
|
1819
1823
|
var _a;
|
1820
|
-
if (((_a = node.parent) === null || _a === void 0 ? void 0 : _a.nodeType) !== 37 /* ModuleName */) {
|
1824
|
+
if (((_a = node.parent) === null || _a === void 0 ? void 0 : _a.nodeType) !== 37 /* ParseNodeType.ModuleName */) {
|
1821
1825
|
return false;
|
1822
1826
|
}
|
1823
1827
|
const module = node.parent;
|
@@ -1855,7 +1859,7 @@ function getDottedNameWithGivenNodeAsLastName(node) {
|
|
1855
1859
|
// MemberAccess (ex, a.b.c)
|
1856
1860
|
// MemberAccess Name
|
1857
1861
|
// Name Name
|
1858
|
-
if (((_a = node.parent) === null || _a === void 0 ? void 0 : _a.nodeType) !== 35 /* MemberAccess */) {
|
1862
|
+
if (((_a = node.parent) === null || _a === void 0 ? void 0 : _a.nodeType) !== 35 /* ParseNodeType.MemberAccess */) {
|
1859
1863
|
return node;
|
1860
1864
|
}
|
1861
1865
|
if (node.parent.leftExpression === node) {
|
@@ -1875,10 +1879,10 @@ exports.getDottedNameWithGivenNodeAsLastName = getDottedNameWithGivenNodeAsLastN
|
|
1875
1879
|
function getDecoratorName(decorator) {
|
1876
1880
|
function getExpressionName(node) {
|
1877
1881
|
var _a;
|
1878
|
-
if (node.nodeType === 38 /* Name */ || node.nodeType === 35 /* MemberAccess */) {
|
1882
|
+
if (node.nodeType === 38 /* ParseNodeType.Name */ || node.nodeType === 35 /* ParseNodeType.MemberAccess */) {
|
1879
1883
|
return (_a = getDottedName(node)) === null || _a === void 0 ? void 0 : _a.map((n) => n.value).join('.');
|
1880
1884
|
}
|
1881
|
-
if (node.nodeType === 9 /* Call */) {
|
1885
|
+
if (node.nodeType === 9 /* ParseNodeType.Call */) {
|
1882
1886
|
return getExpressionName(node.leftExpression);
|
1883
1887
|
}
|
1884
1888
|
return undefined;
|
@@ -1889,7 +1893,7 @@ exports.getDecoratorName = getDecoratorName;
|
|
1889
1893
|
function getDottedName(node) {
|
1890
1894
|
// ex) [a] or [a].b
|
1891
1895
|
// simple case, [a]
|
1892
|
-
if (node.nodeType === 38 /* Name */) {
|
1896
|
+
if (node.nodeType === 38 /* ParseNodeType.Name */) {
|
1893
1897
|
return [node];
|
1894
1898
|
}
|
1895
1899
|
// dotted name case.
|
@@ -1899,13 +1903,13 @@ function getDottedName(node) {
|
|
1899
1903
|
}
|
1900
1904
|
return undefined;
|
1901
1905
|
function _getDottedName(node, names) {
|
1902
|
-
if (node.nodeType === 38 /* Name */) {
|
1906
|
+
if (node.nodeType === 38 /* ParseNodeType.Name */) {
|
1903
1907
|
names.push(node);
|
1904
1908
|
return true;
|
1905
1909
|
}
|
1906
1910
|
names.push(node.memberName);
|
1907
|
-
if (node.leftExpression.nodeType === 38 /* Name */ ||
|
1908
|
-
node.leftExpression.nodeType === 35 /* MemberAccess */) {
|
1911
|
+
if (node.leftExpression.nodeType === 38 /* ParseNodeType.Name */ ||
|
1912
|
+
node.leftExpression.nodeType === 35 /* ParseNodeType.MemberAccess */) {
|
1909
1913
|
return _getDottedName(node.leftExpression, names);
|
1910
1914
|
}
|
1911
1915
|
return false;
|
@@ -1914,11 +1918,11 @@ function getDottedName(node) {
|
|
1914
1918
|
exports.getDottedName = getDottedName;
|
1915
1919
|
function getFirstNameOfDottedName(node) {
|
1916
1920
|
// ex) [a] or [a].b
|
1917
|
-
if (node.nodeType === 38 /* Name */) {
|
1921
|
+
if (node.nodeType === 38 /* ParseNodeType.Name */) {
|
1918
1922
|
return node;
|
1919
1923
|
}
|
1920
|
-
if (node.leftExpression.nodeType === 38 /* Name */ ||
|
1921
|
-
node.leftExpression.nodeType === 35 /* MemberAccess */) {
|
1924
|
+
if (node.leftExpression.nodeType === 38 /* ParseNodeType.Name */ ||
|
1925
|
+
node.leftExpression.nodeType === 35 /* ParseNodeType.MemberAccess */) {
|
1922
1926
|
return getFirstNameOfDottedName(node.leftExpression);
|
1923
1927
|
}
|
1924
1928
|
return undefined;
|
@@ -1927,7 +1931,7 @@ exports.getFirstNameOfDottedName = getFirstNameOfDottedName;
|
|
1927
1931
|
function isFirstNameOfDottedName(node) {
|
1928
1932
|
var _a;
|
1929
1933
|
// ex) [A] or [A].B.C.D
|
1930
|
-
if (((_a = node.parent) === null || _a === void 0 ? void 0 : _a.nodeType) !== 35 /* MemberAccess */) {
|
1934
|
+
if (((_a = node.parent) === null || _a === void 0 ? void 0 : _a.nodeType) !== 35 /* ParseNodeType.MemberAccess */) {
|
1931
1935
|
return true;
|
1932
1936
|
}
|
1933
1937
|
if (node.parent.leftExpression === node) {
|
@@ -1939,17 +1943,17 @@ exports.isFirstNameOfDottedName = isFirstNameOfDottedName;
|
|
1939
1943
|
function isLastNameOfDottedName(node) {
|
1940
1944
|
var _a, _b;
|
1941
1945
|
// ex) A or D.C.B.[A]
|
1942
|
-
if (((_a = node.parent) === null || _a === void 0 ? void 0 : _a.nodeType) !== 35 /* MemberAccess */) {
|
1946
|
+
if (((_a = node.parent) === null || _a === void 0 ? void 0 : _a.nodeType) !== 35 /* ParseNodeType.MemberAccess */) {
|
1943
1947
|
return true;
|
1944
1948
|
}
|
1945
|
-
if (node.parent.leftExpression.nodeType !== 38 /* Name */ &&
|
1946
|
-
node.parent.leftExpression.nodeType !== 35 /* MemberAccess */) {
|
1949
|
+
if (node.parent.leftExpression.nodeType !== 38 /* ParseNodeType.Name */ &&
|
1950
|
+
node.parent.leftExpression.nodeType !== 35 /* ParseNodeType.MemberAccess */) {
|
1947
1951
|
return false;
|
1948
1952
|
}
|
1949
1953
|
if (node.parent.leftExpression === node) {
|
1950
1954
|
return false;
|
1951
1955
|
}
|
1952
|
-
return ((_b = node.parent.parent) === null || _b === void 0 ? void 0 : _b.nodeType) !== 35 /* MemberAccess */;
|
1956
|
+
return ((_b = node.parent.parent) === null || _b === void 0 ? void 0 : _b.nodeType) !== 35 /* ParseNodeType.MemberAccess */;
|
1953
1957
|
}
|
1954
1958
|
exports.isLastNameOfDottedName = isLastNameOfDottedName;
|
1955
1959
|
function getStringNodeValueRange(node) {
|
@@ -1958,7 +1962,7 @@ function getStringNodeValueRange(node) {
|
|
1958
1962
|
exports.getStringNodeValueRange = getStringNodeValueRange;
|
1959
1963
|
function getStringValueRange(token) {
|
1960
1964
|
const length = token.quoteMarkLength;
|
1961
|
-
const hasEnding = !(token.flags & 65536 /* Unterminated */);
|
1965
|
+
const hasEnding = !(token.flags & 65536 /* StringTokenFlags.Unterminated */);
|
1962
1966
|
return textRange_1.TextRange.create(token.start + length, token.length - length - (hasEnding ? length : 0));
|
1963
1967
|
}
|
1964
1968
|
exports.getStringValueRange = getStringValueRange;
|
@@ -2011,20 +2015,20 @@ function isValidLocationForFutureImport(node) {
|
|
2011
2015
|
(0, debug_1.assert)(module);
|
2012
2016
|
let sawDocString = false;
|
2013
2017
|
for (const statement of module.statements) {
|
2014
|
-
if (statement.nodeType !== 47 /* StatementList */) {
|
2018
|
+
if (statement.nodeType !== 47 /* ParseNodeType.StatementList */) {
|
2015
2019
|
return false;
|
2016
2020
|
}
|
2017
2021
|
for (const simpleStatement of statement.statements) {
|
2018
2022
|
if (simpleStatement === node) {
|
2019
2023
|
return true;
|
2020
2024
|
}
|
2021
|
-
if (simpleStatement.nodeType === 48 /* StringList */) {
|
2025
|
+
if (simpleStatement.nodeType === 48 /* ParseNodeType.StringList */) {
|
2022
2026
|
if (sawDocString) {
|
2023
2027
|
return false;
|
2024
2028
|
}
|
2025
2029
|
sawDocString = true;
|
2026
2030
|
}
|
2027
|
-
else if (simpleStatement.nodeType === 22 /* ImportFrom */) {
|
2031
|
+
else if (simpleStatement.nodeType === 22 /* ParseNodeType.ImportFrom */) {
|
2028
2032
|
if (simpleStatement.module.leadingDots !== 0 ||
|
2029
2033
|
simpleStatement.module.nameParts.length !== 1 ||
|
2030
2034
|
simpleStatement.module.nameParts[0].value !== '__future__') {
|
@@ -2044,16 +2048,16 @@ exports.isValidLocationForFutureImport = isValidLocationForFutureImport;
|
|
2044
2048
|
// "a < b and b < c".
|
2045
2049
|
function operatorSupportsChaining(op) {
|
2046
2050
|
switch (op) {
|
2047
|
-
case 12 /* Equals */:
|
2048
|
-
case 28 /* NotEquals */:
|
2049
|
-
case 20 /* LessThan */:
|
2050
|
-
case 21 /* LessThanOrEqual */:
|
2051
|
-
case 15 /* GreaterThan */:
|
2052
|
-
case 16 /* GreaterThanOrEqual */:
|
2053
|
-
case 39 /* Is */:
|
2054
|
-
case 40 /* IsNot */:
|
2055
|
-
case 41 /* In */:
|
2056
|
-
case 42 /* NotIn */:
|
2051
|
+
case 12 /* OperatorType.Equals */:
|
2052
|
+
case 28 /* OperatorType.NotEquals */:
|
2053
|
+
case 20 /* OperatorType.LessThan */:
|
2054
|
+
case 21 /* OperatorType.LessThanOrEqual */:
|
2055
|
+
case 15 /* OperatorType.GreaterThan */:
|
2056
|
+
case 16 /* OperatorType.GreaterThanOrEqual */:
|
2057
|
+
case 39 /* OperatorType.Is */:
|
2058
|
+
case 40 /* OperatorType.IsNot */:
|
2059
|
+
case 41 /* OperatorType.In */:
|
2060
|
+
case 42 /* OperatorType.NotIn */:
|
2057
2061
|
return true;
|
2058
2062
|
}
|
2059
2063
|
return false;
|
@@ -2081,11 +2085,11 @@ function _getStartPositionIfMultipleStatementsAreOnSameLine(range, tokenPosition
|
|
2081
2085
|
for (let index = tokenIndex - 1; index > currentIndex; index--) {
|
2082
2086
|
const token = tokenizerOutput.tokens.getItemAt(index);
|
2083
2087
|
// Eat up indentation
|
2084
|
-
if (token.type === 3 /* Indent */ || token.type === 4 /* Dedent */) {
|
2088
|
+
if (token.type === 3 /* TokenType.Indent */ || token.type === 4 /* TokenType.Dedent */) {
|
2085
2089
|
continue;
|
2086
2090
|
}
|
2087
2091
|
// If previous token is new line, use default.
|
2088
|
-
if (token.type === 2 /* NewLine */) {
|
2092
|
+
if (token.type === 2 /* TokenType.NewLine */) {
|
2089
2093
|
return undefined;
|
2090
2094
|
}
|
2091
2095
|
// Anything else (ex, semicolon), use statement start as it is.
|
@@ -2116,7 +2120,7 @@ function _getEndPositionIfMultipleStatementsAreOnSameLine(range, tokenPosition,
|
|
2116
2120
|
for (let index = tokenIndex; index < currentIndex; index++) {
|
2117
2121
|
const token = tokenizerOutput.tokens.getItemAt(index);
|
2118
2122
|
// Eat up semicolon or new line.
|
2119
|
-
if (token.type === 11 /* Semicolon */ || token.type === 2 /* NewLine */) {
|
2123
|
+
if (token.type === 11 /* TokenType.Semicolon */ || token.type === 2 /* TokenType.NewLine */) {
|
2120
2124
|
foundStatementEnd = true;
|
2121
2125
|
continue;
|
2122
2126
|
}
|
@@ -2134,15 +2138,15 @@ function getVariableDocStringNode(node) {
|
|
2134
2138
|
let curNode = node;
|
2135
2139
|
let annotationNode;
|
2136
2140
|
while (curNode) {
|
2137
|
-
if (curNode.nodeType === 3 /* Assignment */) {
|
2141
|
+
if (curNode.nodeType === 3 /* ParseNodeType.Assignment */) {
|
2138
2142
|
break;
|
2139
2143
|
}
|
2140
|
-
if (curNode.nodeType === 54 /* TypeAnnotation */ && !annotationNode) {
|
2144
|
+
if (curNode.nodeType === 54 /* ParseNodeType.TypeAnnotation */ && !annotationNode) {
|
2141
2145
|
annotationNode = curNode;
|
2142
2146
|
}
|
2143
2147
|
curNode = curNode.parent;
|
2144
2148
|
}
|
2145
|
-
if ((curNode === null || curNode === void 0 ? void 0 : curNode.nodeType) !== 3 /* Assignment */) {
|
2149
|
+
if ((curNode === null || curNode === void 0 ? void 0 : curNode.nodeType) !== 3 /* ParseNodeType.Assignment */) {
|
2146
2150
|
// Allow a simple annotation statement to have a docstring even
|
2147
2151
|
// though PEP 258 doesn't mention this case. This PEP pre-dated
|
2148
2152
|
// PEP 526, so it didn't contemplate this situation.
|
@@ -2154,12 +2158,12 @@ function getVariableDocStringNode(node) {
|
|
2154
2158
|
}
|
2155
2159
|
}
|
2156
2160
|
const parentNode = curNode.parent;
|
2157
|
-
if ((parentNode === null || parentNode === void 0 ? void 0 : parentNode.nodeType) !== 47 /* StatementList */) {
|
2161
|
+
if ((parentNode === null || parentNode === void 0 ? void 0 : parentNode.nodeType) !== 47 /* ParseNodeType.StatementList */) {
|
2158
2162
|
return undefined;
|
2159
2163
|
}
|
2160
2164
|
const suiteOrModule = parentNode.parent;
|
2161
2165
|
if (!suiteOrModule ||
|
2162
|
-
(suiteOrModule.nodeType !== 36 /* Module */ && suiteOrModule.nodeType !== 50 /* Suite */)) {
|
2166
|
+
(suiteOrModule.nodeType !== 36 /* ParseNodeType.Module */ && suiteOrModule.nodeType !== 50 /* ParseNodeType.Suite */)) {
|
2163
2167
|
return undefined;
|
2164
2168
|
}
|
2165
2169
|
const assignmentIndex = suiteOrModule.statements.findIndex((node) => node === parentNode);
|
@@ -2167,17 +2171,17 @@ function getVariableDocStringNode(node) {
|
|
2167
2171
|
return undefined;
|
2168
2172
|
}
|
2169
2173
|
const nextStatement = suiteOrModule.statements[assignmentIndex + 1];
|
2170
|
-
if (nextStatement.nodeType !== 47 /* StatementList */ || !isDocString(nextStatement)) {
|
2174
|
+
if (nextStatement.nodeType !== 47 /* ParseNodeType.StatementList */ || !isDocString(nextStatement)) {
|
2171
2175
|
return undefined;
|
2172
2176
|
}
|
2173
2177
|
// See if the assignment is within one of the contexts specified in PEP 258.
|
2174
2178
|
let isValidContext = false;
|
2175
|
-
if (((_a = parentNode === null || parentNode === void 0 ? void 0 : parentNode.parent) === null || _a === void 0 ? void 0 : _a.nodeType) === 36 /* Module */) {
|
2179
|
+
if (((_a = parentNode === null || parentNode === void 0 ? void 0 : parentNode.parent) === null || _a === void 0 ? void 0 : _a.nodeType) === 36 /* ParseNodeType.Module */) {
|
2176
2180
|
// If we're at the top level of a module, the attribute docstring is valid.
|
2177
2181
|
isValidContext = true;
|
2178
2182
|
}
|
2179
|
-
else if (((_b = parentNode === null || parentNode === void 0 ? void 0 : parentNode.parent) === null || _b === void 0 ? void 0 : _b.nodeType) === 50 /* Suite */ &&
|
2180
|
-
((_d = (_c = parentNode === null || parentNode === void 0 ? void 0 : parentNode.parent) === null || _c === void 0 ? void 0 : _c.parent) === null || _d === void 0 ? void 0 : _d.nodeType) === 10 /* Class */) {
|
2183
|
+
else if (((_b = parentNode === null || parentNode === void 0 ? void 0 : parentNode.parent) === null || _b === void 0 ? void 0 : _b.nodeType) === 50 /* ParseNodeType.Suite */ &&
|
2184
|
+
((_d = (_c = parentNode === null || parentNode === void 0 ? void 0 : parentNode.parent) === null || _c === void 0 ? void 0 : _c.parent) === null || _d === void 0 ? void 0 : _d.nodeType) === 10 /* ParseNodeType.Class */) {
|
2181
2185
|
// If we're at the top level of a class, the attribute docstring is valid.
|
2182
2186
|
isValidContext = true;
|
2183
2187
|
}
|
@@ -2200,10 +2204,10 @@ exports.getVariableDocStringNode = getVariableDocStringNode;
|
|
2200
2204
|
// file contents change).
|
2201
2205
|
function getScopeIdForNode(node) {
|
2202
2206
|
let name = '';
|
2203
|
-
if (node.nodeType === 10 /* Class */) {
|
2207
|
+
if (node.nodeType === 10 /* ParseNodeType.Class */) {
|
2204
2208
|
name = node.name.value;
|
2205
2209
|
}
|
2206
|
-
else if (node.nodeType === 28 /* Function */) {
|
2210
|
+
else if (node.nodeType === 28 /* ParseNodeType.Function */) {
|
2207
2211
|
name = node.name.value;
|
2208
2212
|
}
|
2209
2213
|
const fileInfo = AnalyzerNodeInfo.getFileInfo(node);
|