Source-derived function and macro index for project modules.
Default arguments expand into every callable arity. Public and private definitions are kept separately so imports only resolve public API while local-call suppression can include both.
Summary
Functions
Builds an index from source without evaluating it.
True when the module has a public or private definition.
True when the module has a public definition at the given name and arity.
Returns the literal modules used by module.
Types
@type module_name() :: String.t()
@type t() :: %Ancora.Derive.DefIndex{ private: %{optional(module_name()) => MapSet.t(signature())}, public: %{optional(module_name()) => MapSet.t(signature())}, uses: %{optional(module_name()) => MapSet.t(module_name())} }
Functions
Builds an index from source without evaluating it.
True when the module has a public or private definition.
True when the module has a public definition at the given name and arity.
@spec uses(t(), module() | String.t()) :: MapSet.t(module_name())
Returns the literal modules used by module.