dialyzer_races

DATA TYPES

args() = [label_type() | [string()]]
call() = whereis | register | unregister | ets_new | ets_lookup | ets_insert | mnesia_dirty_read1 | mnesia_dirty_read2 | mnesia_dirty_write1 | mnesia_dirty_write2 | function_call
case_tags() = beg_case | #beg_clause{arg=undefined | var_to_map1(), pats=undefined | var_to_map1(), guard=undefined | cerl() (see module cerl)} | #end_clause{arg=undefined | var_to_map1(), pats=undefined | var_to_map1(), guard=undefined | cerl() (see module cerl)} | #end_case{clauses=undefined | [#end_clause{arg=undefined | var_to_map1(), pats=undefined | var_to_map1(), guard=undefined | cerl() (see module cerl)}]}
code() = [#dep_call{call_name=undefined | dep_calls(), args=undefined | args(), arg_types=undefined | [erl_type() (see module erl_types)], vars=undefined | [core_vars()], state=undefined | term(), file_line=undefined | file_line(), var_map=undefined | dict()} | #fun_call{caller=undefined | mfa_or_funlbl(), callee=undefined | mfa_or_funlbl(), arg_types=undefined | [erl_type() (see module erl_types)], vars=undefined | [core_vars()]} | #warn_call{call_name=undefined | warn_calls(), args=undefined | args(), var_map=undefined | dict()} | #curr_fun{status=undefined | in | out, mfa=undefined | mfa_or_funlbl(), label=undefined | label(), def_vars=undefined | [core_vars()], arg_types=undefined | [erl_type() (see module erl_types)], call_vars=undefined | [core_vars()], var_map=undefined | dict()} | #let_tag{var=undefined | var_to_map1(), arg=undefined | var_to_map1()} | case_tags() | race_tag()]
core_args() = [core_vars()] | empty
core_vars() = cerl() (see module cerl) | no_arg | bypassed
dep_calls() = whereis | ets_lookup | mnesia_dirty_read
file_line() = {filename() (see module file), non_neg_integer()}
label() = non_neg_integer()
label_type() = label() | [label()] | {label()} | no_label
mfa_or_funlbl() = label() | mfa()
race_tag() = whereis_register | whereis_unregister | ets_lookup_insert | mnesia_dirty_read_write
races()
table() = {named, table_var(), [string()]} | other | no_t
table_var() = label() | no_label
var_to_map1() = core_vars() | [cerl() (see module cerl)]
warn_calls() = register | unregister | ets_insert | mnesia_dirty_write

Functions


store_race_call(Fun::mfa_or_funlbl(), ArgTypes::[erl_type() (see module erl_types)], Args::[core_vars()], FileLine::file_line(), State::state() (see module dialyzer_dataflow)) -> state() (see module dialyzer_dataflow)

race(State::state() (see module dialyzer_dataflow)) -> state() (see module dialyzer_dataflow)

format_args(ArgList::[core_vars()], TypeList::[erl_type() (see module erl_types)], State::state() (see module dialyzer_dataflow), Call::call()) -> args()

get_race_warnings(Races::races(), State::state() (see module dialyzer_dataflow)) -> {races(), state() (see module dialyzer_dataflow)}

beg_clause_new(Arg::var_to_map1(), Pats::var_to_map1(), Guard::cerl() (see module cerl)) -> #beg_clause{arg=undefined | var_to_map1(), pats=undefined | var_to_map1(), guard=undefined | cerl() (see module cerl)}

cleanup(Races::races()) -> races()

end_case_new(End_clause::[#end_clause{arg=undefined | var_to_map1(), pats=undefined | var_to_map1(), guard=undefined | cerl() (see module cerl)}]) -> #end_case{clauses=undefined | [#end_clause{arg=undefined | var_to_map1(), pats=undefined | var_to_map1(), guard=undefined | cerl() (see module cerl)}]}

end_clause_new(Arg::var_to_map1(), Pats::var_to_map1(), Guard::cerl() (see module cerl)) -> #end_clause{arg=undefined | var_to_map1(), pats=undefined | var_to_map1(), guard=undefined | cerl() (see module cerl)}

get_curr_fun(Races::races()) -> mfa_or_funlbl()

get_curr_fun_args(Races::races()) -> core_args()

get_new_table(Races::races()) -> table()

get_race_analysis(Races::races()) -> boolean()

get_race_list(Races::races()) -> code()

get_race_list_size(Races::races()) -> non_neg_integer()

let_tag_new(Var::var_to_map1(), Arg::var_to_map1()) -> #let_tag{var=undefined | var_to_map1(), arg=undefined | var_to_map1()}

new() -> races()

put_curr_fun(CurrFun::mfa_or_funlbl(), CurrFunLabel::label(), Races::races()) -> races()

put_fun_args(Args::core_args(), Races::races()) -> races()

put_race_analysis(Analysis::boolean(), Races::races()) -> races()

put_race_list(RaceList::code(), RaceListSize::non_neg_integer(), Races::races()) -> races()