I am examples for GtBridge.Analysis, the static analysis module.
Summary
Functions
I define a module outside the bridge's pipeline (bare eval, as iex
or dynamic codegen would) and verify sync enters it into the
record: the fact is broadcast and the projection picks it up.
Message-driven - I wait on the broker's own event, no sleeps.
Returns the names sync announced.
I delete a module out-of-band (bare :code.delete, not the bridge's
purge) and verify full reconciliation retracts it as a
:source_removed fact. Not loaded alone is not enough (the BEAM
loads lazily); gone means not vouched for by any app spec and not
loadable either. Returns the reconciliation diff.
Callback implementation for ExExample.Behaviour.copy/1.
Callback implementation for ExExample.Behaviour.rerun?/1.
Functions
I define a module outside the bridge's pipeline (bare eval, as iex
or dynamic codegen would) and verify sync enters it into the
record: the fact is broadcast and the projection picks it up.
Message-driven - I wait on the broker's own event, no sleeps.
Returns the names sync announced.
I delete a module out-of-band (bare :code.delete, not the bridge's
purge) and verify full reconciliation retracts it as a
:source_removed fact. Not loaded alone is not enough (the BEAM
loads lazily); gone means not vouched for by any app spec and not
loadable either. Returns the reconciliation diff.
@spec app_dep_tree() :: map()
@spec app_reverse_dep_tree() :: map()
@spec append_function_finds_module_end() :: String.t()
@spec call_sites_simple() :: [map()]
@spec call_sites_with_aliases() :: [map()]
@spec callees_of_eval() :: [module()]
@spec callers_of_serializer() :: [module()]
Callback implementation for ExExample.Behaviour.copy/1.
@spec dynamic_module_discovery() :: [String.t()]
@spec exported_functions() :: [map()]
@spec exported_functions_erlang() :: [map()]
@spec functions_in_source_includes_types() :: [map()]
@spec implementors_of_start_link() :: [map()]
@spec implementors_required_keys() :: [map()]
@spec implementors_with_arity() :: [map()]
@spec mnesia_tables() :: [map()]
@spec module_details() :: [map()]
@spec module_graph() :: [GtBridge.Analysis.edge()]
@spec references_to_source_file() :: [map()]
@spec replace_function_save_and_delete() :: String.t()
Callback implementation for ExExample.Behaviour.rerun?/1.
@spec root_apps() :: [atom()]
@spec supervision_tree() :: map()
@spec swap_functions_keeps_bodies_intact() :: String.t()
@spec system_doc_coverage() :: [map()]
@spec system_info() :: map()
@spec system_stats() :: map()
@spec typedstruct_with_options_locates_t() :: map()