aboutsummaryrefslogtreecommitdiffstats
path: root/lib/dialyzer/src
diff options
context:
space:
mode:
Diffstat (limited to 'lib/dialyzer/src')
-rw-r--r--lib/dialyzer/src/dialyzer_succ_typings.erl8
1 files changed, 4 insertions, 4 deletions
diff --git a/lib/dialyzer/src/dialyzer_succ_typings.erl b/lib/dialyzer/src/dialyzer_succ_typings.erl
index af935f54f7..740081a33f 100644
--- a/lib/dialyzer/src/dialyzer_succ_typings.erl
+++ b/lib/dialyzer/src/dialyzer_succ_typings.erl
@@ -213,22 +213,22 @@ refine_one_module(M, State) ->
#st{callgraph = Callgraph, codeserver = CodeServer, plt = PLT} = State,
ModCode = dialyzer_codeserver:lookup_mod_code(M, CodeServer),
AllFuns = collect_fun_info([ModCode]),
- FunTypes = get_fun_types_from_plt(AllFuns, Callgraph, PLT),
Records = dialyzer_codeserver:lookup_mod_records(M, CodeServer),
{NewFunTypes, RaceCode, PublicTables, NamedTables} =
dialyzer_dataflow:get_fun_types(ModCode, PLT, Callgraph, Records),
NewCallgraph =
dialyzer_callgraph:renew_race_info(Callgraph, RaceCode, PublicTables,
NamedTables),
+ FunTypes = get_fun_types_from_plt(AllFuns, Callgraph, PLT),
+ State1 = st__renew_state_calls(NewCallgraph, State),
case reached_fixpoint(FunTypes, NewFunTypes) of
true ->
- State1 = st__renew_state_calls(NewCallgraph, State),
{State1, ordsets:new()};
{false, NotFixpoint} ->
?debug("Not fixpoint\n", []),
NewPlt = insert_into_plt(dict:from_list(NotFixpoint), Callgraph, PLT),
- NewState1 = st__renew_state_calls(NewCallgraph, State#st{plt = NewPlt}),
- {NewState1, ordsets:from_list([FunLbl || {FunLbl,_Type} <- NotFixpoint])}
+ {State1#st{plt = NewPlt},
+ ordsets:from_list([FunLbl || {FunLbl,_Type} <- NotFixpoint])}
end.
st__renew_state_calls(Callgraph, State) ->