From 0db2668288bf399983e0f6daac85b00d68ab0360 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B6rn=20Gustavsson?= Date: Wed, 7 May 2014 07:43:20 +0200 Subject: BER: Eliminate dialyzer warnings for specialized decode functions --- lib/asn1/src/asn1ct_gen_ber_bin_v2.erl | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) (limited to 'lib/asn1/src/asn1ct_gen_ber_bin_v2.erl') diff --git a/lib/asn1/src/asn1ct_gen_ber_bin_v2.erl b/lib/asn1/src/asn1ct_gen_ber_bin_v2.erl index 9cb343629d..e51b0898be 100644 --- a/lib/asn1/src/asn1ct_gen_ber_bin_v2.erl +++ b/lib/asn1/src/asn1ct_gen_ber_bin_v2.erl @@ -67,15 +67,21 @@ %%=============================================================================== dialyzer_suppressions(_) -> - case asn1ct:use_legacy_types() andalso - asn1ct_func:is_used({ber,encode_bit_string,4}) of + case asn1ct:use_legacy_types() of + false -> ok; + true -> suppress({ber,encode_bit_string,4}) + end, + suppress({ber,decode_selective,2}), + emit([" ok.",nl]). + +suppress({M,F,A}=MFA) -> + case asn1ct_func:is_used(MFA) of false -> ok; true -> - emit([" {A,B,C,D} = Arg,",nl, - " encode_bit_string(A, B, C, D),",nl]) - end, - emit([" ok.",nl]). + Args = [lists:concat(["element(",I,", Arg)"]) || I <- lists:seq(1, A)], + emit([" ",{call,M,F,Args},com,nl]) + end. %%=============================================================================== %% encode #{typedef, {pos, name, typespec}} -- cgit v1.2.3