Files
Viper_VSCode/architecture/generated/features/feat-parser-binder-and-symbols.md
TermiNexus e9e4693333
Some checks failed
Run mypy_primer on push / Run mypy_primer on push (push) Has been cancelled
Validation / Typecheck (push) Has been cancelled
Validation / Style (push) Has been cancelled
Validation / Test macos-latest (push) Has been cancelled
Validation / Test ubuntu-latest (push) Has been cancelled
Validation / Test windows-latest (push) Has been cancelled
Validation / Build (push) Has been cancelled
Validation / Required (push) Has been cancelled
初始化上传
2026-07-24 17:08:39 +08:00

25 KiB

Parser, Binder, and Symbols

Feature path: Parser, Binder, and Symbols

Implementation summary

  • Files: 22
  • Symbols: 633

Primary files

These are the main implementation files attached to this semantic node.

File Summary
packages/pyright/packages/pyright-internal/src/analyzer/analyzerNodeInfo.ts Stores and manages analysis metadata (scopes, declarations, control-flow, imports, and all) for parse nodes
packages/pyright/packages/pyright-internal/src/analyzer/binder.ts Performs Python parse-tree name binding and creates scopes and symbol tables for static analysis
packages/pyright/packages/pyright-internal/src/analyzer/declaration.ts Describes declaration kinds and interfaces that record symbol locations, nodes, and import/alias resolution metadata
packages/pyright/packages/pyright-internal/src/analyzer/declarationUtils.ts Utilities for inspecting, comparing, and resolving declarations and alias references in the analyzer
packages/pyright/packages/pyright-internal/src/analyzer/parseTreeCleaner.ts Walks a Module parse tree and clears analyzer-specific analysis info from each parse node
packages/pyright/packages/pyright-internal/src/analyzer/parseTreeUtils.ts Utilities for traversing, querying, and printing Python parse tree nodes and their evaluation ranges
packages/pyright/packages/pyright-internal/src/analyzer/parseTreeWalker.ts Traverses a Python parse tree and provides visitor/walker classes to visit and process parse nodes
packages/pyright/packages/pyright-internal/src/analyzer/scope.ts Models evaluation scopes and provides symbol table, binding info, and recursive lookup for Python analysis
packages/pyright/packages/pyright-internal/src/analyzer/scopeUtils.ts Utilities for locating and inspecting analysis scopes and scope hierarchies for parse tree nodes
packages/pyright/packages/pyright-internal/src/analyzer/symbol.ts Represents program symbols, tracking their flags, declarations, and synthesized type information
packages/pyright/packages/pyright-internal/src/analyzer/symbolNameUtils.ts Classify Python symbol names (private, protected, dunder, constant, type alias, public constant/type alias)
packages/pyright/packages/pyright-internal/src/analyzer/symbolUtils.ts Helpers for Symbol declaration queries, visibility checks, TypedDict index access, and class-var/final semantics
packages/pyright/packages/pyright-internal/src/analyzer/testWalker.ts Validates parse-tree node parent/range invariants and evaluates NameNode types using a TypeEvaluator
packages/pyright/packages/pyright-internal/src/parser/characterStream.ts Provides a character stream for inspecting and advancing through text used by parsers and tokenizers
packages/pyright/packages/pyright-internal/src/parser/characters.ts Classifies Unicode characters and provides fast lookup helpers for identifier tokenization
packages/pyright/packages/pyright-internal/src/parser/parseNodeUtils.ts Maps parse node and operator string names to their enum values and provides reverse lookup maps
packages/pyright/packages/pyright-internal/src/parser/parseNodes.ts Parse node types, enums, and helper functions for representing and manipulating Python AST nodes
packages/pyright/packages/pyright-internal/src/parser/parser.ts Parses Python source tokens into an abstract syntax tree and reports diagnostics
packages/pyright/packages/pyright-internal/src/parser/stringTokenUtils.ts Unescapes escaped string tokens and returns the unescaped value, escape errors, and non-ASCII/bytes info
packages/pyright/packages/pyright-internal/src/parser/tokenizer.ts Converts Python source into a stream of lexed tokens for parsing and analysis
packages/pyright/packages/pyright-internal/src/parser/tokenizerTypes.ts Defines enums, interfaces, and factory creators for Python tokenizer tokens and comments
packages/pyright/packages/pyright-internal/src/parser/unicode.ts Unicode character range tables used by the Python language specification

