aboutsummaryrefslogtreecommitdiffstats
path: root/lib/dialyzer/src/dialyzer_analysis_callgraph.erl
diff options
context:
space:
mode:
authorHans Bolinder <[email protected]>2016-10-21 09:16:34 +0200
committerHans Bolinder <[email protected]>2016-10-21 09:16:34 +0200
commit055b1b09537b8900489d28ba37078edd7be57d04 (patch)
treee4502144f074bf226f110fcbb6409f1e0785ab37 /lib/dialyzer/src/dialyzer_analysis_callgraph.erl
parentad2c3de34f2452378b5c550ddc0795a1fe6efe4c (diff)
parent56b3298377c7422345076f342c0d99901aee34fc (diff)
downloadotp-055b1b09537b8900489d28ba37078edd7be57d04.tar.gz
otp-055b1b09537b8900489d28ba37078edd7be57d04.tar.bz2
otp-055b1b09537b8900489d28ba37078edd7be57d04.zip
Merge branch 'fishcakez/dialyzer/fix_attribute_bug/ERL-283/OTP-13979' into maint
* fishcakez/dialyzer/fix_attribute_bug/ERL-283/OTP-13979: dialyzer: Fix error handling of bad -dialyzer() attributes
Diffstat (limited to 'lib/dialyzer/src/dialyzer_analysis_callgraph.erl')
-rw-r--r--lib/dialyzer/src/dialyzer_analysis_callgraph.erl40
1 files changed, 22 insertions, 18 deletions
diff --git a/lib/dialyzer/src/dialyzer_analysis_callgraph.erl b/lib/dialyzer/src/dialyzer_analysis_callgraph.erl
index 50fc1d8471..08e55a78bd 100644
--- a/lib/dialyzer/src/dialyzer_analysis_callgraph.erl
+++ b/lib/dialyzer/src/dialyzer_analysis_callgraph.erl
@@ -406,24 +406,28 @@ compile_common(File, AbstrCode, CompOpts, Callgraph, CServer,
{ok, RecInfo} ->
CServer1 =
dialyzer_codeserver:store_temp_records(Mod, RecInfo, CServer),
- MetaFunInfo =
- dialyzer_utils:get_fun_meta_info(Mod, AbstrCode, LegalWarnings),
- CServer2 =
- dialyzer_codeserver:insert_fun_meta_info(MetaFunInfo, CServer1),
- case UseContracts of
- true ->
- case dialyzer_utils:get_spec_info(Mod, AbstrCode, RecInfo) of
- {error, _} = Error -> Error;
- {ok, SpecInfo, CallbackInfo} ->
- CServer3 =
- dialyzer_codeserver:store_temp_contracts(Mod, SpecInfo,
- CallbackInfo,
- CServer2),
- store_core(Mod, Core, Callgraph, CServer3)
- end;
- false ->
- store_core(Mod, Core, Callgraph, CServer2)
- end
+ case
+ dialyzer_utils:get_fun_meta_info(Mod, AbstrCode, LegalWarnings)
+ of
+ {error, _} = Error -> Error;
+ MetaFunInfo ->
+ CServer2 =
+ dialyzer_codeserver:insert_fun_meta_info(MetaFunInfo, CServer1),
+ case UseContracts of
+ true ->
+ case dialyzer_utils:get_spec_info(Mod, AbstrCode, RecInfo) of
+ {error, _} = Error -> Error;
+ {ok, SpecInfo, CallbackInfo} ->
+ CServer3 =
+ dialyzer_codeserver:store_temp_contracts(Mod, SpecInfo,
+ CallbackInfo,
+ CServer2),
+ store_core(Mod, Core, Callgraph, CServer3)
+ end;
+ false ->
+ store_core(Mod, Core, Callgraph, CServer2)
+ end
+ end
end
end.