summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/rebar_prv_dialyzer.erl13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/rebar_prv_dialyzer.erl b/src/rebar_prv_dialyzer.erl
index 82b4012..1de978b 100644
--- a/src/rebar_prv_dialyzer.erl
+++ b/src/rebar_prv_dialyzer.erl
@@ -155,6 +155,13 @@ plt_name(Prefix) ->
do(Args, State, Plt) ->
Output = get_output_file(State),
+ case debug_info(State) of
+ true ->
+ ok;
+ false ->
+ ?WARN("Add debug_info to compiler options (erl_opts) "
+ "if Dialyzer fails to load Core Erlang.", [])
+ end,
{PltWarnings, State1} = update_proj_plt(Args, State, Plt, Output),
{Warnings, State2} = succ_typings(Args, State1, Plt, Output),
case PltWarnings + Warnings of
@@ -539,6 +546,12 @@ get_config(State, Key, Default) ->
Config = rebar_state:get(State, dialyzer, []),
proplists:get_value(Key, Config, Default).
+debug_info(State) ->
+ Config = rebar_state:get(State, erl_opts, []),
+ proplists:get_value(debug_info, Config, false) =/= false orelse
+ proplists:get_value(debug_info_key, Config, false) =/= false orelse
+ proplists:get_value(encrypt_debug_info, Config, false) =/= false.
+
-spec collect_nested_dependent_apps([atom()]) -> [atom()].
collect_nested_dependent_apps(RootApps) ->
Deps = lists:foldl(fun collect_nested_dependent_apps/2, sets:new(), RootApps),