Skip to content

Calls

calls

Pydantic models for call-site analysis.

These models represent function/method call locations found via tree-sitter parsing, used by the caller analysis feature.

CallSite

Bases: BaseModel

A single function/method call location.

Example

cs = CallSite( ... module="cli", ... symbol="greet", ... line=42, ... column=8, ... context="main", ... call_expression='greet("world")', ... ) cs.module 'cli'

Source code in packages/axm-ast/src/axm_ast/models/calls.py
class CallSite(BaseModel):
    """A single function/method call location.

    Example:
        >>> cs = CallSite(
        ...     module="cli",
        ...     symbol="greet",
        ...     line=42,
        ...     column=8,
        ...     context="main",
        ...     call_expression='greet("world")',
        ... )
        >>> cs.module
        'cli'
    """

    model_config = ConfigDict(extra="forbid")

    module: str = Field(description="Dotted module name")
    symbol: str = Field(description="Called symbol name")
    line: int = Field(description="Line number (1-indexed)")
    column: int = Field(description="Column offset (0-indexed)")
    context: str | None = Field(
        default=None,
        description="Enclosing function/class name",
    )
    call_expression: str = Field(
        description="Raw text of the call expression",
    )