blob: e88a95eeae62381f7acc4d6c084ee1e4abde6503 [file] [log] [blame]
modeltype ECORE "strict" uses ecore('http://www.eclipse.org/emf/2002/Ecore');
transformation overload_multipleParams(in eModel : ECORE, out outModel : ECORE);
main() {
var c : EClass;
var dt : EDataType;
var results := Sequence {
// resolving 'helper overloaded(cf : EClassifier, ne : ENamedElement, c: EClass) : String {'
overloaded(c.oclAsType(EClassifier), c.oclAsType(ENamedElement), c),
overloaded(dt, c.oclAsType(ENamedElement), c),
overloaded(dt, dt, c),
overloaded(dt, dt, null),
/*<warn>*/overloaded/*</warn>*/(c, c.oclAsType(ENamedElement), c),
/*<warn>*/overloaded/*</warn>*/(c.oclAsType(EClassifier), c, c),
/*<warn>*/overloaded/*</warn>*/(c, c, c),
/*<warn>*/overloaded/*</warn>*/(null, null, null),
/*<warn>*/overloaded/*</warn>*/(dt, null, null),
/*<warn>*/overloaded/*</warn>*/(null, null, dt),
/*<warn>*/overloaded/*</warn>*/(null, dt, null),
// trying to resolve to 'overloaded(c: EClass, ne : ENamedElement, cf : EClassifier)'
overloaded(c, c.oclAsType(ENamedElement), c.oclAsType(EClassifier)),
overloaded(c, c.oclAsType(ENamedElement), dt),
overloaded(null, dt, dt),
/*<warn>*/overloaded/*</warn>*/(c, c.oclAsType(ENamedElement), null),
/*<warn>*/overloaded/*</warn>*/(c, null, c.oclAsType(EClassifier)),
/*<warn>*/overloaded/*</warn>*/(c, null, null),
/*<warn>*/overloaded/*</warn>*/(c, null, c),
/*<warn>*/overloaded/*</warn>*/(c, null, dt),
// trying to resolve to 'overloaded(ne : ENamedElement, c: EClass, cf : EClassifier)'
overloaded(c.oclAsType(ENamedElement), c, c),
overloaded(c.oclAsType(ENamedElement), null, c),
overloaded(c.oclAsType(ENamedElement), null, null),
/*<warn>*/overloaded/*</warn>*/(null, c, dt),
/*<warn>*/overloaded/*</warn>*/(null, dt, c),
/*<warn>*/overloaded/*</warn>*/(null, c, null),
/*<warn>*/overloaded/*</warn>*/(null, c, c),
/*<warn>*/overloaded/*</warn>*/(c, c.oclAsType(ENamedElement), c),
/*<warn>*/overloaded/*</warn>*/(c.oclAsType(EClassifier), c, c),
/*<warn>*/overloaded/*</warn>*/(c, c, c)
};
object EPackage {
name := "result";
eClassifiers := results->collect(n | object EClass { name := n; });
};
}
//1
helper overloaded(cf : EClassifier, ne : ENamedElement, c: EClass) : String {
return "overloaded(cf : EClassifier, ne : ENamedElement ne, c: EClass) : String";
}
//2
helper overloaded(c: EClass, ne : ENamedElement, cf : EClassifier) : String {
return "overloaded(c: EClass, ne : ENamedElement, cf : EClassifier) : String";
}
//3
helper overloaded(ne : ENamedElement, c: EClass, cf : EClassifier) : String {
return "overloaded(ne : ENamedElement, c: EClass, cf : EClassifier)";
}