-- OK: Everything is fine -- iso.org.dod.internet.private.enterprise (1.3.6.1.4.1) -- .spelio.software.asn1c.test (9363.1.5.1) -- .92 ModuleCircularReferences { iso org(3) dod(6) internet (1) private(4) enterprise(1) spelio(9363) software(1) asn1c(5) test(1) 92 } DEFINITIONS AUTOMATIC TAGS ::= BEGIN Everything ::= SEQUENCE { ch1 Choice1, ch2 Choice2, ch3 Choice3, set Set, a Alpha, b Beta, g Gamma, ot OneTwo, tt TwoThree, to ThreeOne } -- This type refers to the type directly containing itself. Choice1 ::= CHOICE { something Everything, ..., some2 Everything } Choice2 ::= CHOICE { typeref TypeRef, ..., some3 Everything } Choice3 ::= CHOICE { a SEQUENCE { aa Everything }, b Everything, c SEQUENCE OF Choice3 } Set ::= SET OF SEQUENCE { int INTEGER, set Set, seq Sequence, set2 Set OPTIONAL, ..., set3 Set } Sequence ::= SEQUENCE { a INTEGER, seq Sequence OPTIONAL, ..., b INTEGER, set Set OPTIONAL } TypeRef ::= Sequence Alpha ::= SEQUENCE { a Beta, b SEQUENCE { b Beta OPTIONAL } } Beta ::= SEQUENCE { b Alpha OPTIONAL, g Gamma OPTIONAL } Gamma ::= SEQUENCE { o TwoThree, a Alpha, -- expected inline b Beta -- expected inline } -- This is a true superdependency. OneTwo ::= SET { m12 TwoThree } TwoThree ::= SET { m23 ThreeOne } ThreeOne ::= SET { m31 OneTwo, g Gamma } END