blob: 8d21b726c7182347788533e831deeaf72e6c2b66 [file] [log] [blame]
modeltype ECORE "strict" uses ecore('http://www.eclipse.org/emf/2002/Ecore');
transformation RootTransfForExtends(in eModel : ECORE, out outModel : ECORE);
property prop_TransfForExtends : String = "prop_TransfForExtends";
main() {
object EPackage {
name := "should never be executed";
};
}
helper EClass::decorateName() : String {
return "RootTransfForExtends-" + self.name;
}
helper non_ContextualDecorate(c : EClass) : String {
return "RootTransfForExtends-" + c.name;
}
mapping EClass::customCopy() : EClass {
name := "RootTransfForExtends-" + self.name;
}
mapping customCopy(in eClass : EClass) : EClass {
name := "RootTransfForExtends-" + eClass.name;
}
helper rootModuleQuery() : String {
return "RootTransfForExtends";
}
mapping createOverridenCallsPackage(in pckgName : String) : EPackage {
init {
var c:EClass := object EClass { name := pckgName };
c.eStructuralFeatures += object EAttribute {
name := c.decorateName();
};
c.eStructuralFeatures += object EAttribute {
name := non_ContextualDecorate(c);
};
}
name := pckgName;
eClassifiers += c;
eClassifiers += c.map customCopy();
eClassifiers += map customCopy(c);
}