-- In this script, we query Ecore to find out: -- ... how many classes it has EClass.all.size().println('All classes: '); -- ... how many abstract classes it has EClass.all.select(c|c.abstract) .size().println('Abstract classes: '); -- ... the names of its classes and how many -- features each one has 'Class names: '.println(); for (c in EClass.all) { var toPrint := ' ' + c.name; toPrint := toPrint + '->' + c.eStructuralFeatures.size(); toPrint.println(); }