[comment encoding = UTF-8 /]
[module blockTemplateCollectFileFor('http://www.eclipse.org/emf/2002/Ecore')/]

[template public main(aPackage : EPackage)]
[comment @main /]
[aPackage.eContents(EClass).generateClass()/]
[/template]

[template public generateClass(eClass : EClass)]
[file (eClass.name + '.txt', false, 'UTF-8')][for (str : String | Sequence{'a'})][eClass.otherTemplate()/]yopyop[eClass.otherTemplate()/]yopyop[eClass.otherTemplate()/]yopyop[eClass.otherTemplate()/][/for][/file]
[/template]

[template public otherTemplate(eClass : EClass)]
[eClass.moreStuff()/]
[/template]

[template public moreStuff(eClass : EClass)]
[eClass.yeahMoreComplex()/]
[/template]

[template public yeahMoreComplex(eClass : EClass)]
[eClass.one()/]
[/template]

[template public one(eClass : EClass)]
[eClass.more()/]
[/template]

[template public more(eClass : EClass)]
[eClass.thing()/]
[/template]

[template public thing(eClass : EClass)]
[eClass.name/]
[/template]
