diff options
author | Björn Gustavsson <[email protected]> | 2014-09-08 10:13:57 +0200 |
---|---|---|
committer | Björn Gustavsson <[email protected]> | 2014-09-08 10:13:57 +0200 |
commit | 6e2fd45bad619fd7e06f21798eac94d415dff64e (patch) | |
tree | 9bc7f0d233c93c7e1921d5ce0c864859eff15be3 /lib/asn1/src/asn1_records.hrl | |
parent | 90106cfb3b0e9126c504e84d0df83fd8fc97d271 (diff) | |
parent | f2491c28caea8244eab619321bc95832257bf146 (diff) | |
download | otp-6e2fd45bad619fd7e06f21798eac94d415dff64e.tar.gz otp-6e2fd45bad619fd7e06f21798eac94d415dff64e.tar.bz2 otp-6e2fd45bad619fd7e06f21798eac94d415dff64e.zip |
Merge branch 'bjorn/asn1/misc-bug-fixes/OTP-12125' into maint
* bjorn/asn1/misc-bug-fixes/OTP-12125:
Workaround for combining two object sets separated by extension
Clean up and correct handling of parameters for parameterized types
Check the formal parameter for parameterized type definitions
Report errors also for unused parameterized types
Remove unused code for ABSTRACT-SYNTAX and TYPE-IDENTIFIER
Correct expansion of parameterized types
Add the module name to the #classdef{} record
Eliminate the use of #identifier{} outside the tokeniser and parser
Fix problem with object identifiers in external modules
Rewrite get_referenced_type/2
Teach the ASN.1 compiler to handle objects in field names
Teach the ASN.1 compiler to understand "EXPORTS ALL"
Teach the ASN.1 compiler the parse option
Diffstat (limited to 'lib/asn1/src/asn1_records.hrl')
-rw-r--r-- | lib/asn1/src/asn1_records.hrl | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/lib/asn1/src/asn1_records.hrl b/lib/asn1/src/asn1_records.hrl index 396ba0fcfa..6c1cf1b12a 100644 --- a/lib/asn1/src/asn1_records.hrl +++ b/lib/asn1/src/asn1_records.hrl @@ -37,7 +37,7 @@ -record('ObjectClassFieldType',{classname,class,fieldname,type}). -record(typedef,{checked=false,pos,name,typespec}). --record(classdef,{checked=false,pos,name,typespec}). +-record(classdef, {checked=false,pos,name,module,typespec}). -record(valuedef,{checked=false,pos,name,type,value,module}). -record(ptypedef,{checked=false,pos,name,args,typespec}). -record(pvaluedef,{checked=false,pos,name,args,type,value}). @@ -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, @@ -73,6 +72,15 @@ % Externalvaluereference -> modulename '.' typename -record('Externalvaluereference',{pos,module,value}). +%% Used to hold a tag for a field in a SEQUENCE/SET. It can also +%% be used for identifiers in OBJECT IDENTIFIER values, since the +%% parser cannot always distinguish a SEQUENCE with one element from +%% an OBJECT IDENTIFIER. +-record(seqtag, + {pos :: integer(), + module :: atom(), + val :: atom()}). + -record(state,{module,mname,type,tname,value,vname,erule,parameters=[], inputmodules,abscomppath=[],recordtopname=[],options, sourcedir}). |