diff options
author | Björn Gustavsson <[email protected]> | 2014-05-07 07:43:20 +0200 |
---|---|---|
committer | Björn Gustavsson <[email protected]> | 2014-06-05 13:46:29 +0200 |
commit | 0db2668288bf399983e0f6daac85b00d68ab0360 (patch) | |
tree | 0b28dce2da12afe33ed3e6597837b0f22ebc02f1 /lib/asn1/src/asn1ct_gen_ber_bin_v2.erl | |
parent | 6b74e6b29dba58b7d54e9e7c4d8f3e1ab28fa66d (diff) | |
download | otp-0db2668288bf399983e0f6daac85b00d68ab0360.tar.gz otp-0db2668288bf399983e0f6daac85b00d68ab0360.tar.bz2 otp-0db2668288bf399983e0f6daac85b00d68ab0360.zip |
BER: Eliminate dialyzer warnings for specialized decode functions
Diffstat (limited to 'lib/asn1/src/asn1ct_gen_ber_bin_v2.erl')
-rw-r--r-- | lib/asn1/src/asn1ct_gen_ber_bin_v2.erl | 18 |
1 files changed, 12 insertions, 6 deletions
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}} |