Repository navigation
ask who calls
The N-deep caller tree. One of the diagram questions of the ask verb -- see Diagrams and Charts for the model, the bundle and click-to-source.
Answered in-process by the engine (drag-lint ask); no PowerShell is needed (see Charts and the IDE).
From RAD Studio: drag-lint > Reports > Who calls this routine... -- put the caret on the selection first (see IDE Menu Reference).
drag-lint ask --question who-calls --at <file.pas>:<line>:<col> --db <project.sqlite>
The selection is the symbol under --at (resolved exactly as Type at Cursor resolves a caret). From a terminal, ask it by name:
drag-lint ask who-calls --target MyApp.Orders.TOrderService.Post --db <project.sqlite>
A method or routine.
Every routine that calls the selection, then every routine that calls those, to the requested depth. A cycle is drawn once and marked, never walked forever.
reverse-calltree (resolved call_edges) unioned with the name-matched caller bucket at every hop, so a bare call the resolver typed to the wrong receiver is still found. Name-matched rows are marked as such.
Depth (default 2).
An EVENT HANDLER correctly has no code callers: its caller is the form file. Ask event-wiring instead. Name-matched rows are hypotheses -- two routines can share a name.