Query API for filtering and searching project nodes and edges.
Summary
Functions
Returns functions selected by changed line ranges, without expanding ranges into lines.
Returns terminal value origins that flow into a project node.
Returns a bounded value-flow path between two project nodes, or nil.
Indexes direct value-producing predecessors for all project nodes.
Returns direct value-producing predecessors for a project node.
Returns direct consumers of the value produced by a project node.
Functions
Returns functions selected by changed line ranges, without expanding ranges into lines.
@spec value_origins( Reach.Project.t(), Reach.IR.Node.t() | Reach.IR.Node.id(), keyword() ) :: [ Reach.IR.Node.t() ]
Returns terminal value origins that flow into a project node.
@spec value_path( Reach.Project.t(), Reach.IR.Node.t() | Reach.IR.Node.id(), Reach.IR.Node.t() | Reach.IR.Node.id(), keyword() ) :: [Reach.IR.Node.t()] | nil
Returns a bounded value-flow path between two project nodes, or nil.
@spec value_predecessor_index(Reach.Project.t()) :: %{ optional(Reach.IR.Node.id()) => [Reach.IR.Node.id()] }
Indexes direct value-producing predecessors for all project nodes.
@spec value_predecessors(Reach.Project.t(), Reach.IR.Node.t() | Reach.IR.Node.id()) :: [ Reach.IR.Node.t() ]
Returns direct value-producing predecessors for a project node.
@spec value_successors(Reach.Project.t(), Reach.IR.Node.t() | Reach.IR.Node.id()) :: [ Reach.IR.Node.t() ]
Returns direct consumers of the value produced by a project node.