Symbol preview (40 of 633)

Symbol Kind Source
cleanNodeAnalysisInfo function packages/pyright/packages/pyright-internal/src/analyzer/analyzerNodeInfo.ts
getImportInfo function packages/pyright/packages/pyright-internal/src/analyzer/analyzerNodeInfo.ts
setImportInfo function packages/pyright/packages/pyright-internal/src/analyzer/analyzerNodeInfo.ts
getScope function packages/pyright/packages/pyright-internal/src/analyzer/analyzerNodeInfo.ts
setScope function packages/pyright/packages/pyright-internal/src/analyzer/analyzerNodeInfo.ts
getDeclaration function packages/pyright/packages/pyright-internal/src/analyzer/analyzerNodeInfo.ts
setDeclaration function packages/pyright/packages/pyright-internal/src/analyzer/analyzerNodeInfo.ts
getFlowNode function packages/pyright/packages/pyright-internal/src/analyzer/analyzerNodeInfo.ts
setFlowNode function packages/pyright/packages/pyright-internal/src/analyzer/analyzerNodeInfo.ts
getAfterFlowNode function packages/pyright/packages/pyright-internal/src/analyzer/analyzerNodeInfo.ts
setAfterFlowNode function packages/pyright/packages/pyright-internal/src/analyzer/analyzerNodeInfo.ts
getFileInfo function packages/pyright/packages/pyright-internal/src/analyzer/analyzerNodeInfo.ts
setFileInfo function packages/pyright/packages/pyright-internal/src/analyzer/analyzerNodeInfo.ts
getCodeFlowExpressions function packages/pyright/packages/pyright-internal/src/analyzer/analyzerNodeInfo.ts
setCodeFlowExpressions function packages/pyright/packages/pyright-internal/src/analyzer/analyzerNodeInfo.ts
getCodeFlowComplexity function packages/pyright/packages/pyright-internal/src/analyzer/analyzerNodeInfo.ts
setCodeFlowComplexity function packages/pyright/packages/pyright-internal/src/analyzer/analyzerNodeInfo.ts
getDunderAllInfo function packages/pyright/packages/pyright-internal/src/analyzer/analyzerNodeInfo.ts
setDunderAllInfo function packages/pyright/packages/pyright-internal/src/analyzer/analyzerNodeInfo.ts
isCodeUnreachable function packages/pyright/packages/pyright-internal/src/analyzer/analyzerNodeInfo.ts
getAnalyzerInfo function packages/pyright/packages/pyright-internal/src/analyzer/analyzerNodeInfo.ts
getAnalyzerInfoForWrite function packages/pyright/packages/pyright-internal/src/analyzer/analyzerNodeInfo.ts
Binder class packages/pyright/packages/pyright-internal/src/analyzer/binder.ts
Binder.bindModule method packages/pyright/packages/pyright-internal/src/analyzer/binder.ts
Binder.visitModule method packages/pyright/packages/pyright-internal/src/analyzer/binder.ts
Binder.visitSuite method packages/pyright/packages/pyright-internal/src/analyzer/binder.ts
Binder.visitModuleName method packages/pyright/packages/pyright-internal/src/analyzer/binder.ts
Binder.visitClass method packages/pyright/packages/pyright-internal/src/analyzer/binder.ts
Binder.visitFunction method packages/pyright/packages/pyright-internal/src/analyzer/binder.ts
Binder.visitLambda method packages/pyright/packages/pyright-internal/src/analyzer/binder.ts
Binder.visitCall method packages/pyright/packages/pyright-internal/src/analyzer/binder.ts
Binder.visitTypeParameterList method packages/pyright/packages/pyright-internal/src/analyzer/binder.ts
Binder.visitTypeAlias method packages/pyright/packages/pyright-internal/src/analyzer/binder.ts
Binder.visitAssignment method packages/pyright/packages/pyright-internal/src/analyzer/binder.ts
Binder.visitAssignmentExpression method packages/pyright/packages/pyright-internal/src/analyzer/binder.ts
Binder.visitAugmentedAssignment method packages/pyright/packages/pyright-internal/src/analyzer/binder.ts
Binder.visitDel method packages/pyright/packages/pyright-internal/src/analyzer/binder.ts
Binder.visitTypeAnnotation method packages/pyright/packages/pyright-internal/src/analyzer/binder.ts
Binder.visitFor method packages/pyright/packages/pyright-internal/src/analyzer/binder.ts
Binder.visitContinue method packages/pyright/packages/pyright-internal/src/analyzer/binder.ts
593 additional symbols omitted

