dialyzer_behaviours

DATA TYPES

arg_list() = [byte()]
behaviour() = atom()
behaviour_api_dict() = [{behaviour(), behaviour_api_info()}]
behaviour_api_info() = [{original_fun(), replacement_fun()}]
dial_warn_tag() = warn_return_no_exit | warn_return_only_exit | warn_not_called | warn_non_proper_list | warn_matching | warn_opaque | warn_fun_app | warn_failing_call | warn_bin_construction | warn_contract_types | warn_contract_syntax | warn_contract_not_equal | warn_contract_subtype | warn_contract_supertype | warn_callgraph | warn_umatched_return | warn_race_condition | warn_behaviour | warn_contract_range | warn_undefined_callbacks
dial_warning() = {dial_warn_tag(), file_line(), {atom(), [term()]}}
file_line() = {filename() (see module file), non_neg_integer()}
original_fun() = {atom(), arity()}
replacement_fun() = {atom(), arity(), arg_list()}

Functions


check_callbacks(Module::module(), Attrs::[{cerl() (see module cerl), cerl() (see module cerl)}], Plt::plt() (see module dialyzer_plt), Codeserver::codeserver() (see module dialyzer_codeserver)) -> [dial_warning()]

translatable_behaviours(Tree::c_module() (see module cerl)) -> behaviour_api_dict()

get_behaviour_apis(Behaviours::[behaviour()]) -> [mfa()]

translate_behaviour_api_call(Fun::mfa_or_funlbl() (see module dialyzer_races), ArgTypes::[erl_type() (see module erl_types)], Args::[core_vars() (see module dialyzer_races)], Module::module(), BehApiInfo::behaviour_api_dict()) -> {mfa_or_funlbl() (see module dialyzer_races), [erl_type() (see module erl_types)], [core_vars() (see module dialyzer_races)]} | plain_call

translate_callgraph(Behaviours::behaviour_api_dict(), Module::atom(), Callgraph::callgraph() (see module dialyzer_callgraph)) -> callgraph() (see module dialyzer_callgraph)