Repository navigation
ask protocol trace
Where a protocol command or wire field travels. 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 > Where this protocol command travels... -- put the caret on the selection first (see IDE Menu Reference).
drag-lint ask --question protocol-trace --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 protocol-trace --target MyApp.Protocol.cmdDelta --db <project.sqlite>
A command constant or wire field (enum value), or a method.
For an enum-valued COMMAND: every bound read of it, grouped by zone -- who sends it, who dispatches on it. For a METHOD: which protocol commands it speaks.
Enum-value reference binding (refs.symbol_id on an enum value; resolver 1.6.0-alpha), the same data query find-callers --name <value> --resolved lists as [certain, read].
Row cap (default 20).
Needs an index resolved at resolver 1.6.0-alpha or later (index --all --resolve-only); an older index has no enum bindings and the trace is empty. A BARE enum read inside a routine containing a with block, or in a {$SCOPEDENUMS ON} unit, can bind wrongly -- verify those against the declaration.