dialyzer_analysis_callgraph

DATA TYPES

anal_type() = succ_typings | plt_build
compile_init_data() = #compile_init{callgraph=undefined | callgraph() (see module dialyzer_callgraph), codeserver=undefined | codeserver() (see module dialyzer_codeserver), defines=[dial_define()], include_dirs=[filename() (see module file)], start_from=start_from(), use_contracts=boolean()}
compile_mid_data() = {module(), cerl() (see module cerl), [mfa()], callgraph() (see module dialyzer_callgraph), codeserver() (see module dialyzer_codeserver)}
compile_result() = {[{filename() (see module file), error_reason()}], [mfa()], [module()]}

opaque

dial_define() = {atom(), term()}
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
error_reason() = string()
label() = non_neg_integer()
mfa_or_funlbl() = label() | mfa()
one_file_result() = {error, error_reason()} | {ok, [callgraph_edge() (see module dialyzer_callgraph)], [mfa_or_funlbl()], [mfa()], module()}

opaque

solver() = v1 | v2
start_from() = byte_code | src_code

Functions


start(Parent::pid(), LegalWarnings::[dial_warn_tag()], Analysis::#analysis{analysis_pid=undefined | pid(), type=anal_type(), defines=[dial_define()], doc_plt=undefined | plt() (see module dialyzer_plt), files=[filename() (see module file)], include_dirs=[filename() (see module file)], start_from=start_from(), plt=undefined | plt() (see module dialyzer_plt), use_contracts=boolean(), race_detection=boolean(), behaviours_chk=boolean(), timing=boolean() | debug, timing_server=undefined | timing_server() (see module dialyzer_timing), callgraph_file=filename() (see module file), solvers=undefined | [solver()]}) -> ok

compile_init_result() -> compile_result()

add_to_result(File::filename() (see module file), NewData::one_file_result(), X3::compile_result(), InitData::compile_init_data()) -> compile_result()

start_compilation(File::filename() (see module file), Compile_init::compile_init_data()) -> {error, error_reason()} | {ok, integer(), compile_mid_data()}

continue_compilation(NextLabel::integer(), X2::compile_mid_data()) -> one_file_result()