Extracts lightweight definition and reference facts from Elixir source or AST.
Summary
Functions
Returns true when a symbol matches a qualified-name string or MFA tuple.
Returns an MFA tuple when the target has a resolvable BEAM module.
Normalizes a symbol, MFA tuple, or qualified-name string to a qualified-name string.
Types
@type mfa_tuple() :: {module(), atom(), non_neg_integer()}
@type symbol_target() :: String.t() | mfa_tuple() | {String.t() | nil, atom() | String.t(), non_neg_integer()} | ExAST.Symbol.Definition.t() | ExAST.Symbol.Reference.t()
Functions
@spec definitions(String.t() | Macro.t()) :: [ExAST.Symbol.Definition.t()]
@spec matches?( ExAST.Symbol.Definition.t() | ExAST.Symbol.Reference.t(), symbol_target() ) :: boolean()
Returns true when a symbol matches a qualified-name string or MFA tuple.
@spec mfa(symbol_target()) :: mfa_tuple() | nil
Returns an MFA tuple when the target has a resolvable BEAM module.
@spec qualified_name(symbol_target()) :: String.t()
Normalizes a symbol, MFA tuple, or qualified-name string to a qualified-name string.
@spec references(String.t() | Macro.t()) :: [ExAST.Symbol.Reference.t()]