diff options
author | Hans Bolinder <[email protected]> | 2012-08-21 10:17:26 +0200 |
---|---|---|
committer | Hans Bolinder <[email protected]> | 2012-08-21 10:17:26 +0200 |
commit | ffb066c7523f05fee3d26d8a148ffd3a10d966ff (patch) | |
tree | e886656288a583eee6c1d628f5ed74e7f2511128 /lib/dialyzer/src/dialyzer_analysis_callgraph.erl | |
parent | a8fb0d0537314f717f9ab33989a5115457c9aab0 (diff) | |
parent | 5c840fae80ece293a5a3fc2fc2698771d7d9d200 (diff) | |
download | otp-ffb066c7523f05fee3d26d8a148ffd3a10d966ff.tar.gz otp-ffb066c7523f05fee3d26d8a148ffd3a10d966ff.tar.bz2 otp-ffb066c7523f05fee3d26d8a148ffd3a10d966ff.zip |
Merge branch 'maint'
* maint:
Add an undocumented option [--solver [v1 | v2]]
Add an alternative implmentation of the typesignature solver
Diffstat (limited to 'lib/dialyzer/src/dialyzer_analysis_callgraph.erl')
-rw-r--r-- | lib/dialyzer/src/dialyzer_analysis_callgraph.erl | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/lib/dialyzer/src/dialyzer_analysis_callgraph.erl b/lib/dialyzer/src/dialyzer_analysis_callgraph.erl index 3bbde12481..496d317f8a 100644 --- a/lib/dialyzer/src/dialyzer_analysis_callgraph.erl +++ b/lib/dialyzer/src/dialyzer_analysis_callgraph.erl @@ -53,7 +53,8 @@ plt :: dialyzer_plt:plt(), start_from = byte_code :: start_from(), use_contracts = true :: boolean(), - timing_server :: dialyzer_timing:timing_server() + timing_server :: dialyzer_timing:timing_server(), + solvers :: [solver()] }). -record(server_state, {parent :: pid(), legal_warnings :: [dial_warn_tag()]}). @@ -136,7 +137,8 @@ analysis_start(Parent, Analysis) -> parent = Parent, start_from = Analysis#analysis.start_from, use_contracts = Analysis#analysis.use_contracts, - timing_server = Analysis#analysis.timing_server + timing_server = Analysis#analysis.timing_server, + solvers = Analysis#analysis.solvers }, Files = ordsets:from_list(Analysis#analysis.files), {Callgraph, NoWarn, TmpCServer0} = compile_and_store(Files, State), @@ -192,20 +194,21 @@ analysis_start(Parent, Analysis) -> analyze_callgraph(Callgraph, #analysis_state{codeserver = Codeserver, doc_plt = DocPlt, timing_server = TimingServer, - parent = Parent} = State) -> + parent = Parent, + solvers = Solvers} = State) -> Plt = dialyzer_plt:insert_callbacks(State#analysis_state.plt, Codeserver), {NewPlt, NewDocPlt} = case State#analysis_state.analysis_type of plt_build -> NewPlt0 = dialyzer_succ_typings:analyze_callgraph(Callgraph, Plt, Codeserver, - TimingServer, Parent), + TimingServer, Solvers, Parent), {NewPlt0, DocPlt}; succ_typings -> NoWarn = State#analysis_state.no_warn_unused, {Warnings, NewPlt0, NewDocPlt0} = dialyzer_succ_typings:get_warnings(Callgraph, Plt, DocPlt, Codeserver, - NoWarn, TimingServer, Parent), + NoWarn, TimingServer, Solvers, Parent), send_warnings(State#analysis_state.parent, Warnings), {NewPlt0, NewDocPlt0} end, |