diff options
author | Björn Gustavsson <[email protected]> | 2014-11-03 15:51:40 +0100 |
---|---|---|
committer | Björn Gustavsson <[email protected]> | 2015-01-12 11:40:26 +0100 |
commit | d17a84df58177143c89180aeb85373e0d5504210 (patch) | |
tree | 644bee3b5cb934dd2c0ba2a36a64aa47967622c2 /lib/asn1/src/asn1ct_check.erl | |
parent | 6a72b71b69f1a41166cb6984607cca7bbbe38f43 (diff) | |
download | otp-d17a84df58177143c89180aeb85373e0d5504210.tar.gz otp-d17a84df58177143c89180aeb85373e0d5504210.tar.bz2 otp-d17a84df58177143c89180aeb85373e0d5504210.zip |
Correct another bug with instantiated types
a1260b2ffa60581ce3af0728320b593cca3fd7b0 fixed a problem with
expansion of parameterized types, but it didn't go all the way.
The compiler would still crash if we attempted to define a value
using the instantiated type.
Diffstat (limited to 'lib/asn1/src/asn1ct_check.erl')
-rw-r--r-- | lib/asn1/src/asn1ct_check.erl | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/lib/asn1/src/asn1ct_check.erl b/lib/asn1/src/asn1ct_check.erl index 318564df93..cb94b2efba 100644 --- a/lib/asn1/src/asn1ct_check.erl +++ b/lib/asn1/src/asn1ct_check.erl @@ -3163,9 +3163,11 @@ check_type(S=#state{recordtopname=TopName},Type,Ts) when is_record(Ts,type) -> constraint=Instance#type.constraint, inlined=yes}; - OCFT=#'ObjectClassFieldType'{classname=ClRef} -> + #'ObjectClassFieldType'{classname=ClRef0}=OCFT0 -> %% this case occures in a SEQUENCE when %% the type of the component is a ObjectClassFieldType + ClRef = match_parameter(S, ClRef0), + OCFT = OCFT0#'ObjectClassFieldType'{classname=ClRef}, ClassSpec = check_class(S,ClRef), NewTypeDef = maybe_open_type(S,ClassSpec, |