refactor constraint matrix handling
diff --git a/tests/98-attribute-class-OK.asn1 b/tests/98-attribute-class-OK.asn1
index 0884427..211401a 100644
--- a/tests/98-attribute-class-OK.asn1
+++ b/tests/98-attribute-class-OK.asn1
@@ -20,9 +20,7 @@
siAttributeValue IA5String
}
- Attributes ATTRIBUTE ::= { Names }
-
- Names ATTRIBUTE ::= { rafService | rcfService }
+ Attributes ATTRIBUTE ::= { rafService | rcfService }
rafService ATTRIBUTE ::= { ID raf }
rcfService ATTRIBUTE ::= { ID rcf }
diff --git a/tests/98-attribute-class-OK.asn1.-EF b/tests/98-attribute-class-OK.asn1.-EF
index 76b98f9..e810e48 100644
--- a/tests/98-attribute-class-OK.asn1.-EF
+++ b/tests/98-attribute-class-OK.asn1.-EF
@@ -13,9 +13,7 @@
siAttributeValue IA5String
}
-Attributes ATTRIBUTE ::= {Names}
-
-Names ATTRIBUTE ::= {{ ID raf } | { ID rcf }}
+Attributes ATTRIBUTE ::= {{ ID raf } | { ID rcf }}
rafService ATTRIBUTE ::= { ID raf }
diff --git a/tests/98-attribute-class-OK.asn1.-EFprint-class-matrix b/tests/98-attribute-class-OK.asn1.-EFprint-class-matrix
new file mode 100644
index 0000000..718a946
--- /dev/null
+++ b/tests/98-attribute-class-OK.asn1.-EFprint-class-matrix
@@ -0,0 +1,44 @@
+ModuleAttributeClass { iso org(3) dod(6) internet(1) private(4) enterprise(1)
+ spelio(9363) software(1) asn1c(5) test(1) 98 }
+DEFINITIONS ::=
+BEGIN
+
+ATTRIBUTE ::= CLASS {
+ &id RELATIVE-OID UNIQUE
+} WITH SYNTAX { ID &id }
+
+-- Information Object Set has 2 entries:
+-- [&id]
+-- [1] raf
+-- [2] rcf
+
+
+Attribute ::= SEQUENCE {
+ identifier ATTRIBUTE.&id ({Attributes}),
+ siAttributeValue IA5String
+}
+
+Attributes ATTRIBUTE ::= {{ ID raf } | { ID rcf }}
+-- Information Object Set has 2 entries:
+-- [&id]
+-- [1] raf
+-- [2] rcf
+
+
+rafService ATTRIBUTE ::= { ID raf }
+-- Information Object Set has 1 entry:
+-- [&id]
+-- [1] raf
+
+
+rcfService ATTRIBUTE ::= { ID rcf }
+-- Information Object Set has 1 entry:
+-- [&id]
+-- [1] rcf
+
+
+raf RELATIVE-OID ::= {3 2 1}
+
+rcf RELATIVE-OID ::= {3 2 2}
+
+END