parsing WITH SYNTAX clauses
git-svn-id: https://asn1c.svn.sourceforge.net/svnroot/asn1c/trunk@1074 59561ff5-6e30-0410-9f3c-9617f08c8826
diff --git a/tests/34-class-OK.asn1 b/tests/34-class-OK.asn1
index 48437fb..2ea8901 100644
--- a/tests/34-class-OK.asn1
+++ b/tests/34-class-OK.asn1
@@ -14,7 +14,7 @@
-- First CLASS
EXTENSION ::= CLASS {
- &id [PRIVATE 0] OBJECT IDENTIFIER UNIQUE,
+ &id [PRIVATE 0] INTEGER UNIQUE,
&ExtnType
} WITH SYNTAX {
SYNTAX &ExtnType
@@ -35,6 +35,8 @@
terminal-type EXTENSION-ATTRIBUTE ::= {TerminalType IDENTIFIED BY 23}
+ TerminalType ::= INTEGER { terminal(0) }
+
-- Advanced CLASS extraction
ExtensionAttribute ::= SEQUENCE {
diff --git a/tests/34-class-OK.asn1.-EF b/tests/34-class-OK.asn1.-EF
index 8cc56ee..8af80a8 100644
--- a/tests/34-class-OK.asn1.-EF
+++ b/tests/34-class-OK.asn1.-EF
@@ -4,7 +4,7 @@
BEGIN
EXTENSION ::= CLASS {
- &id [PRIVATE 0] OBJECT IDENTIFIER UNIQUE,
+ &id [PRIVATE 0] INTEGER UNIQUE,
&ExtnType
} WITH SYNTAX {
SYNTAX &ExtnType
@@ -24,6 +24,10 @@
terminal-type EXTENSION-ATTRIBUTE ::= {TerminalType IDENTIFIED BY 23}
+TerminalType ::= INTEGER {
+ terminal(0)
+}
+
ExtensionAttribute ::= SEQUENCE {
extension-attribute-type [0] IMPLICIT EXTENSION-ATTRIBUTE.&id ({ExtensionAttributeTable}),
extension-attribute-value [1] EXPLICIT EXTENSION-ATTRIBUTE.&Type ({ExtensionAttributeTable}{@extension-attribute-type})
diff --git a/tests/34-class-OK.asn1.-EFprint-class-matrix b/tests/34-class-OK.asn1.-EFprint-class-matrix
new file mode 100644
index 0000000..f97de09
--- /dev/null
+++ b/tests/34-class-OK.asn1.-EFprint-class-matrix
@@ -0,0 +1,43 @@
+ModuleTestClassSimple { iso org(3) dod(6) internet(1) private(4) enterprise(1)
+ spelio(9363) software(1) asn1c(5) test(1) 34 }
+DEFINITIONS IMPLICIT TAGS ::=
+BEGIN
+
+EXTENSION ::= CLASS {
+ &id [PRIVATE 0] INTEGER UNIQUE,
+ &ExtnType
+} WITH SYNTAX {
+ SYNTAX &ExtnType
+ IDENTIFIED BY &id
+ }
+
+-- Class matrix is empty
+
+Ext1 ::= SEQUENCE {
+ extnId EXTENSION.&id
+}
+
+EXTENSION-ATTRIBUTE ::= CLASS {
+ &id INTEGER (0..256) UNIQUE,
+ &Type ANY
+} WITH SYNTAX {&Type IDENTIFIED BY &id}
+
+-- Class matrix has 1 entry:
+-- [ &id][ &Type]
+-- [1] 23 TerminalType
+
+
+terminal-type EXTENSION-ATTRIBUTE ::= {TerminalType IDENTIFIED BY 23}
+
+TerminalType ::= INTEGER {
+ terminal(0)
+}
+
+ExtensionAttribute ::= SEQUENCE {
+ extension-attribute-type [0] IMPLICIT EXTENSION-ATTRIBUTE.&id ({ExtensionAttributeTable}),
+ extension-attribute-value [1] EXPLICIT EXTENSION-ATTRIBUTE.&Type ({ExtensionAttributeTable}{@extension-attribute-type})
+}
+
+ub-extension-attributes INTEGER ::= 256
+
+END