blob: ebda2aa398aca82430a928f161fbe544df102855 [file] [log] [blame]
transformation removeclassesinwhile;
modeltype ECORE uses 'http://www.eclipse.org/emf/2002/Ecore';
mapping main(model: ecore::EPackage) : ecore::EPackage {
init {
result := model.deepclone().oclAsType(ecore::EPackage);
while_expr(result);
}
}
query while_expr(model: ecore::EPackage): OclVoid {
while (model.eClassifiers->size() > 0) {
--dump(model.eClassifiers);
map patch(model, model.eClassifiers->size());
};
return null;
}
mapping patch(inout pac:ecore::EPackage, in sz : Integer): ecore::EPackage {
init {
var firstElem := pac.eClassifiers->first();
var classifiers := pac.eClassifiers;
pac.eClassifiers := classifiers->excluding(firstElem)->asOrderedSet();
}
name := pac.name;
}