| modeltype Ecore uses ecore('http://www.eclipse.org/emf/2002/Ecore'); |
| |
| transformation bug388801(); |
| |
| intermediate class I { |
| |
| coll : OrderedSet(EClass); |
| coll2 : OrderedSet(EClass) = OrderedSet{}; |
| coll3 : OrderedSet(EClass) = OrderedSet{object EClass{}}; |
| |
| } |
| |
| intermediate class C { |
| |
| references classes : EClass[*] = null; |
| |
| } |
| |
| main() { |
| |
| var intermI : I = object I {}; |
| |
| assert fatal (intermI.coll->isEmpty()); |
| assert fatal (intermI.coll2->isEmpty()); |
| assert fatal (not intermI.coll3->isEmpty()); |
| |
| |
| var set : OrderedSet(I) = OrderedSet {intermI}; |
| |
| assert fatal (set->collect(coll)->isEmpty()); |
| assert fatal (set->collect(coll2)->isEmpty()); |
| assert fatal (not set->collect(coll3)->isEmpty()); |
| |
| |
| var c : OrderedSet(EClass) = null; |
| assert fatal (c->oclIsUndefined()); |
| |
| var intermC : C = object C {}; |
| |
| assert fatal (intermC.classes->isEmpty()); |
| |
| } |