Dependencies

Imported by:

  • packages/pyright/packages/pyright-internal/src/analyzer/analyzerFileInfo.ts
  • packages/pyright/packages/pyright-internal/src/analyzer/cellChainIndex.ts
  • packages/pyright/packages/pyright-internal/src/analyzer/checker.ts
  • packages/pyright/packages/pyright-internal/src/analyzer/codeFlowEngine.ts
  • packages/pyright/packages/pyright-internal/src/analyzer/codeFlowTypes.ts
  • packages/pyright/packages/pyright-internal/src/analyzer/codeFlowUtils.ts
  • packages/pyright/packages/pyright-internal/src/analyzer/commentUtils.ts
  • packages/pyright/packages/pyright-internal/src/analyzer/constructorTransform.ts
  • packages/pyright/packages/pyright-internal/src/analyzer/constructors.ts
  • packages/pyright/packages/pyright-internal/src/analyzer/dataClasses.ts
  • packages/pyright/packages/pyright-internal/src/analyzer/decorators.ts
  • packages/pyright/packages/pyright-internal/src/analyzer/enums.ts
  • packages/pyright/packages/pyright-internal/src/analyzer/functionTransform.ts
  • packages/pyright/packages/pyright-internal/src/analyzer/importResolver.ts
  • packages/pyright/packages/pyright-internal/src/analyzer/importStatementUtils.ts
  • packages/pyright/packages/pyright-internal/src/analyzer/namedTuples.ts
  • packages/pyright/packages/pyright-internal/src/analyzer/operations.ts
  • packages/pyright/packages/pyright-internal/src/analyzer/packageTypeReport.ts
  • packages/pyright/packages/pyright-internal/src/analyzer/packageTypeVerifier.ts
  • packages/pyright/packages/pyright-internal/src/analyzer/parameterUtils.ts
  • packages/pyright/packages/pyright-internal/src/analyzer/patternMatching.ts
  • packages/pyright/packages/pyright-internal/src/analyzer/program.ts
  • packages/pyright/packages/pyright-internal/src/analyzer/properties.ts
  • packages/pyright/packages/pyright-internal/src/analyzer/protocols.ts
  • packages/pyright/packages/pyright-internal/src/analyzer/sentinel.ts
  • packages/pyright/packages/pyright-internal/src/analyzer/sourceFile.ts
  • packages/pyright/packages/pyright-internal/src/analyzer/sourceMapper.ts
  • packages/pyright/packages/pyright-internal/src/analyzer/staticExpressions.ts
  • packages/pyright/packages/pyright-internal/src/analyzer/tracePrinter.ts
  • packages/pyright/packages/pyright-internal/src/analyzer/tuples.ts
  • packages/pyright/packages/pyright-internal/src/analyzer/typeCacheUtils.ts
  • packages/pyright/packages/pyright-internal/src/analyzer/typeDocStringUtils.ts
  • packages/pyright/packages/pyright-internal/src/analyzer/typeEvaluator.ts
  • packages/pyright/packages/pyright-internal/src/analyzer/typeEvaluatorTypes.ts
  • packages/pyright/packages/pyright-internal/src/analyzer/typeGuards.ts
  • packages/pyright/packages/pyright-internal/src/analyzer/typePrinter.ts
  • packages/pyright/packages/pyright-internal/src/analyzer/typeStubWriter.ts
  • packages/pyright/packages/pyright-internal/src/analyzer/typeUtils.ts
  • packages/pyright/packages/pyright-internal/src/analyzer/typedDicts.ts
  • packages/pyright/packages/pyright-internal/src/analyzer/types.ts
  • packages/pyright/packages/pyright-internal/src/commands/dumpFileDebugInfoCommand.ts
  • packages/pyright/packages/pyright-internal/src/common/extensibility.ts
  • packages/pyright/packages/pyright-internal/src/common/languageInfoUtils.ts
  • packages/pyright/packages/pyright-internal/src/common/lspUtils.ts
  • packages/pyright/packages/pyright-internal/src/common/positionUtils.ts
  • packages/pyright/packages/pyright-internal/src/common/textEditTracker.ts
  • packages/pyright/packages/pyright-internal/src/languageServerBase.ts
  • packages/pyright/packages/pyright-internal/src/languageService/autoImporter.ts
  • packages/pyright/packages/pyright-internal/src/languageService/callHierarchyProvider.ts
  • packages/pyright/packages/pyright-internal/src/languageService/completionProvider.ts
  • packages/pyright/packages/pyright-internal/src/languageService/completionProviderUtils.ts
  • packages/pyright/packages/pyright-internal/src/languageService/definitionProvider.ts
  • packages/pyright/packages/pyright-internal/src/languageService/documentHighlightProvider.ts
  • packages/pyright/packages/pyright-internal/src/languageService/documentSymbolCollector.ts
  • packages/pyright/packages/pyright-internal/src/languageService/documentSymbolProvider.ts
  • packages/pyright/packages/pyright-internal/src/languageService/hoverProvider.ts
  • packages/pyright/packages/pyright-internal/src/languageService/importSorter.ts
  • packages/pyright/packages/pyright-internal/src/languageService/referencesProvider.ts
  • packages/pyright/packages/pyright-internal/src/languageService/renameProvider.ts
  • packages/pyright/packages/pyright-internal/src/languageService/signatureHelpProvider.ts
  • packages/pyright/packages/pyright-internal/src/languageService/symbolIndexer.ts
  • packages/pyright/packages/pyright-internal/src/languageService/tooltipUtils.ts
  • packages/pyright/packages/pyright-internal/src/languageService/workspaceSymbolProvider.ts

