Reach.Project.Query (Reach v2.8.1)

Copy Markdown View Source

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

all_variants(project, arg)

callees(project, target, depth \\ 3)

callers(project, target, depth \\ 4)

file_matches?(file, path)

find_function(project, target)

find_function_at_location(project, file, line)

func_location(project, func_id)

function_index(project)

functions_in_ranges(project, ranges_by_file)

Returns functions selected by changed line ranges, without expanding ranges into lines.

mfa?(arg1)

parse_file_line(raw)

parse_function_reference(name)

reset_cache()

resolve_function(project, target)

resolve_target(project, raw)

value_origins(project, node_or_id, opts \\ [])

@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.

value_path(project, from, to, opts \\ [])

Returns a bounded value-flow path between two project nodes, or nil.

value_predecessor_index(project)

@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.

value_predecessors(project, node_or_id)

@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.

value_successors(project, node_or_id)

@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.