package org.jnario; import com.google.common.collect.Iterables; import com.google.inject.Injector; import org.eclipse.emf.common.util.EList; import org.eclipse.emf.ecore.EObject; import org.eclipse.emf.ecore.resource.Resource; import org.eclipse.xtend2.lib.StringConcatenation; import org.eclipse.xtext.common.types.JvmGenericType; import org.eclipse.xtext.xbase.compiler.GeneratorConfig; import org.eclipse.xtext.xbase.compiler.JvmModelGenerator; import org.eclipse.xtext.xbase.lib.InputOutput; import org.eclipse.xtext.xbase.lib.IterableExtensions; import org.eclipse.xtext.xbase.lib.Procedures.Procedure1; import org.jnario.jnario.test.util.ModelStore; import org.jnario.spec.SpecStandaloneSetup; @SuppressWarnings("all") public class Main { public static void main(final String[] args) { final SpecStandaloneSetup setup = new SpecStandaloneSetup(); final Injector injector = setup.createInjectorAndDoEMFRegistration(); final ModelStore modelStore = injector.<ModelStore>getInstance(ModelStore.class); StringConcatenation _builder = new StringConcatenation(); _builder.append("package test"); _builder.newLine(); _builder.newLine(); _builder.append("\t\t\t\t"); _builder.newLine(); _builder.append("\t\t\t\t\t"); _builder.append("describe \"Example Tables\"{"); _builder.newLine(); _builder.append("\t\t\t\t "); _builder.append("def examplesWithType{ "); _builder.newLine(); _builder.append(" "); _builder.append("| \t\t\tlist \t\t\t| "); _builder.newLine(); _builder.append(" "); _builder.append("| new ArrayList<String>() \t|"); _builder.newLine(); _builder.append(" "); _builder.append("| new LinkedList<String>() \t| "); _builder.newLine(); _builder.append(" "); _builder.append("} \t"); _builder.newLine(); _builder.append(" "); _builder.newLine(); _builder.append("\t\t"); _builder.append("}"); _builder.newLine(); final Resource resource = modelStore.parseSpec(_builder); final JvmModelGenerator generator = injector.<JvmModelGenerator>getInstance(JvmModelGenerator.class); EList<EObject> _contents = resource.getContents(); Iterable<JvmGenericType> _filter = Iterables.<JvmGenericType>filter(_contents, JvmGenericType.class); final Procedure1<JvmGenericType> _function = new Procedure1<JvmGenericType>() { public void apply(final JvmGenericType it) { GeneratorConfig _generatorConfig = new GeneratorConfig(); CharSequence _generateType = generator.generateType(it, _generatorConfig); InputOutput.<CharSequence>println(_generateType); } }; IterableExtensions.<JvmGenericType>forEach(_filter, _function); } }