@zzzen/pyright-internal 1.2.0-dev.20221016 → 1.2.0-dev.20221204
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/backgroundAnalysisProgram.d.ts +7 -9
- package/dist/analyzer/backgroundAnalysisProgram.js +14 -52
- package/dist/analyzer/backgroundAnalysisProgram.js.map +1 -1
- package/dist/analyzer/binder.js +43 -32
- package/dist/analyzer/binder.js.map +1 -1
- package/dist/analyzer/checker.d.ts +15 -3
- package/dist/analyzer/checker.js +260 -143
- package/dist/analyzer/checker.js.map +1 -1
- package/dist/analyzer/codeFlowEngine.d.ts +2 -2
- package/dist/analyzer/codeFlowEngine.js +85 -88
- package/dist/analyzer/codeFlowEngine.js.map +1 -1
- package/dist/analyzer/codeFlowTypes.d.ts +1 -0
- package/dist/analyzer/codeFlowTypes.js +3 -1
- package/dist/analyzer/codeFlowTypes.js.map +1 -1
- package/dist/analyzer/constraintSolver.js +11 -1
- package/dist/analyzer/constraintSolver.js.map +1 -1
- package/dist/analyzer/dataClasses.d.ts +3 -3
- package/dist/analyzer/dataClasses.js +92 -59
- package/dist/analyzer/dataClasses.js.map +1 -1
- package/dist/analyzer/declaration.js.map +1 -1
- package/dist/analyzer/declarationUtils.d.ts +1 -1
- package/dist/analyzer/declarationUtils.js +6 -4
- package/dist/analyzer/declarationUtils.js.map +1 -1
- package/dist/analyzer/docStringConversion.js +7 -5
- package/dist/analyzer/docStringConversion.js.map +1 -1
- package/dist/analyzer/importResolver.d.ts +3 -0
- package/dist/analyzer/importResolver.js +50 -8
- package/dist/analyzer/importResolver.js.map +1 -1
- package/dist/analyzer/importResult.d.ts +1 -0
- package/dist/analyzer/namedTuples.js +1 -1
- package/dist/analyzer/namedTuples.js.map +1 -1
- package/dist/analyzer/packageTypeVerifier.d.ts +2 -1
- package/dist/analyzer/packageTypeVerifier.js +16 -10
- package/dist/analyzer/packageTypeVerifier.js.map +1 -1
- package/dist/analyzer/parseTreeUtils.d.ts +2 -1
- package/dist/analyzer/parseTreeUtils.js +38 -3
- package/dist/analyzer/parseTreeUtils.js.map +1 -1
- package/dist/analyzer/parseTreeWalker.d.ts +86 -79
- package/dist/analyzer/parseTreeWalker.js +384 -201
- package/dist/analyzer/parseTreeWalker.js.map +1 -1
- package/dist/analyzer/program.d.ts +4 -7
- package/dist/analyzer/program.js +84 -79
- package/dist/analyzer/program.js.map +1 -1
- package/dist/analyzer/properties.js +10 -3
- package/dist/analyzer/properties.js.map +1 -1
- package/dist/analyzer/protocols.js +1 -1
- package/dist/analyzer/protocols.js.map +1 -1
- package/dist/analyzer/regions.d.ts +11 -0
- package/dist/analyzer/regions.js +57 -0
- package/dist/analyzer/regions.js.map +1 -0
- package/dist/analyzer/service.d.ts +11 -6
- package/dist/analyzer/service.js +127 -65
- package/dist/analyzer/service.js.map +1 -1
- package/dist/analyzer/sourceFile.d.ts +5 -2
- package/dist/analyzer/sourceFile.js +23 -10
- package/dist/analyzer/sourceFile.js.map +1 -1
- package/dist/analyzer/sourceFileInfoUtils.d.ts +1 -1
- package/dist/analyzer/sourceFileInfoUtils.js +1 -1
- package/dist/analyzer/sourceFileInfoUtils.js.map +1 -1
- package/dist/analyzer/sourceMapper.d.ts +6 -1
- package/dist/analyzer/sourceMapper.js +28 -5
- package/dist/analyzer/sourceMapper.js.map +1 -1
- package/dist/analyzer/sourceMapperUtils.d.ts +2 -1
- package/dist/analyzer/sourceMapperUtils.js +17 -5
- package/dist/analyzer/sourceMapperUtils.js.map +1 -1
- package/dist/analyzer/staticExpressions.js +19 -9
- package/dist/analyzer/staticExpressions.js.map +1 -1
- package/dist/analyzer/symbolUtils.d.ts +1 -0
- package/dist/analyzer/symbolUtils.js +5 -1
- package/dist/analyzer/symbolUtils.js.map +1 -1
- package/dist/analyzer/typeEvaluator.js +664 -257
- package/dist/analyzer/typeEvaluator.js.map +1 -1
- package/dist/analyzer/typeEvaluatorTypes.d.ts +16 -4
- package/dist/analyzer/typeGuards.js +9 -0
- package/dist/analyzer/typeGuards.js.map +1 -1
- package/dist/analyzer/typePrinter.d.ts +3 -1
- package/dist/analyzer/typePrinter.js +143 -28
- package/dist/analyzer/typePrinter.js.map +1 -1
- package/dist/analyzer/typeStubWriter.js +5 -1
- package/dist/analyzer/typeStubWriter.js.map +1 -1
- package/dist/analyzer/typeUtils.d.ts +4 -2
- package/dist/analyzer/typeUtils.js +114 -20
- package/dist/analyzer/typeUtils.js.map +1 -1
- package/dist/analyzer/typedDicts.js +8 -6
- package/dist/analyzer/typedDicts.js.map +1 -1
- package/dist/analyzer/types.d.ts +7 -5
- package/dist/analyzer/types.js +45 -20
- package/dist/analyzer/types.js.map +1 -1
- package/dist/backgroundAnalysisBase.d.ts +6 -4
- package/dist/backgroundAnalysisBase.js +30 -9
- package/dist/backgroundAnalysisBase.js.map +1 -1
- package/dist/backgroundThreadBase.d.ts +2 -1
- package/dist/backgroundThreadBase.js +4 -0
- package/dist/backgroundThreadBase.js.map +1 -1
- package/dist/commands/createTypeStub.js +3 -1
- package/dist/commands/createTypeStub.js.map +1 -1
- package/dist/common/configOptions.d.ts +1 -0
- package/dist/common/configOptions.js +4 -0
- package/dist/common/configOptions.js.map +1 -1
- package/dist/common/core.d.ts +2 -0
- package/dist/common/core.js +24 -3
- package/dist/common/core.js.map +1 -1
- package/dist/common/diagnostic.d.ts +8 -0
- package/dist/common/diagnostic.js +5 -1
- package/dist/common/diagnostic.js.map +1 -1
- package/dist/common/diagnosticRules.d.ts +2 -1
- package/dist/common/diagnosticRules.js +1 -0
- package/dist/common/diagnosticRules.js.map +1 -1
- package/dist/common/fileSystem.d.ts +1 -0
- package/dist/common/fileSystem.js.map +1 -1
- package/dist/common/pathUtils.d.ts +1 -0
- package/dist/common/pathUtils.js +17 -4
- package/dist/common/pathUtils.js.map +1 -1
- package/dist/common/pythonVersion.d.ts +1 -1
- package/dist/common/pythonVersion.js +1 -1
- package/dist/common/realFileSystem.js +12 -3
- package/dist/common/realFileSystem.js.map +1 -1
- package/dist/common/workspaceEditUtils.d.ts +6 -1
- package/dist/common/workspaceEditUtils.js +72 -1
- package/dist/common/workspaceEditUtils.js.map +1 -1
- package/dist/languageServerBase.d.ts +16 -8
- package/dist/languageServerBase.js +76 -32
- package/dist/languageServerBase.js.map +1 -1
- package/dist/languageService/analyzerServiceExecutor.d.ts +6 -2
- package/dist/languageService/analyzerServiceExecutor.js +8 -6
- package/dist/languageService/analyzerServiceExecutor.js.map +1 -1
- package/dist/languageService/autoImporter.js +2 -1
- package/dist/languageService/autoImporter.js.map +1 -1
- package/dist/languageService/codeActionProvider.js +30 -0
- package/dist/languageService/codeActionProvider.js.map +1 -1
- package/dist/languageService/completionProvider.d.ts +2 -0
- package/dist/languageService/completionProvider.js +84 -32
- package/dist/languageService/completionProvider.js.map +1 -1
- package/dist/languageService/definitionProvider.d.ts +2 -0
- package/dist/languageService/definitionProvider.js +3 -0
- package/dist/languageService/definitionProvider.js.map +1 -1
- package/dist/languageService/documentSymbolCollector.js +7 -3
- package/dist/languageService/documentSymbolCollector.js.map +1 -1
- package/dist/languageService/documentSymbolProvider.js +1 -1
- package/dist/languageService/documentSymbolProvider.js.map +1 -1
- package/dist/languageService/hoverProvider.d.ts +1 -1
- package/dist/languageService/hoverProvider.js +73 -38
- package/dist/languageService/hoverProvider.js.map +1 -1
- package/dist/languageService/indentationUtils.d.ts +3 -0
- package/dist/languageService/indentationUtils.js +4 -3
- package/dist/languageService/indentationUtils.js.map +1 -1
- package/dist/languageService/referencesProvider.js +2 -1
- package/dist/languageService/referencesProvider.js.map +1 -1
- package/dist/languageService/signatureHelpProvider.js +1 -2
- package/dist/languageService/signatureHelpProvider.js.map +1 -1
- package/dist/languageService/tooltipUtils.js +30 -19
- package/dist/languageService/tooltipUtils.js.map +1 -1
- package/dist/localization/localize.d.ts +29 -4
- package/dist/localization/localize.js +20 -5
- package/dist/localization/localize.js.map +1 -1
- package/dist/localization/package.nls.en-us.json +18 -3
- package/dist/parser/parseNodes.d.ts +2 -1
- package/dist/parser/parseNodes.js +6 -1
- package/dist/parser/parseNodes.js.map +1 -1
- package/dist/parser/parser.js +29 -15
- package/dist/parser/parser.js.map +1 -1
- package/dist/parser/tokenizer.js +19 -9
- package/dist/parser/tokenizer.js.map +1 -1
- package/dist/pyright.js +4 -4
- package/dist/pyright.js.map +1 -1
- package/dist/pyrightFileSystem.d.ts +1 -0
- package/dist/pyrightFileSystem.js +3 -0
- package/dist/pyrightFileSystem.js.map +1 -1
- package/dist/readonlyAugmentedFileSystem.d.ts +1 -0
- package/dist/readonlyAugmentedFileSystem.js +3 -0
- package/dist/readonlyAugmentedFileSystem.js.map +1 -1
- package/dist/server.d.ts +1 -1
- package/dist/server.js +1 -1
- package/dist/server.js.map +1 -1
- package/dist/tests/chainedSourceFiles.test.js +2 -0
- package/dist/tests/chainedSourceFiles.test.js.map +1 -1
- package/dist/tests/checker.test.js +26 -3
- package/dist/tests/checker.test.js.map +1 -1
- package/dist/tests/config.test.js +11 -0
- package/dist/tests/config.test.js.map +1 -1
- package/dist/tests/diagnostics.test.d.ts +1 -0
- package/dist/tests/diagnostics.test.js +37 -0
- package/dist/tests/diagnostics.test.js.map +1 -0
- package/dist/tests/docStringConversion.test.js +71 -12
- package/dist/tests/docStringConversion.test.js.map +1 -1
- package/dist/tests/fourslash/completions.autoimport.shadow.fourslash.js +1 -1
- package/dist/tests/fourslash/completions.autoimport.shadow.fourslash.js.map +1 -1
- package/dist/tests/fourslash/completions.builtinDocstrings.fourslash.js +5 -5
- package/dist/tests/fourslash/completions.builtinDocstrings.fourslash.js.map +1 -1
- package/dist/tests/fourslash/completions.classVariable.fourslash.js +119 -24
- package/dist/tests/fourslash/completions.classVariable.fourslash.js.map +1 -1
- package/dist/tests/fourslash/{signature.paramspec.fourslash.d.ts → completions.dunderNew.Inheritance.fourslash.d.ts} +0 -0
- package/dist/tests/fourslash/completions.dunderNew.Inheritance.fourslash.js +29 -0
- package/dist/tests/fourslash/completions.dunderNew.Inheritance.fourslash.js.map +1 -0
- package/dist/tests/fourslash/completions.dunderNew.fourslash.d.ts +1 -0
- package/dist/tests/fourslash/completions.dunderNew.fourslash.js +20 -0
- package/dist/tests/fourslash/completions.dunderNew.fourslash.js.map +1 -0
- package/dist/tests/fourslash/completions.fourslash.js +2 -2
- package/dist/tests/fourslash/completions.fourslash.js.map +1 -1
- package/dist/tests/fourslash/completions.libCodeAndStub.fourslash.js +1 -1
- package/dist/tests/fourslash/completions.libCodeAndStub.fourslash.js.map +1 -1
- package/dist/tests/fourslash/completions.libCodeNoStub.fourslash.js +1 -1
- package/dist/tests/fourslash/completions.libCodeNoStub.fourslash.js.map +1 -1
- package/dist/tests/fourslash/completions.libStub.fourslash.js +1 -1
- package/dist/tests/fourslash/completions.libStub.fourslash.js.map +1 -1
- package/dist/tests/fourslash/completions.localCode.fourslash.js +2 -2
- package/dist/tests/fourslash/completions.localCode.fourslash.js.map +1 -1
- package/dist/tests/fourslash/completions.plainText.fourslash.js +2 -2
- package/dist/tests/fourslash/completions.plainText.fourslash.js.map +1 -1
- package/dist/tests/fourslash/completions.self.fourslash.js +2 -2
- package/dist/tests/fourslash/completions.self.fourslash.js.map +1 -1
- package/dist/tests/fourslash/completions.wildcardimports.fourslash.js +1 -1
- package/dist/tests/fourslash/completions.wildcardimports.fourslash.js.map +1 -1
- package/dist/tests/fourslash/findDefinitions.namespaceImport.fourslash.js +2 -2
- package/dist/tests/fourslash/findDefinitions.namespaceImport.fourslash.js.map +1 -1
- package/dist/tests/fourslash/findDefinitions.namespaceImportWithInit.fourslash.d.ts +1 -0
- package/dist/tests/fourslash/findDefinitions.namespaceImportWithInit.fourslash.js +32 -0
- package/dist/tests/fourslash/findDefinitions.namespaceImportWithInit.fourslash.js.map +1 -0
- package/dist/tests/fourslash/fourslash.d.ts +2 -1
- package/dist/tests/fourslash/hover.builtinDocstrings.fourslash.js +2 -2
- package/dist/tests/fourslash/hover.builtinDocstrings.fourslash.js.map +1 -1
- package/dist/tests/fourslash/hover.docFromSrc.fourslash.js +4 -4
- package/dist/tests/fourslash/hover.docFromSrc.fourslash.js.map +1 -1
- package/dist/tests/fourslash/hover.docFromSrc.pkg-vs-module1.fourslash.js +1 -1
- package/dist/tests/fourslash/hover.docFromSrc.pkg-vs-module1.fourslash.js.map +1 -1
- package/dist/tests/fourslash/hover.docFromSrc.pkg-vs-module2.fourslash.js +1 -1
- package/dist/tests/fourslash/hover.docFromSrc.pkg-vs-module2.fourslash.js.map +1 -1
- package/dist/tests/fourslash/hover.docFromSrc.relativeImport1.fourslash.js +1 -1
- package/dist/tests/fourslash/hover.docFromSrc.relativeImport1.fourslash.js.map +1 -1
- package/dist/tests/fourslash/hover.docFromSrc.relativeImport2.fourslash.js +1 -1
- package/dist/tests/fourslash/hover.docFromSrc.relativeImport2.fourslash.js.map +1 -1
- package/dist/tests/fourslash/hover.docFromSrc.relativeImport3.fourslash.js +1 -1
- package/dist/tests/fourslash/hover.docFromSrc.relativeImport3.fourslash.js.map +1 -1
- package/dist/tests/fourslash/hover.docFromSrc.stubs-package.fourslash.js +2 -2
- package/dist/tests/fourslash/hover.docFromSrc.stubs-package.fourslash.js.map +1 -1
- package/dist/tests/fourslash/hover.docFromSrc.typeshed.fourslash.js +1 -1
- package/dist/tests/fourslash/hover.docFromSrc.typeshed.fourslash.js.map +1 -1
- package/dist/tests/fourslash/hover.docstring.alias.fourslash.d.ts +1 -0
- package/dist/tests/fourslash/hover.docstring.alias.fourslash.js +24 -0
- package/dist/tests/fourslash/hover.docstring.alias.fourslash.js.map +1 -0
- package/dist/tests/fourslash/hover.docstring.links.fourslash.js +1 -1
- package/dist/tests/fourslash/hover.docstring.links.fourslash.js.map +1 -1
- package/dist/tests/fourslash/hover.docstring.split.fourslash.js +3 -3
- package/dist/tests/fourslash/hover.docstring.split.fourslash.js.map +1 -1
- package/dist/tests/fourslash/hover.dunderNew.basic.fourslash.d.ts +1 -0
- package/dist/tests/fourslash/hover.dunderNew.basic.fourslash.js +13 -0
- package/dist/tests/fourslash/hover.dunderNew.basic.fourslash.js.map +1 -0
- package/dist/tests/fourslash/hover.dunderNew.inheritance.fourslash.d.ts +1 -0
- package/dist/tests/fourslash/hover.dunderNew.inheritance.fourslash.js +15 -0
- package/dist/tests/fourslash/hover.dunderNew.inheritance.fourslash.js.map +1 -0
- package/dist/tests/fourslash/hover.dunderNew.inheritance2.fourslash.d.ts +1 -0
- package/dist/tests/fourslash/hover.dunderNew.inheritance2.fourslash.js +21 -0
- package/dist/tests/fourslash/hover.dunderNew.inheritance2.fourslash.js.map +1 -0
- package/dist/tests/fourslash/hover.dunderNew.overloads.fourslash.d.ts +1 -0
- package/dist/tests/fourslash/hover.dunderNew.overloads.fourslash.js +17 -0
- package/dist/tests/fourslash/hover.dunderNew.overloads.fourslash.js.map +1 -0
- package/dist/tests/fourslash/hover.dunderNew.withInit.fourslash.d.ts +1 -0
- package/dist/tests/fourslash/hover.dunderNew.withInit.fourslash.js +15 -0
- package/dist/tests/fourslash/hover.dunderNew.withInit.fourslash.js.map +1 -0
- package/dist/tests/fourslash/hover.fourslash.js +1 -1
- package/dist/tests/fourslash/hover.fourslash.js.map +1 -1
- package/dist/tests/fourslash/hover.inherited.docFromSrc.fourslash.js +3 -3
- package/dist/tests/fourslash/hover.inherited.docFromSrc.fourslash.js.map +1 -1
- package/dist/tests/fourslash/hover.inherited.docFromSrcWithStub.fourslash.js +2 -2
- package/dist/tests/fourslash/hover.inherited.docFromSrcWithStub.fourslash.js.map +1 -1
- package/dist/tests/fourslash/hover.inherited.docFromStub.fourslash.js +2 -2
- package/dist/tests/fourslash/hover.inherited.docFromStub.fourslash.js.map +1 -1
- package/dist/tests/fourslash/hover.init.fourslash.js +1 -1
- package/dist/tests/fourslash/hover.init.fourslash.js.map +1 -1
- package/dist/tests/fourslash/hover.libCodeAndStub.fourslash.js +1 -1
- package/dist/tests/fourslash/hover.libCodeAndStub.fourslash.js.map +1 -1
- package/dist/tests/fourslash/hover.libCodeNoStub.fourslash.js +1 -1
- package/dist/tests/fourslash/hover.libCodeNoStub.fourslash.js.map +1 -1
- package/dist/tests/fourslash/hover.libStub.fourslash.js +1 -1
- package/dist/tests/fourslash/hover.libStub.fourslash.js.map +1 -1
- package/dist/tests/fourslash/hover.plainText.fourslash.js +1 -1
- package/dist/tests/fourslash/hover.plainText.fourslash.js.map +1 -1
- package/dist/tests/fourslash/hover.wildcardimports.fourslash.js +1 -1
- package/dist/tests/fourslash/hover.wildcardimports.fourslash.js.map +1 -1
- package/dist/tests/fourslash/import.pytyped.typeCheckingBasic.fourslash.js +1 -1
- package/dist/tests/fourslash/import.pytyped.typeCheckingBasic.fourslash.js.map +1 -1
- package/dist/tests/fourslash/import.pytyped.typeCheckingOff.fourslash.js +1 -1
- package/dist/tests/fourslash/import.pytyped.typeCheckingOff.fourslash.js.map +1 -1
- package/dist/tests/fourslash/shadowedImports.fourslash.d.ts +1 -0
- package/dist/tests/fourslash/shadowedImports.fourslash.js +75 -0
- package/dist/tests/fourslash/shadowedImports.fourslash.js.map +1 -0
- package/dist/tests/fourslash/signature.dunderNew.fourslash.d.ts +1 -0
- package/dist/tests/fourslash/signature.dunderNew.fourslash.js +24 -0
- package/dist/tests/fourslash/signature.dunderNew.fourslash.js.map +1 -0
- package/dist/tests/harness/fourslash/runner.js +1 -1
- package/dist/tests/harness/fourslash/runner.js.map +1 -1
- package/dist/tests/harness/fourslash/testLanguageService.d.ts +3 -1
- package/dist/tests/harness/fourslash/testLanguageService.js +5 -4
- package/dist/tests/harness/fourslash/testLanguageService.js.map +1 -1
- package/dist/tests/harness/fourslash/testState.d.ts +7 -7
- package/dist/tests/harness/fourslash/testState.js +79 -163
- package/dist/tests/harness/fourslash/testState.js.map +1 -1
- package/dist/tests/harness/fourslash/workspaceEditTestUtils.d.ts +16 -0
- package/dist/tests/harness/fourslash/workspaceEditTestUtils.js +159 -0
- package/dist/tests/harness/fourslash/workspaceEditTestUtils.js.map +1 -0
- package/dist/tests/harness/vfs/filesystem.d.ts +1 -0
- package/dist/tests/harness/vfs/filesystem.js +3 -0
- package/dist/tests/harness/vfs/filesystem.js.map +1 -1
- package/dist/tests/indentationUtils.ptvs.test.js +1 -1
- package/dist/tests/indentationUtils.test.js +4 -4
- package/dist/tests/ipythonMode.test.js +39 -0
- package/dist/tests/ipythonMode.test.js.map +1 -1
- package/dist/tests/logger.test.js +3 -1
- package/dist/tests/logger.test.js.map +1 -1
- package/dist/tests/parser.test.js +3 -3
- package/dist/tests/pathUtils.test.js +7 -0
- package/dist/tests/pathUtils.test.js.map +1 -1
- package/dist/tests/service.test.d.ts +1 -0
- package/dist/tests/service.test.js +159 -0
- package/dist/tests/service.test.js.map +1 -0
- package/dist/tests/sourceFile.test.js +34 -1
- package/dist/tests/sourceFile.test.js.map +1 -1
- package/dist/tests/sourceMapperUtils.test.js +39 -4
- package/dist/tests/sourceMapperUtils.test.js.map +1 -1
- package/dist/tests/tokenizer.test.js +6 -2
- package/dist/tests/tokenizer.test.js.map +1 -1
- package/dist/tests/typeEvaluator1.test.js +16 -6
- package/dist/tests/typeEvaluator1.test.js.map +1 -1
- package/dist/tests/typeEvaluator2.test.js +15 -3
- package/dist/tests/typeEvaluator2.test.js.map +1 -1
- package/dist/tests/typeEvaluator3.test.js +51 -11
- package/dist/tests/typeEvaluator3.test.js.map +1 -1
- package/dist/tests/typeEvaluator4.test.js +11 -7
- package/dist/tests/typeEvaluator4.test.js.map +1 -1
- package/dist/tests/typeEvaluator5.test.js +48 -0
- package/dist/tests/typeEvaluator5.test.js.map +1 -1
- package/dist/tests/typePrinter.test.d.ts +1 -0
- package/dist/tests/typePrinter.test.js +148 -0
- package/dist/tests/typePrinter.test.js.map +1 -0
- package/dist/tests/workspaceEditUtils.test.d.ts +1 -0
- package/dist/tests/workspaceEditUtils.test.js +167 -0
- package/dist/tests/workspaceEditUtils.test.js.map +1 -0
- package/dist/workspaceMap.d.ts +4 -1
- package/dist/workspaceMap.js +64 -16
- package/dist/workspaceMap.js.map +1 -1
- package/package.json +3 -3
- package/dist/tests/fourslash/signature.paramspec.fourslash.js +0 -30
- package/dist/tests/fourslash/signature.paramspec.fourslash.js.map +0 -1
@@ -7,448 +7,631 @@
|
|
7
7
|
*
|
8
8
|
* Class that traverses a parse tree.
|
9
9
|
*/
|
10
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
11
|
+
if (k2 === undefined) k2 = k;
|
12
|
+
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
13
|
+
}) : (function(o, m, k, k2) {
|
14
|
+
if (k2 === undefined) k2 = k;
|
15
|
+
o[k2] = m[k];
|
16
|
+
}));
|
17
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
18
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
19
|
+
}) : function(o, v) {
|
20
|
+
o["default"] = v;
|
21
|
+
});
|
22
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
23
|
+
if (mod && mod.__esModule) return mod;
|
24
|
+
var result = {};
|
25
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
26
|
+
__setModuleDefault(result, mod);
|
27
|
+
return result;
|
28
|
+
};
|
10
29
|
Object.defineProperty(exports, "__esModule", { value: true });
|
11
|
-
exports.ParseTreeWalker = void 0;
|
30
|
+
exports.ParseTreeWalker = exports.ParseTreeVisitor = exports.getChildNodes = void 0;
|
31
|
+
const debug = __importStar(require("../common/debug"));
|
32
|
+
// Get child nodes of the given node.
|
33
|
+
function getChildNodes(node) {
|
34
|
+
var _a;
|
35
|
+
switch (node.nodeType) {
|
36
|
+
case 0 /* Error */:
|
37
|
+
return [node.child, ...((_a = node.decorators) !== null && _a !== void 0 ? _a : [])];
|
38
|
+
case 1 /* Argument */:
|
39
|
+
return [node.name, node.valueExpression];
|
40
|
+
case 2 /* Assert */:
|
41
|
+
return [node.testExpression, node.exceptionExpression];
|
42
|
+
case 4 /* AssignmentExpression */:
|
43
|
+
return [node.name, node.rightExpression];
|
44
|
+
case 3 /* Assignment */:
|
45
|
+
return [node.leftExpression, node.rightExpression, node.typeAnnotationComment];
|
46
|
+
case 5 /* AugmentedAssignment */:
|
47
|
+
return [node.leftExpression, node.rightExpression];
|
48
|
+
case 6 /* Await */:
|
49
|
+
return [node.expression];
|
50
|
+
case 7 /* BinaryOperation */:
|
51
|
+
return [node.leftExpression, node.rightExpression];
|
52
|
+
case 8 /* Break */:
|
53
|
+
return [];
|
54
|
+
case 9 /* Call */:
|
55
|
+
return [node.leftExpression, ...node.arguments];
|
56
|
+
case 64 /* Case */:
|
57
|
+
return [node.pattern, node.guardExpression, node.suite];
|
58
|
+
case 10 /* Class */:
|
59
|
+
return [...node.decorators, node.name, node.typeParameters, ...node.arguments, node.suite];
|
60
|
+
case 11 /* Constant */:
|
61
|
+
return [];
|
62
|
+
case 12 /* Continue */:
|
63
|
+
return [];
|
64
|
+
case 13 /* Decorator */:
|
65
|
+
return [node.expression];
|
66
|
+
case 14 /* Del */:
|
67
|
+
return node.expressions;
|
68
|
+
case 15 /* Dictionary */:
|
69
|
+
return node.entries;
|
70
|
+
case 16 /* DictionaryExpandEntry */:
|
71
|
+
return [node.expandExpression];
|
72
|
+
case 17 /* DictionaryKeyEntry */:
|
73
|
+
return [node.keyExpression, node.valueExpression];
|
74
|
+
case 18 /* Ellipsis */:
|
75
|
+
return [];
|
76
|
+
case 19 /* If */:
|
77
|
+
return [node.testExpression, node.ifSuite, node.elseSuite];
|
78
|
+
case 20 /* Import */:
|
79
|
+
return node.list;
|
80
|
+
case 21 /* ImportAs */:
|
81
|
+
return [node.module, node.alias];
|
82
|
+
case 22 /* ImportFrom */:
|
83
|
+
return [node.module, ...node.imports];
|
84
|
+
case 23 /* ImportFromAs */:
|
85
|
+
return [node.name, node.alias];
|
86
|
+
case 24 /* Index */:
|
87
|
+
return [node.baseExpression, ...node.items];
|
88
|
+
case 25 /* Except */:
|
89
|
+
return [node.typeExpression, node.name, node.exceptSuite];
|
90
|
+
case 26 /* For */:
|
91
|
+
return [node.targetExpression, node.iterableExpression, node.forSuite, node.elseSuite];
|
92
|
+
case 27 /* FormatString */:
|
93
|
+
return node.expressions;
|
94
|
+
case 28 /* Function */:
|
95
|
+
return [
|
96
|
+
...node.decorators,
|
97
|
+
node.name,
|
98
|
+
node.typeParameters,
|
99
|
+
...node.parameters,
|
100
|
+
node.returnTypeAnnotation,
|
101
|
+
node.functionAnnotationComment,
|
102
|
+
node.suite,
|
103
|
+
];
|
104
|
+
case 62 /* FunctionAnnotation */:
|
105
|
+
return [...node.paramTypeAnnotations, node.returnTypeAnnotation];
|
106
|
+
case 29 /* Global */:
|
107
|
+
return node.nameList;
|
108
|
+
case 30 /* Lambda */:
|
109
|
+
return [...node.parameters, node.expression];
|
110
|
+
case 31 /* List */:
|
111
|
+
return node.entries;
|
112
|
+
case 32 /* ListComprehension */:
|
113
|
+
return [node.expression, ...node.forIfNodes];
|
114
|
+
case 33 /* ListComprehensionFor */:
|
115
|
+
return [node.targetExpression, node.iterableExpression];
|
116
|
+
case 34 /* ListComprehensionIf */:
|
117
|
+
return [node.testExpression];
|
118
|
+
case 63 /* Match */:
|
119
|
+
return [node.subjectExpression, ...node.cases];
|
120
|
+
case 35 /* MemberAccess */:
|
121
|
+
return [node.leftExpression, node.memberName];
|
122
|
+
case 37 /* ModuleName */:
|
123
|
+
return node.nameParts;
|
124
|
+
case 36 /* Module */:
|
125
|
+
return [...node.statements];
|
126
|
+
case 38 /* Name */:
|
127
|
+
return [];
|
128
|
+
case 39 /* Nonlocal */:
|
129
|
+
return node.nameList;
|
130
|
+
case 40 /* Number */:
|
131
|
+
return [];
|
132
|
+
case 41 /* Parameter */:
|
133
|
+
return [node.name, node.typeAnnotation, node.typeAnnotationComment, node.defaultValue];
|
134
|
+
case 42 /* Pass */:
|
135
|
+
return [];
|
136
|
+
case 66 /* PatternAs */:
|
137
|
+
return [...node.orPatterns, node.target];
|
138
|
+
case 68 /* PatternClass */:
|
139
|
+
return [node.className, ...node.arguments];
|
140
|
+
case 74 /* PatternClassArgument */:
|
141
|
+
return [node.name, node.pattern];
|
142
|
+
case 69 /* PatternCapture */:
|
143
|
+
return [node.target];
|
144
|
+
case 67 /* PatternLiteral */:
|
145
|
+
return [node.expression];
|
146
|
+
case 72 /* PatternMappingExpandEntry */:
|
147
|
+
return [node.target];
|
148
|
+
case 71 /* PatternMappingKeyEntry */:
|
149
|
+
return [node.keyPattern, node.valuePattern];
|
150
|
+
case 70 /* PatternMapping */:
|
151
|
+
return [...node.entries];
|
152
|
+
case 65 /* PatternSequence */:
|
153
|
+
return [...node.entries];
|
154
|
+
case 73 /* PatternValue */:
|
155
|
+
return [node.expression];
|
156
|
+
case 43 /* Raise */:
|
157
|
+
return [node.typeExpression, node.valueExpression, node.tracebackExpression];
|
158
|
+
case 44 /* Return */:
|
159
|
+
return [node.returnExpression];
|
160
|
+
case 45 /* Set */:
|
161
|
+
return node.entries;
|
162
|
+
case 46 /* Slice */:
|
163
|
+
return [node.startValue, node.endValue, node.stepValue];
|
164
|
+
case 47 /* StatementList */:
|
165
|
+
return node.statements;
|
166
|
+
case 48 /* StringList */:
|
167
|
+
return [node.typeAnnotation, ...node.strings];
|
168
|
+
case 49 /* String */:
|
169
|
+
return [];
|
170
|
+
case 50 /* Suite */:
|
171
|
+
return [...node.statements];
|
172
|
+
case 51 /* Ternary */:
|
173
|
+
return [node.ifExpression, node.testExpression, node.elseExpression];
|
174
|
+
case 52 /* Tuple */:
|
175
|
+
return node.expressions;
|
176
|
+
case 53 /* Try */:
|
177
|
+
return [node.trySuite, ...node.exceptClauses, node.elseSuite, node.finallySuite];
|
178
|
+
case 77 /* TypeAlias */:
|
179
|
+
return [node.name, node.typeParameters, node.expression];
|
180
|
+
case 54 /* TypeAnnotation */:
|
181
|
+
return [node.valueExpression, node.typeAnnotation];
|
182
|
+
case 75 /* TypeParameter */:
|
183
|
+
return [node.name, node.boundExpression, node.defaultExpression];
|
184
|
+
case 76 /* TypeParameterList */:
|
185
|
+
return [...node.parameters];
|
186
|
+
case 55 /* UnaryOperation */:
|
187
|
+
return [node.expression];
|
188
|
+
case 56 /* Unpack */:
|
189
|
+
return [node.expression];
|
190
|
+
case 57 /* While */:
|
191
|
+
return [node.testExpression, node.whileSuite, node.elseSuite];
|
192
|
+
case 58 /* With */:
|
193
|
+
return [...node.withItems, node.suite];
|
194
|
+
case 59 /* WithItem */:
|
195
|
+
return [node.expression, node.target];
|
196
|
+
case 60 /* Yield */:
|
197
|
+
return [node.expression];
|
198
|
+
case 61 /* YieldFrom */:
|
199
|
+
return [node.expression];
|
200
|
+
default:
|
201
|
+
debug.assertNever(node, `Unknown node type ${node}`);
|
202
|
+
}
|
203
|
+
}
|
204
|
+
exports.getChildNodes = getChildNodes;
|
12
205
|
// To use this class, create a subclass and override the
|
13
206
|
// visitXXX methods that you want to handle.
|
14
|
-
class
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
this.walkMultiple(childrenToWalk);
|
19
|
-
}
|
207
|
+
class ParseTreeVisitor {
|
208
|
+
constructor(_default) {
|
209
|
+
this._default = _default;
|
210
|
+
// empty
|
20
211
|
}
|
21
|
-
|
22
|
-
nodes.forEach((node) => {
|
23
|
-
if (node) {
|
24
|
-
this.walk(node);
|
25
|
-
}
|
26
|
-
});
|
27
|
-
}
|
28
|
-
// Calls the node-specific method (visitXXXX). If the method
|
29
|
-
// returns true, all child nodes for the node are returned.
|
30
|
-
// If the method returns false, we assume that the handler
|
31
|
-
// has already handled the child nodes, so an empty list is
|
32
|
-
// returned.
|
33
|
-
visitNode(node) {
|
34
|
-
var _a;
|
212
|
+
visit(node) {
|
35
213
|
switch (node.nodeType) {
|
36
214
|
case 0 /* Error */:
|
37
|
-
return this.visitError(node)
|
215
|
+
return this.visitError(node);
|
38
216
|
case 1 /* Argument */:
|
39
|
-
return this.visitArgument(node)
|
217
|
+
return this.visitArgument(node);
|
40
218
|
case 2 /* Assert */:
|
41
|
-
return this.visitAssert(node)
|
219
|
+
return this.visitAssert(node);
|
42
220
|
case 4 /* AssignmentExpression */:
|
43
|
-
return this.visitAssignmentExpression(node)
|
221
|
+
return this.visitAssignmentExpression(node);
|
44
222
|
case 3 /* Assignment */:
|
45
|
-
return this.visitAssignment(node)
|
46
|
-
? [node.leftExpression, node.rightExpression, node.typeAnnotationComment]
|
47
|
-
: [];
|
223
|
+
return this.visitAssignment(node);
|
48
224
|
case 5 /* AugmentedAssignment */:
|
49
|
-
return this.visitAugmentedAssignment(node)
|
225
|
+
return this.visitAugmentedAssignment(node);
|
50
226
|
case 6 /* Await */:
|
51
|
-
return this.visitAwait(node)
|
227
|
+
return this.visitAwait(node);
|
52
228
|
case 7 /* BinaryOperation */:
|
53
|
-
return this.visitBinaryOperation(node)
|
229
|
+
return this.visitBinaryOperation(node);
|
54
230
|
case 8 /* Break */:
|
55
|
-
return this.visitBreak(node)
|
231
|
+
return this.visitBreak(node);
|
56
232
|
case 9 /* Call */:
|
57
|
-
return this.visitCall(node)
|
233
|
+
return this.visitCall(node);
|
58
234
|
case 64 /* Case */:
|
59
|
-
return this.visitCase(node)
|
235
|
+
return this.visitCase(node);
|
60
236
|
case 10 /* Class */:
|
61
|
-
return this.visitClass(node)
|
62
|
-
? [...node.decorators, node.name, node.typeParameters, ...node.arguments, node.suite]
|
63
|
-
: [];
|
237
|
+
return this.visitClass(node);
|
64
238
|
case 11 /* Constant */:
|
65
|
-
return this.visitConstant(node)
|
239
|
+
return this.visitConstant(node);
|
66
240
|
case 12 /* Continue */:
|
67
|
-
return this.visitContinue(node)
|
241
|
+
return this.visitContinue(node);
|
68
242
|
case 13 /* Decorator */:
|
69
|
-
return this.visitDecorator(node)
|
243
|
+
return this.visitDecorator(node);
|
70
244
|
case 14 /* Del */:
|
71
|
-
return this.visitDel(node)
|
245
|
+
return this.visitDel(node);
|
72
246
|
case 15 /* Dictionary */:
|
73
|
-
return this.visitDictionary(node)
|
247
|
+
return this.visitDictionary(node);
|
74
248
|
case 16 /* DictionaryExpandEntry */:
|
75
|
-
return this.visitDictionaryExpandEntry(node)
|
249
|
+
return this.visitDictionaryExpandEntry(node);
|
76
250
|
case 17 /* DictionaryKeyEntry */:
|
77
|
-
return this.visitDictionaryKeyEntry(node)
|
251
|
+
return this.visitDictionaryKeyEntry(node);
|
78
252
|
case 18 /* Ellipsis */:
|
79
|
-
return this.visitEllipsis(node)
|
253
|
+
return this.visitEllipsis(node);
|
80
254
|
case 19 /* If */:
|
81
|
-
return this.visitIf(node)
|
255
|
+
return this.visitIf(node);
|
82
256
|
case 20 /* Import */:
|
83
|
-
return this.visitImport(node)
|
257
|
+
return this.visitImport(node);
|
84
258
|
case 21 /* ImportAs */:
|
85
|
-
return this.visitImportAs(node)
|
259
|
+
return this.visitImportAs(node);
|
86
260
|
case 22 /* ImportFrom */:
|
87
|
-
return this.visitImportFrom(node)
|
261
|
+
return this.visitImportFrom(node);
|
88
262
|
case 23 /* ImportFromAs */:
|
89
|
-
return this.visitImportFromAs(node)
|
263
|
+
return this.visitImportFromAs(node);
|
90
264
|
case 24 /* Index */:
|
91
|
-
return this.visitIndex(node)
|
265
|
+
return this.visitIndex(node);
|
92
266
|
case 25 /* Except */:
|
93
|
-
return this.visitExcept(node)
|
267
|
+
return this.visitExcept(node);
|
94
268
|
case 26 /* For */:
|
95
|
-
return this.visitFor(node)
|
96
|
-
? [node.targetExpression, node.iterableExpression, node.forSuite, node.elseSuite]
|
97
|
-
: [];
|
269
|
+
return this.visitFor(node);
|
98
270
|
case 27 /* FormatString */:
|
99
|
-
return this.visitFormatString(node)
|
271
|
+
return this.visitFormatString(node);
|
100
272
|
case 28 /* Function */:
|
101
|
-
return this.visitFunction(node)
|
102
|
-
? [
|
103
|
-
...node.decorators,
|
104
|
-
node.name,
|
105
|
-
node.typeParameters,
|
106
|
-
...node.parameters,
|
107
|
-
node.returnTypeAnnotation,
|
108
|
-
node.functionAnnotationComment,
|
109
|
-
node.suite,
|
110
|
-
]
|
111
|
-
: [];
|
273
|
+
return this.visitFunction(node);
|
112
274
|
case 62 /* FunctionAnnotation */:
|
113
|
-
return this.visitFunctionAnnotation(node)
|
114
|
-
? [...node.paramTypeAnnotations, node.returnTypeAnnotation]
|
115
|
-
: [];
|
275
|
+
return this.visitFunctionAnnotation(node);
|
116
276
|
case 29 /* Global */:
|
117
|
-
return this.visitGlobal(node)
|
277
|
+
return this.visitGlobal(node);
|
118
278
|
case 30 /* Lambda */:
|
119
|
-
return this.visitLambda(node)
|
279
|
+
return this.visitLambda(node);
|
120
280
|
case 31 /* List */:
|
121
|
-
return this.visitList(node)
|
281
|
+
return this.visitList(node);
|
122
282
|
case 32 /* ListComprehension */:
|
123
|
-
return this.visitListComprehension(node)
|
283
|
+
return this.visitListComprehension(node);
|
124
284
|
case 33 /* ListComprehensionFor */:
|
125
|
-
return this.visitListComprehensionFor(node)
|
285
|
+
return this.visitListComprehensionFor(node);
|
126
286
|
case 34 /* ListComprehensionIf */:
|
127
|
-
return this.visitListComprehensionIf(node)
|
287
|
+
return this.visitListComprehensionIf(node);
|
128
288
|
case 63 /* Match */:
|
129
|
-
return this.visitMatch(node)
|
289
|
+
return this.visitMatch(node);
|
130
290
|
case 35 /* MemberAccess */:
|
131
|
-
return this.visitMemberAccess(node)
|
291
|
+
return this.visitMemberAccess(node);
|
132
292
|
case 37 /* ModuleName */:
|
133
|
-
return this.visitModuleName(node)
|
293
|
+
return this.visitModuleName(node);
|
134
294
|
case 36 /* Module */:
|
135
|
-
return this.visitModule(node)
|
295
|
+
return this.visitModule(node);
|
136
296
|
case 38 /* Name */:
|
137
|
-
return this.visitName(node)
|
297
|
+
return this.visitName(node);
|
138
298
|
case 39 /* Nonlocal */:
|
139
|
-
return this.visitNonlocal(node)
|
299
|
+
return this.visitNonlocal(node);
|
140
300
|
case 40 /* Number */:
|
141
|
-
return this.visitNumber(node)
|
301
|
+
return this.visitNumber(node);
|
142
302
|
case 41 /* Parameter */:
|
143
|
-
return this.visitParameter(node)
|
144
|
-
? [node.name, node.typeAnnotation, node.typeAnnotationComment, node.defaultValue]
|
145
|
-
: [];
|
303
|
+
return this.visitParameter(node);
|
146
304
|
case 42 /* Pass */:
|
147
|
-
return this.visitPass(node)
|
305
|
+
return this.visitPass(node);
|
148
306
|
case 66 /* PatternAs */:
|
149
|
-
return this.visitPatternAs(node)
|
307
|
+
return this.visitPatternAs(node);
|
150
308
|
case 68 /* PatternClass */:
|
151
|
-
return this.visitPatternClass(node)
|
309
|
+
return this.visitPatternClass(node);
|
152
310
|
case 74 /* PatternClassArgument */:
|
153
|
-
return this.visitPatternClassArgument(node)
|
311
|
+
return this.visitPatternClassArgument(node);
|
154
312
|
case 69 /* PatternCapture */:
|
155
|
-
return this.visitPatternCapture(node)
|
313
|
+
return this.visitPatternCapture(node);
|
156
314
|
case 67 /* PatternLiteral */:
|
157
|
-
return this.visitPatternLiteral(node)
|
315
|
+
return this.visitPatternLiteral(node);
|
158
316
|
case 72 /* PatternMappingExpandEntry */:
|
159
|
-
return this.visitPatternMappingExpandEntry(node)
|
317
|
+
return this.visitPatternMappingExpandEntry(node);
|
160
318
|
case 71 /* PatternMappingKeyEntry */:
|
161
|
-
return this.visitPatternMappingKeyEntry(node)
|
319
|
+
return this.visitPatternMappingKeyEntry(node);
|
162
320
|
case 70 /* PatternMapping */:
|
163
|
-
return this.visitPatternMapping(node)
|
321
|
+
return this.visitPatternMapping(node);
|
164
322
|
case 65 /* PatternSequence */:
|
165
|
-
return this.visitPatternSequence(node)
|
323
|
+
return this.visitPatternSequence(node);
|
166
324
|
case 73 /* PatternValue */:
|
167
|
-
return this.visitPatternValue(node)
|
325
|
+
return this.visitPatternValue(node);
|
168
326
|
case 43 /* Raise */:
|
169
|
-
return this.visitRaise(node)
|
170
|
-
? [node.typeExpression, node.valueExpression, node.tracebackExpression]
|
171
|
-
: [];
|
327
|
+
return this.visitRaise(node);
|
172
328
|
case 44 /* Return */:
|
173
|
-
return this.visitReturn(node)
|
329
|
+
return this.visitReturn(node);
|
174
330
|
case 45 /* Set */:
|
175
|
-
return this.visitSet(node)
|
331
|
+
return this.visitSet(node);
|
176
332
|
case 46 /* Slice */:
|
177
|
-
return this.visitSlice(node)
|
333
|
+
return this.visitSlice(node);
|
178
334
|
case 47 /* StatementList */:
|
179
|
-
return this.visitStatementList(node)
|
335
|
+
return this.visitStatementList(node);
|
180
336
|
case 48 /* StringList */:
|
181
|
-
return this.visitStringList(node)
|
337
|
+
return this.visitStringList(node);
|
182
338
|
case 49 /* String */:
|
183
|
-
return this.visitString(node)
|
339
|
+
return this.visitString(node);
|
184
340
|
case 50 /* Suite */:
|
185
|
-
return this.visitSuite(node)
|
341
|
+
return this.visitSuite(node);
|
186
342
|
case 51 /* Ternary */:
|
187
|
-
return this.visitTernary(node)
|
343
|
+
return this.visitTernary(node);
|
188
344
|
case 52 /* Tuple */:
|
189
|
-
return this.visitTuple(node)
|
345
|
+
return this.visitTuple(node);
|
190
346
|
case 53 /* Try */:
|
191
|
-
return this.visitTry(node)
|
192
|
-
? [node.trySuite, ...node.exceptClauses, node.elseSuite, node.finallySuite]
|
193
|
-
: [];
|
347
|
+
return this.visitTry(node);
|
194
348
|
case 77 /* TypeAlias */:
|
195
|
-
return this.visitTypeAlias(node)
|
349
|
+
return this.visitTypeAlias(node);
|
196
350
|
case 54 /* TypeAnnotation */:
|
197
|
-
return this.visitTypeAnnotation(node)
|
351
|
+
return this.visitTypeAnnotation(node);
|
198
352
|
case 75 /* TypeParameter */:
|
199
|
-
return this.visitTypeParameter(node)
|
353
|
+
return this.visitTypeParameter(node);
|
200
354
|
case 76 /* TypeParameterList */:
|
201
|
-
return this.visitTypeParameterList(node)
|
355
|
+
return this.visitTypeParameterList(node);
|
202
356
|
case 55 /* UnaryOperation */:
|
203
|
-
return this.visitUnaryOperation(node)
|
357
|
+
return this.visitUnaryOperation(node);
|
204
358
|
case 56 /* Unpack */:
|
205
|
-
return this.visitUnpack(node)
|
359
|
+
return this.visitUnpack(node);
|
206
360
|
case 57 /* While */:
|
207
|
-
return this.visitWhile(node)
|
361
|
+
return this.visitWhile(node);
|
208
362
|
case 58 /* With */:
|
209
|
-
return this.visitWith(node)
|
363
|
+
return this.visitWith(node);
|
210
364
|
case 59 /* WithItem */:
|
211
|
-
return this.visitWithItem(node)
|
365
|
+
return this.visitWithItem(node);
|
212
366
|
case 60 /* Yield */:
|
213
|
-
return this.visitYield(node)
|
367
|
+
return this.visitYield(node);
|
214
368
|
case 61 /* YieldFrom */:
|
215
|
-
return this.visitYieldFrom(node)
|
369
|
+
return this.visitYieldFrom(node);
|
370
|
+
default:
|
371
|
+
debug.assertNever(node, `Unknown node type ${node}`);
|
216
372
|
}
|
217
373
|
}
|
218
374
|
// Override these methods as necessary.
|
219
375
|
visitArgument(node) {
|
220
|
-
return
|
376
|
+
return this._default;
|
221
377
|
}
|
222
378
|
visitAssert(node) {
|
223
|
-
return
|
379
|
+
return this._default;
|
224
380
|
}
|
225
381
|
visitAssignment(node) {
|
226
|
-
return
|
382
|
+
return this._default;
|
227
383
|
}
|
228
384
|
visitAssignmentExpression(node) {
|
229
|
-
return
|
385
|
+
return this._default;
|
230
386
|
}
|
231
387
|
visitAugmentedAssignment(node) {
|
232
|
-
return
|
388
|
+
return this._default;
|
233
389
|
}
|
234
390
|
visitAwait(node) {
|
235
|
-
return
|
391
|
+
return this._default;
|
236
392
|
}
|
237
393
|
visitBinaryOperation(node) {
|
238
|
-
return
|
394
|
+
return this._default;
|
239
395
|
}
|
240
396
|
visitBreak(node) {
|
241
|
-
return
|
397
|
+
return this._default;
|
242
398
|
}
|
243
399
|
visitCall(node) {
|
244
|
-
return
|
400
|
+
return this._default;
|
245
401
|
}
|
246
402
|
visitCase(node) {
|
247
|
-
return
|
403
|
+
return this._default;
|
248
404
|
}
|
249
405
|
visitClass(node) {
|
250
|
-
return
|
406
|
+
return this._default;
|
251
407
|
}
|
252
408
|
visitTernary(node) {
|
253
|
-
return
|
409
|
+
return this._default;
|
254
410
|
}
|
255
411
|
visitContinue(node) {
|
256
|
-
return
|
412
|
+
return this._default;
|
257
413
|
}
|
258
414
|
visitConstant(node) {
|
259
|
-
return
|
415
|
+
return this._default;
|
260
416
|
}
|
261
417
|
visitDecorator(node) {
|
262
|
-
return
|
418
|
+
return this._default;
|
263
419
|
}
|
264
420
|
visitDel(node) {
|
265
|
-
return
|
421
|
+
return this._default;
|
266
422
|
}
|
267
423
|
visitDictionary(node) {
|
268
|
-
return
|
424
|
+
return this._default;
|
269
425
|
}
|
270
426
|
visitDictionaryKeyEntry(node) {
|
271
|
-
return
|
427
|
+
return this._default;
|
272
428
|
}
|
273
429
|
visitDictionaryExpandEntry(node) {
|
274
|
-
return
|
430
|
+
return this._default;
|
275
431
|
}
|
276
432
|
visitError(node) {
|
277
|
-
return
|
433
|
+
return this._default;
|
278
434
|
}
|
279
435
|
visitEllipsis(node) {
|
280
|
-
return
|
436
|
+
return this._default;
|
281
437
|
}
|
282
438
|
visitIf(node) {
|
283
|
-
return
|
439
|
+
return this._default;
|
284
440
|
}
|
285
441
|
visitImport(node) {
|
286
|
-
return
|
442
|
+
return this._default;
|
287
443
|
}
|
288
444
|
visitImportAs(node) {
|
289
|
-
return
|
445
|
+
return this._default;
|
290
446
|
}
|
291
447
|
visitImportFrom(node) {
|
292
|
-
return
|
448
|
+
return this._default;
|
293
449
|
}
|
294
450
|
visitImportFromAs(node) {
|
295
|
-
return
|
451
|
+
return this._default;
|
296
452
|
}
|
297
453
|
visitIndex(node) {
|
298
|
-
return
|
454
|
+
return this._default;
|
299
455
|
}
|
300
456
|
visitExcept(node) {
|
301
|
-
return
|
457
|
+
return this._default;
|
302
458
|
}
|
303
459
|
visitFor(node) {
|
304
|
-
return
|
460
|
+
return this._default;
|
305
461
|
}
|
306
462
|
visitFormatString(node) {
|
307
|
-
return
|
463
|
+
return this._default;
|
308
464
|
}
|
309
465
|
visitFunction(node) {
|
310
|
-
return
|
466
|
+
return this._default;
|
311
467
|
}
|
312
468
|
visitFunctionAnnotation(node) {
|
313
|
-
return
|
469
|
+
return this._default;
|
314
470
|
}
|
315
471
|
visitGlobal(node) {
|
316
|
-
return
|
472
|
+
return this._default;
|
317
473
|
}
|
318
474
|
visitLambda(node) {
|
319
|
-
return
|
475
|
+
return this._default;
|
320
476
|
}
|
321
477
|
visitList(node) {
|
322
|
-
return
|
478
|
+
return this._default;
|
323
479
|
}
|
324
480
|
visitListComprehension(node) {
|
325
|
-
return
|
481
|
+
return this._default;
|
326
482
|
}
|
327
483
|
visitListComprehensionFor(node) {
|
328
|
-
return
|
484
|
+
return this._default;
|
329
485
|
}
|
330
486
|
visitListComprehensionIf(node) {
|
331
|
-
return
|
487
|
+
return this._default;
|
332
488
|
}
|
333
489
|
visitMatch(node) {
|
334
|
-
return
|
490
|
+
return this._default;
|
335
491
|
}
|
336
492
|
visitMemberAccess(node) {
|
337
|
-
return
|
493
|
+
return this._default;
|
338
494
|
}
|
339
495
|
visitModule(node) {
|
340
|
-
return
|
496
|
+
return this._default;
|
341
497
|
}
|
342
498
|
visitModuleName(node) {
|
343
|
-
return
|
499
|
+
return this._default;
|
344
500
|
}
|
345
501
|
visitName(node) {
|
346
|
-
return
|
502
|
+
return this._default;
|
347
503
|
}
|
348
504
|
visitNonlocal(node) {
|
349
|
-
return
|
505
|
+
return this._default;
|
350
506
|
}
|
351
507
|
visitNumber(node) {
|
352
|
-
return
|
508
|
+
return this._default;
|
353
509
|
}
|
354
510
|
visitParameter(node) {
|
355
|
-
return
|
511
|
+
return this._default;
|
356
512
|
}
|
357
513
|
visitPass(node) {
|
358
|
-
return
|
514
|
+
return this._default;
|
359
515
|
}
|
360
516
|
visitPatternCapture(node) {
|
361
|
-
return
|
517
|
+
return this._default;
|
362
518
|
}
|
363
519
|
visitPatternClass(node) {
|
364
|
-
return
|
520
|
+
return this._default;
|
365
521
|
}
|
366
522
|
visitPatternClassArgument(node) {
|
367
|
-
return
|
523
|
+
return this._default;
|
368
524
|
}
|
369
525
|
visitPatternAs(node) {
|
370
|
-
return
|
526
|
+
return this._default;
|
371
527
|
}
|
372
528
|
visitPatternLiteral(node) {
|
373
|
-
return
|
529
|
+
return this._default;
|
374
530
|
}
|
375
531
|
visitPatternMappingExpandEntry(node) {
|
376
|
-
return
|
532
|
+
return this._default;
|
377
533
|
}
|
378
534
|
visitPatternSequence(node) {
|
379
|
-
return
|
535
|
+
return this._default;
|
380
536
|
}
|
381
537
|
visitPatternValue(node) {
|
382
|
-
return
|
538
|
+
return this._default;
|
383
539
|
}
|
384
540
|
visitPatternMappingKeyEntry(node) {
|
385
|
-
return
|
541
|
+
return this._default;
|
386
542
|
}
|
387
543
|
visitPatternMapping(node) {
|
388
|
-
return
|
544
|
+
return this._default;
|
389
545
|
}
|
390
546
|
visitRaise(node) {
|
391
|
-
return
|
547
|
+
return this._default;
|
392
548
|
}
|
393
549
|
visitReturn(node) {
|
394
|
-
return
|
550
|
+
return this._default;
|
395
551
|
}
|
396
552
|
visitSet(node) {
|
397
|
-
return
|
553
|
+
return this._default;
|
398
554
|
}
|
399
555
|
visitSlice(node) {
|
400
|
-
return
|
556
|
+
return this._default;
|
401
557
|
}
|
402
558
|
visitStatementList(node) {
|
403
|
-
return
|
559
|
+
return this._default;
|
404
560
|
}
|
405
561
|
visitString(node) {
|
406
|
-
return
|
562
|
+
return this._default;
|
407
563
|
}
|
408
564
|
visitStringList(node) {
|
409
|
-
return
|
565
|
+
return this._default;
|
410
566
|
}
|
411
567
|
visitSuite(node) {
|
412
|
-
return
|
568
|
+
return this._default;
|
413
569
|
}
|
414
570
|
visitTuple(node) {
|
415
|
-
return
|
571
|
+
return this._default;
|
416
572
|
}
|
417
573
|
visitTry(node) {
|
418
|
-
return
|
574
|
+
return this._default;
|
419
575
|
}
|
420
576
|
visitTypeAlias(node) {
|
421
|
-
return
|
577
|
+
return this._default;
|
422
578
|
}
|
423
579
|
visitTypeAnnotation(node) {
|
424
|
-
return
|
580
|
+
return this._default;
|
425
581
|
}
|
426
582
|
visitTypeParameter(node) {
|
427
|
-
return
|
583
|
+
return this._default;
|
428
584
|
}
|
429
585
|
visitTypeParameterList(node) {
|
430
|
-
return
|
586
|
+
return this._default;
|
431
587
|
}
|
432
588
|
visitUnaryOperation(node) {
|
433
|
-
return
|
589
|
+
return this._default;
|
434
590
|
}
|
435
591
|
visitUnpack(node) {
|
436
|
-
return
|
592
|
+
return this._default;
|
437
593
|
}
|
438
594
|
visitWhile(node) {
|
439
|
-
return
|
595
|
+
return this._default;
|
440
596
|
}
|
441
597
|
visitWith(node) {
|
442
|
-
return
|
598
|
+
return this._default;
|
443
599
|
}
|
444
600
|
visitWithItem(node) {
|
445
|
-
return
|
601
|
+
return this._default;
|
446
602
|
}
|
447
603
|
visitYield(node) {
|
448
|
-
return
|
604
|
+
return this._default;
|
449
605
|
}
|
450
606
|
visitYieldFrom(node) {
|
451
|
-
return
|
607
|
+
return this._default;
|
608
|
+
}
|
609
|
+
}
|
610
|
+
exports.ParseTreeVisitor = ParseTreeVisitor;
|
611
|
+
// To use this class, create a subclass and override the
|
612
|
+
// visitXXX methods that you want to handle.
|
613
|
+
class ParseTreeWalker extends ParseTreeVisitor {
|
614
|
+
constructor() {
|
615
|
+
super(/* default */ true);
|
616
|
+
}
|
617
|
+
walk(node) {
|
618
|
+
const childrenToWalk = this.visitNode(node);
|
619
|
+
if (childrenToWalk.length > 0) {
|
620
|
+
this.walkMultiple(childrenToWalk);
|
621
|
+
}
|
622
|
+
}
|
623
|
+
walkMultiple(nodes) {
|
624
|
+
nodes.forEach((node) => {
|
625
|
+
if (node) {
|
626
|
+
this.walk(node);
|
627
|
+
}
|
628
|
+
});
|
629
|
+
}
|
630
|
+
// If this.visit(node) returns true, all child nodes for the node are returned.
|
631
|
+
// If the method returns false, we assume that the handler has already handled the
|
632
|
+
// child nodes, so an empty list is returned.
|
633
|
+
visitNode(node) {
|
634
|
+
return this.visit(node) ? getChildNodes(node) : [];
|
452
635
|
}
|
453
636
|
}
|
454
637
|
exports.ParseTreeWalker = ParseTreeWalker;
|