find_all_callers_recursive
Identify all transitive callers of a C/C++ symbol via BFS graph traversal, up to a configurable depth, for ripple-effect impact analysis.
Instructions
USE INSTEAD OF ctx_callgraph(action="callers"). Find all transitive C/C++ callers — who calls name, directly or indirectly, through the libclang call graph including function-pointer edges.
Use for impact analysis: "if I change this function, how far does the
ripple go?" Returns callers at depth 1 (direct), depth 2 (callers of
callers), up to max_depth (default 5). Results are deduplicated —
each caller appears once at its shortest distance to the target.
For a flat, single-level caller list use find_callers (faster).
Requires the reference index (fw-context index — refs on by default).
BFS from the target outward; performance scales with call-graph fan-out.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | Symbol name to find transitive callers of. | |
| limit | No | Maximum results (default 50). | |
| max_depth | No | Maximum BFS depth for transitive search (default 5). | |
| project_root | No | Project root. Auto-detected if omitted. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| result | Yes |