diff options
author | Björn Gustavsson <[email protected]> | 2013-01-22 17:25:09 +0100 |
---|---|---|
committer | Björn Gustavsson <[email protected]> | 2013-01-23 15:22:56 +0100 |
commit | f16f43446a04c459486356c0b4ad517cc9201895 (patch) | |
tree | 62f35292fab66f098f1b288418429a4c17010eef /lib/asn1/src/asn1ct_constructed_per.erl | |
parent | dc17110cd88153a74900d71d35df608f5d58c0f3 (diff) | |
download | otp-f16f43446a04c459486356c0b4ad517cc9201895.tar.gz otp-f16f43446a04c459486356c0b4ad517cc9201895.tar.bz2 otp-f16f43446a04c459486356c0b4ad517cc9201895.zip |
per,uper: Optimize decoding of the remaining data types
Diffstat (limited to 'lib/asn1/src/asn1ct_constructed_per.erl')
-rw-r--r-- | lib/asn1/src/asn1ct_constructed_per.erl | 19 |
1 files changed, 4 insertions, 15 deletions
diff --git a/lib/asn1/src/asn1ct_constructed_per.erl b/lib/asn1/src/asn1ct_constructed_per.erl index c3aa482051..3c59c73108 100644 --- a/lib/asn1/src/asn1ct_constructed_per.erl +++ b/lib/asn1/src/asn1ct_constructed_per.erl @@ -1518,7 +1518,6 @@ gen_dec_line_dec_inf(Comp, DecInfObj) -> gen_dec_line_other(Erule, Atype, TopType, Comp) -> #'ComponentType'{name=Cname,typespec=Type} = Comp, CurrMod = get(currmod), - Ctgenmod = asn1ct_gen:ct_gen_module(Erule), case asn1ct_gen:type(Atype) of #'Externaltypereference'{module=CurrMod,type=EType} -> fun(BytesVar) -> @@ -1532,16 +1531,16 @@ gen_dec_line_other(Erule, Atype, TopType, Comp) -> {primitive,bif} -> case Atype of {fixedtypevaluefield,_,Btype} -> - gen_dec_prim(Ctgenmod, Erule, Btype); + asn1ct_gen_per:gen_dec_imm(Erule, Btype); _ -> - gen_dec_prim(Ctgenmod, Erule, Type) + asn1ct_gen_per:gen_dec_imm(Erule, Type) end; 'ASN1_OPEN_TYPE' -> case Type#type.def of #'ObjectClassFieldType'{type=OpenType} -> - gen_dec_prim(Ctgenmod, Erule, #type{def=OpenType}); + asn1ct_gen_per:gen_dec_imm(Erule, #type{def=OpenType}); _ -> - gen_dec_prim(Ctgenmod, Erule, Type) + asn1ct_gen_per:gen_dec_imm(Erule, Type) end; #typereference{val=Dname} -> fun(BytesVar) -> @@ -1567,16 +1566,6 @@ gen_dec_line_other(Erule, Atype, TopType, Comp) -> end end. -gen_dec_prim(Ctgenmod, Erule, Type) -> - case asn1ct_gen_per:gen_dec_imm(Erule, Type) of - no -> - fun(BytesVar) -> - Ctgenmod:gen_dec_prim(Erule, Type, BytesVar) - end; - Imm -> - Imm - end. - gen_enc_choice(Erule,TopType,CompList,Ext) -> gen_enc_choice_tag(Erule, CompList, [], Ext), emit({com,nl}), |