Imports:

  • packages/pyright/packages/pyright-internal/src/analyzer/analyzerFileInfo.ts
  • packages/pyright/packages/pyright-internal/src/analyzer/cellChainIndex.ts
  • packages/pyright/packages/pyright-internal/src/analyzer/codeFlowTypes.ts
  • packages/pyright/packages/pyright-internal/src/analyzer/importResult.ts
  • packages/pyright/packages/pyright-internal/src/analyzer/importStatementUtils.ts
  • packages/pyright/packages/pyright-internal/src/analyzer/staticExpressions.ts
  • packages/pyright/packages/pyright-internal/src/analyzer/typeEvaluatorTypes.ts
  • packages/pyright/packages/pyright-internal/src/analyzer/types.ts
  • packages/pyright/packages/pyright-internal/src/commands/commands.ts
  • packages/pyright/packages/pyright-internal/src/common/charCodes.ts
  • packages/pyright/packages/pyright-internal/src/common/collectionUtils.ts
  • packages/pyright/packages/pyright-internal/src/common/configOptions.ts
  • packages/pyright/packages/pyright-internal/src/common/core.ts
  • packages/pyright/packages/pyright-internal/src/common/debug.ts
  • packages/pyright/packages/pyright-internal/src/common/diagnostic.ts
  • packages/pyright/packages/pyright-internal/src/common/diagnosticRules.ts
  • packages/pyright/packages/pyright-internal/src/common/diagnosticSink.ts
  • packages/pyright/packages/pyright-internal/src/common/pathUtils.ts
  • packages/pyright/packages/pyright-internal/src/common/positionUtils.ts
  • packages/pyright/packages/pyright-internal/src/common/pythonVersion.ts
  • packages/pyright/packages/pyright-internal/src/common/stringUtils.ts
  • packages/pyright/packages/pyright-internal/src/common/textRange.ts
  • packages/pyright/packages/pyright-internal/src/common/textRangeCollection.ts
  • packages/pyright/packages/pyright-internal/src/common/timing.ts
  • packages/pyright/packages/pyright-internal/src/common/uri/uri.ts
  • packages/pyright/packages/pyright-internal/src/localization/localize.ts