Examples.EAnalysis (gt_bridge v0.18.0)

Copy Markdown View Source

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

__ex_example__dynamic_module_discovery__()

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.

__ex_example__out_of_band_removal_retracted__()

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.

app_dep_tree()

@spec app_dep_tree() :: map()

app_reverse_dep_tree()

@spec app_reverse_dep_tree() :: map()

append_function_finds_module_end()

@spec append_function_finds_module_end() :: String.t()

call_sites_simple()

@spec call_sites_simple() :: [map()]

call_sites_with_aliases()

@spec call_sites_with_aliases() :: [map()]

callees_of_eval()

@spec callees_of_eval() :: [module()]

callers_of_serializer()

@spec callers_of_serializer() :: [module()]

copy(item)

Callback implementation for ExExample.Behaviour.copy/1.

dynamic_module_discovery()

@spec dynamic_module_discovery() :: [String.t()]

example_deps()

@spec example_deps() :: [{String.t(), [String.t()]}]

exported_functions()

@spec exported_functions() :: [map()]

exported_functions_erlang()

@spec exported_functions_erlang() :: [map()]

functions_in_source_includes_types()

@spec functions_in_source_includes_types() :: [map()]

implementors_of_start_link()

@spec implementors_of_start_link() :: [map()]

implementors_required_keys()

@spec implementors_required_keys() :: [map()]

implementors_with_arity()

@spec implementors_with_arity() :: [map()]

mnesia_tables()

@spec mnesia_tables() :: [map()]

module_details()

@spec module_details() :: [map()]

module_graph()

@spec module_graph() :: [GtBridge.Analysis.edge()]

modules_loaded_batch_query()

@spec modules_loaded_batch_query() :: %{required(String.t()) => boolean()}

out_of_band_removal_retracted()

@spec out_of_band_removal_retracted() :: %{added: [String.t()], removed: [String.t()]}

references_to_source_file()

@spec references_to_source_file() :: [map()]

replace_function_save_and_delete()

@spec replace_function_save_and_delete() :: String.t()

rerun?(_)

Callback implementation for ExExample.Behaviour.rerun?/1.

root_apps()

@spec root_apps() :: [atom()]

supervision_tree()

@spec supervision_tree() :: map()

swap_functions_keeps_bodies_intact()

@spec swap_functions_keeps_bodies_intact() :: String.t()

system_doc_coverage()

@spec system_doc_coverage() :: [map()]

system_info()

@spec system_info() :: map()

system_stats()

@spec system_stats() :: map()

typedstruct_with_options_locates_t()

@spec typedstruct_with_options_locates_t() :: map()