| transformation iteratetest; |
| |
| modeltype ECORE uses 'http://www.eclipse.org/emf/2002/Ecore'; |
| |
| mapping main(in root: ecore::EPackage): ecore::EPackage { |
| name := 'iteratetest'; |
| eSubpackages += object ecore::EPackage { |
| name := 'explicit'; |
| eClassifiers := root.eClassifiers->iterate(c; set1 : OrderedSet(ecore::EClassifier) = OrderedSet {} | |
| set1->including(object ecore::EClass { name := c.name })->asOrderedSet()) |
| }; |
| eSubpackages += object ecore::EPackage { |
| name := 'implicit'; |
| var tmp := root.eClassifiers->iterate(set2 : OrderedSet(String) = OrderedSet {} | |
| set2->including(name)->asOrderedSet()); |
| eClassifiers := tmp->iterate(c; set2 : OrderedSet(ecore::EClassifier) = OrderedSet {} | |
| set2->including(object ecore::EClass { name := c })->asOrderedSet()) |
| }; |
| } |