aboutsummaryrefslogtreecommitdiffstats
path: root/lib/asn1/src/asn1ct_check.erl
diff options
context:
space:
mode:
authorBjörn Gustavsson <[email protected]>2014-10-15 12:10:00 +0200
committerBjörn Gustavsson <[email protected]>2015-01-12 11:40:25 +0100
commit55f6965558bed5bfbcf178d0203b7311b447b81a (patch)
tree69232bf01afe38806fd762da684d19fd32a1632e /lib/asn1/src/asn1ct_check.erl
parente43a382e7207a3c01baba2ef202b49766b60fdae (diff)
downloadotp-55f6965558bed5bfbcf178d0203b7311b447b81a.tar.gz
otp-55f6965558bed5bfbcf178d0203b7311b447b81a.tar.bz2
otp-55f6965558bed5bfbcf178d0203b7311b447b81a.zip
Handle CLASS.&field when checking values
Diffstat (limited to 'lib/asn1/src/asn1ct_check.erl')
-rw-r--r--lib/asn1/src/asn1ct_check.erl8
1 files changed, 7 insertions, 1 deletions
diff --git a/lib/asn1/src/asn1ct_check.erl b/lib/asn1/src/asn1ct_check.erl
index 996c040373..9af88166e8 100644
--- a/lib/asn1/src/asn1ct_check.erl
+++ b/lib/asn1/src/asn1ct_check.erl
@@ -2079,7 +2079,13 @@ check_valuedef(#state{recordtopname=TopName}=S0, V0) ->
case Type of
#classdef{} ->
throw({objectdef});
- #typedef{typespec=TypeSpec} ->
+ #typedef{typespec=TypeSpec0}=TypeDef ->
+ TypeSpec = try check_type(S2, TypeDef, TypeSpec0) of
+ TypeSpec1 -> TypeSpec1
+ catch
+ throw:{asn1_class,_} ->
+ throw({objectdef})
+ end,
S3 = case is_contextswitchtype(Type) of
true ->
S2;