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