diff options
author | Björn Gustavsson <bjorn@erlang.org> | 2014-05-23 16:01:51 +0200 |
---|---|---|
committer | Björn Gustavsson <bjorn@erlang.org> | 2014-09-01 14:37:14 +0200 |
commit | 155156563429fbb8535ca35491d8057d78aa272c (patch) | |
tree | 0552e4550028680dc4627afc5728f43abb6230d7 /lib | |
parent | c266196c016fc1156c7a18cfeec4920ee4075519 (diff) | |
download | otp-155156563429fbb8535ca35491d8057d78aa272c.tar.gz otp-155156563429fbb8535ca35491d8057d78aa272c.tar.bz2 otp-155156563429fbb8535ca35491d8057d78aa272c.zip |
Eliminate the use of #identifier{} outside the tokeniser and parser
The only remaining use of #identifier{} in asn1ct_check was in a
temporary packaging of a value that would be ultimately be put
into #valuedef{}.
Therefore we can eliminate that last usage but putting the value
directly into a #valuedef{} and we can move the record definition
into asn1ct_parser2.
Diffstat (limited to 'lib')
-rw-r--r-- | lib/asn1/src/asn1_records.hrl | 1 | ||||
-rw-r--r-- | lib/asn1/src/asn1ct_check.erl | 10 | ||||
-rw-r--r-- | lib/asn1/src/asn1ct_parser2.erl | 3 |
3 files changed, 5 insertions, 9 deletions
diff --git a/lib/asn1/src/asn1_records.hrl b/lib/asn1/src/asn1_records.hrl index 2540f0effc..d6cfd4dc02 100644 --- a/lib/asn1/src/asn1_records.hrl +++ b/lib/asn1/src/asn1_records.hrl @@ -45,7 +45,6 @@ -record(pobjectdef,{checked=false,pos,name,args,class,def}). -record(pobjectsetdef,{checked=false,pos,name,args,class,def}). --record(identifier,{pos,val}). -record('Constraint',{'SingleValue'=no,'SizeConstraint'=no,'ValueRange'=no,'PermittedAlphabet'=no, 'ContainedSubtype'=no, 'TypeConstraint'=no,'InnerSubtyping'=no,e=no,'Other'=no}). -record(simpletableattributes,{objectsetname,c_name,c_index,usedclassfield, diff --git a/lib/asn1/src/asn1ct_check.erl b/lib/asn1/src/asn1ct_check.erl index fe50f1f3b0..c2673e3eba 100644 --- a/lib/asn1/src/asn1ct_check.erl +++ b/lib/asn1/src/asn1ct_check.erl @@ -1818,12 +1818,10 @@ convert_to_defaultfield(S,ObjFieldName,[OFS|RestOFS],CField)-> FieldName); ValSetting = #valuedef{} -> ValSetting; - ValSetting = {'CHOICE',{Alt,_ChVal}} when is_atom(Alt) -> - #valuedef{type=element(3,CField), - value=ValSetting, - module=S#state.mname}; ValSetting -> - #identifier{val=ValSetting} + #valuedef{type=element(3,CField), + value=ValSetting, + module=S#state.mname} end, ?dbg("fixedtypevaluefield ValRef: ~p~n",[ValRef]), case ValRef of @@ -4588,8 +4586,6 @@ do_get_ref_type_1(S, #'Externalvaluereference'{pos=P, module=M, value=V}) -> do_get_ref_type_2(S, P, M, V); -do_get_ref_type_1(S, #identifier{val=Name,pos=Pos}) -> - get_referenced1(S, undefined, Name, Pos); do_get_ref_type_1(_, T) -> {undefined,T}. diff --git a/lib/asn1/src/asn1ct_parser2.erl b/lib/asn1/src/asn1ct_parser2.erl index f9c4387ca0..f6374da52e 100644 --- a/lib/asn1/src/asn1ct_parser2.erl +++ b/lib/asn1/src/asn1ct_parser2.erl @@ -25,7 +25,8 @@ %% Only used internally within this module. -record(typereference, {pos,val}). --record(constraint,{c,e}). +-record(constraint, {c,e}). +-record(identifier, {pos,val}). %% parse all types in module parse(Tokens) -> |