/** * generated by Xtext */ package org.example.smalljava.generator; import com.google.inject.Inject; import com.google.inject.Injector; import java.util.List; import org.eclipse.emf.common.util.EList; import org.eclipse.emf.common.util.URI; import org.eclipse.emf.ecore.resource.Resource; import org.eclipse.emf.ecore.resource.ResourceSet; import org.eclipse.xtext.util.CancelIndicator; import org.eclipse.xtext.validation.CheckMode; import org.eclipse.xtext.validation.IResourceValidator; import org.eclipse.xtext.validation.Issue; import org.eclipse.xtext.xbase.lib.Conversions; import org.eclipse.xtext.xbase.lib.IterableExtensions; import org.eclipse.xtext.xbase.lib.Procedures.Procedure1; import org.example.smalljava.SmallJavaStandaloneSetupGenerated; import org.example.smalljava.lib.SmallJavaLib; @SuppressWarnings("all") public class Main { public static void main(final String[] args) { boolean _isEmpty = ((List<String>)Conversions.doWrapArray(args)).isEmpty(); if (_isEmpty) { System.err.println("Aborting: no SmallJava resource provided!"); return; } SmallJavaStandaloneSetupGenerated _smallJavaStandaloneSetupGenerated = new SmallJavaStandaloneSetupGenerated(); final Injector injector = _smallJavaStandaloneSetupGenerated.createInjectorAndDoEMFRegistration(); final Main main = injector.<Main>getInstance(Main.class); main.runGenerator(args); } @Inject private IResourceValidator validator; @Inject private SmallJavaLib smallJavaLib; protected void runGenerator(final String[] strings) { final ResourceSet set = this.smallJavaLib.loadLib(); final Procedure1<String> _function = new Procedure1<String>() { @Override public void apply(final String s) { URI _createURI = URI.createURI(s); set.getResource(_createURI, true); } }; IterableExtensions.<String>forEach(((Iterable<String>)Conversions.doWrapArray(strings)), _function); boolean ok = true; EList<Resource> _resources = set.getResources(); for (final Resource resource : _resources) { { URI _uRI = resource.getURI(); String _plus = ("Checking " + _uRI); String _plus_1 = (_plus + "..."); System.out.println(_plus_1); final List<Issue> issues = this.validator.validate(resource, CheckMode.ALL, CancelIndicator.NullImpl); boolean _isEmpty = issues.isEmpty(); boolean _not = (!_isEmpty); if (_not) { for (final Issue issue : issues) { System.err.println(issue); } ok = false; } } } if (ok) { System.out.println("Programs well-typed."); } } }