aboutsummaryrefslogtreecommitdiffstats
path: root/lib/dialyzer/src/dialyzer_options.erl
diff options
context:
space:
mode:
authorHans Bolinder <[email protected]>2012-08-21 10:17:26 +0200
committerHans Bolinder <[email protected]>2012-08-21 10:17:26 +0200
commitffb066c7523f05fee3d26d8a148ffd3a10d966ff (patch)
treee886656288a583eee6c1d628f5ed74e7f2511128 /lib/dialyzer/src/dialyzer_options.erl
parenta8fb0d0537314f717f9ab33989a5115457c9aab0 (diff)
parent5c840fae80ece293a5a3fc2fc2698771d7d9d200 (diff)
downloadotp-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_options.erl')
-rw-r--r--lib/dialyzer/src/dialyzer_options.erl14
1 files changed, 13 insertions, 1 deletions
diff --git a/lib/dialyzer/src/dialyzer_options.erl b/lib/dialyzer/src/dialyzer_options.erl
index a1e316d6cc..06672e595f 100644
--- a/lib/dialyzer/src/dialyzer_options.erl
+++ b/lib/dialyzer/src/dialyzer_options.erl
@@ -2,7 +2,7 @@
%%-----------------------------------------------------------------------
%% %CopyrightBegin%
%%
-%% Copyright Ericsson AB 2006-2011. All Rights Reserved.
+%% Copyright Ericsson AB 2006-2012. All Rights Reserved.
%%
%% The contents of this file are subject to the Erlang Public License,
%% Version 1.1, (the "License"); you may not use this file except in
@@ -196,6 +196,9 @@ build_options([{OptionName, Value} = Term|Rest], Options) ->
build_options(Rest, Options#options{callgraph_file = Value});
timing ->
build_options(Rest, Options#options{timing = Value});
+ solvers ->
+ assert_solvers(Value),
+ build_options(Rest, Options#options{solvers = Value});
_ ->
bad_option("Unknown dialyzer command line option", Term)
end;
@@ -257,6 +260,15 @@ is_plt_mode(plt_remove) -> true;
is_plt_mode(plt_check) -> true;
is_plt_mode(succ_typings) -> false.
+assert_solvers([]) ->
+ ok;
+assert_solvers([v1|Terms]) ->
+ assert_solvers(Terms);
+assert_solvers([v2|Terms]) ->
+ assert_solvers(Terms);
+assert_solvers([Term|_]) ->
+ bad_option("Illegal value for solver", Term).
+
-spec build_warnings([atom()], [dial_warning()]) -> [dial_warning()].
build_warnings([Opt|Opts], Warnings) ->