Skip to content

Latest commit

 

History

History
86 lines (50 loc) · 4.17 KB

File metadata and controls

86 lines (50 loc) · 4.17 KB
graph LR
    Project["Project"]
    PyCore["PyCore"]
    PyObject["PyObject"]
    PyName["PyName"]
    PyScope["PyScope"]
    Evaluate["Evaluate"]
    Project -- "orchestrates and initializes" --> PyCore
    PyCore -- "manages" --> PyObject
    PyCore -- "manages" --> PyName
    PyCore -- "manages" --> PyScope
    PyObject -- "defines or is contained within" --> PyScope
    PyName -- "resolves to" --> PyObject
    PyScope -- "provides context for" --> PyName
    Evaluate -- "enriches" --> PyObject
    Evaluate -- "utilizes" --> PyName
    Evaluate -- "utilizes" --> PyScope
Loading

CodeBoardingDemoContact

Details

The Project & Semantic Model subsystem forms the analytical core of rope, responsible for understanding and representing Python code semantically.

Project

The top-level orchestrator and entry point for code analysis. It manages project-wide configurations, resources, and acts as the primary interface for interacting with the semantic model.

Related Classes/Methods:

PyCore

The central manager for the in-memory Python Object Model. It is responsible for building, caching, and maintaining the semantic representation of Python modules, classes, functions, and variables.

Related Classes/Methods:

PyObject

Represents fundamental Python entities (e.g., modules, classes, functions, variables) within the semantic model. It holds basic structural and type information, forming the nodes of the semantic graph.

Related Classes/Methods:

PyName

Represents a named entity in the code. Its primary function is to resolve a name to its corresponding PyObject, incorporating inferred type information. It acts as a pointer within the semantic model.

Related Classes/Methods:

PyScope

Defines lexical and semantic boundaries within the code (e.g., module scope, class scope, function scope). It manages the names defined within its context and maintains parent-child relationships with other scopes, crucial for name lookup.

Related Classes/Methods:

Evaluate

Performs static analysis and runtime object inference to determine types, values, and other semantic properties of code elements. It enriches the PyObject model with deeper semantic understanding.

Related Classes/Methods: