better parsing information object class sets
diff --git a/tests/140-component-relation-OK.asn1.-EFprint-class-matrix b/tests/140-component-relation-OK.asn1.-EFprint-class-matrix
new file mode 100644
index 0000000..4e9769a
--- /dev/null
+++ b/tests/140-component-relation-OK.asn1.-EFprint-class-matrix
@@ -0,0 +1,35 @@
+ModuleComponentRelationConstraint { iso org(3) dod(6) internet(1) private(4)
+ enterprise(1) spelio(9363) software(1) asn1c(5) test(1) 140 }
+DEFINITIONS ::=
+BEGIN
+
+Frame ::= SEQUENCE {
+ ident FRAME-STRUCTURE.&id ({FrameTypes}),
+ value FRAME-STRUCTURE.&Type ({FrameTypes}{@.ident}),
+ ...
+}
+
+FRAME-STRUCTURE ::= CLASS {
+ &id INTEGER UNIQUE,
+ &Type ANY
+} WITH SYNTAX {&Type IDENTIFIED BY &id}
+
+-- Class matrix has 2 entries:
+-- [ &id][ &Type]
+-- [1] basicMessage PrimitiveMessage
+-- [2] 2 ComplexMessage
+
+
+FrameTypes FRAME-STRUCTURE ::= {{ PrimitiveMessage IDENTIFIED BY basicMessage } | { ComplexMessage IDENTIFIED BY 2 },...}
+
+primType FRAME-STRUCTURE ::= { PrimitiveMessage IDENTIFIED BY basicMessage }
+
+complexType FRAME-STRUCTURE ::= { ComplexMessage IDENTIFIED BY 2 }
+
+PrimitiveMessage ::= SEQUENCE { }
+
+ComplexMessage ::= SEQUENCE { }
+
+basicMessage INTEGER ::= 1
+
+END