Skip to content

ask who calls

Alexander Liberov edited this page Oct 21, 2026 · 2 revisions

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.

Asking it

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>

You select

A method or routine.

The chart shows

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.

It stands on

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.

Parameters

Depth (default 2).

Read it carefully

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.

Clone this wiki locally