View Source edb_server_code (edb_core v0.4.0)

Summary

Types

deep_list/1

-type deep_list(A) :: [A | deep_list(A)].

form/0

forms/0

-type forms() :: [form()].

line/0

-type line() :: edb:line().

Functions

fetch_abstract_forms(Module)

-spec fetch_abstract_forms(Module) -> {ok, forms()} | {error, Error}
                              when
                                  Module :: module(),
                                  Error :: no_abstract_code | {beam_analysis, term()}.

find_fun(Name, Arity, Forms)

-spec find_fun(Name, Arity, Forms) -> {ok, form()} | not_found
                  when Name :: atom(), Arity :: non_neg_integer(), Forms :: forms().

find_fun_containing_line(Line, Forms)

-spec find_fun_containing_line(Line, Forms) -> {ok, form()} | not_found
                                  when Line :: line(), Forms :: forms().

get_call_targets(Line, Forms)

-spec get_call_targets(Line, Forms) -> {ok, [CallTarget, ...]} | {error, Reason}
                          when
                              Line :: line(),
                              Forms :: forms(),
                              CallTarget :: {mfa(), Args :: [erl_syntax:syntaxTree()]},
                              Reason ::
                                  not_found | {no_call_in_expr, Type :: atom()} | unsupported_operator.

get_line_span(Form)

-spec get_line_span(Form) -> {line(), line()} when Form :: form().

module_source(Module)

-spec module_source(Module :: module()) -> undefined | file:filename().