| modeltype ecore uses "http://www.eclipse.org/emf/2002/Ecore"; |
| |
| transformation test(in model : ecore, out modelOut : ecore); |
| |
| main() { |
| var pack := object EPackage { |
| }; |
| var subPack := object EPackage { |
| name := 'subPack'; |
| }; |
| object subPack : EPackage { |
| pack.eSubpackages += subPack; |
| eSuperPackage.name := 'root1'; |
| }; |
| modelOut->objectsOfType(EPackage)->flatten()->any(name = 'root1').name := |
| modelOut->objectsOfType(EPackage)->flatten()->any(name = 'root1').name + 'root2'; |
| subPack.eSuperPackage.name := subPack.eSuperPackage.name + 'root3'; |
| var mappedSubPack := subPack.map mapping1(); |
| subPack.eSuperPackage.eSubpackages += subPack.late resolveoneIn(EPackage::mapping1, EPackage); |
| } |
| |
| mapping EPackage::mapping1() : EPackage { |
| name := 'mapped' + self.name; |
| } |