module checkTypeDefOrderInGroup { type record typeX { } group emptyGroup { } type integer modInt; //the good ones group typeDefs { type integer groupedInt; type component P_compA { var integer a := 3; } type component P_comp1 { } type record typeA { } type record typea { } // type record typeab { // } type record typeB { } type record typeC { } } type record typeY { } group otherDefs { altstep as_a(){ } function f_a(){ } } group mixedDefs { type component compA { } type component compB { } type record typeD { } const integer z := 5; type record typeE { } const integer x := 2; type record typeF { } const integer y := 3; } //the bad ones group mixedDefsBad { //E comes before D type record typeE { } type record typeD { } const integer z := 5; const integer x := 2; type record typeF { } //comp? come after type? //+ compB before compA type component compB { } type component compA { } const integer y := 3; } group g1{ type integer m1; type record m2 {} type set m3 {} type record m4 {} type m1 m5; } }