transformation resolvenoinput;

modeltype ECORE uses 'http://www.eclipse.org/emf/2002/Ecore';

mapping main(in model: ecore::EPackage): ecore::EPackage {
	init {
		var a := model.a();
		var p := model.resolve(ecore::EPackage);
	}
	name := 'root';
	eSubpackages += p;
} 

mapping ecore::EPackage::a(): ecore::EPackage {
	name := 'a';
} 
