package org.example.xtend.examples; import java.util.ArrayList; import java.util.Collections; import java.util.Comparator; import org.eclipse.xtext.xbase.lib.CollectionLiterals; import org.eclipse.xtext.xbase.lib.Functions.Function0; import org.eclipse.xtext.xbase.lib.Functions.Function1; import org.eclipse.xtext.xbase.lib.Functions.Function2; import org.eclipse.xtext.xbase.lib.InputOutput; import org.eclipse.xtext.xbase.lib.IterableExtensions; @SuppressWarnings("all") public class LambdaExamples { public static String execute(final Function2<? super String, ? super Integer, ? extends String> f) { return f.apply("s", Integer.valueOf(10)); } public static void main(final String[] args) { final String c = "aaa"; final Function2<String, Integer, String> _function = new Function2<String, Integer, String>() { @Override public String apply(final String s, final Integer i) { return ((s + i) + c); } }; String _execute = LambdaExamples.execute(_function); InputOutput.<String>println(_execute); final ArrayList<String> list = CollectionLiterals.<String>newArrayList("Second", "First", "Third"); final Comparator<String> _function_1 = new Comparator<String>() { @Override public int compare(final String arg0, final String arg1) { return arg0.compareToIgnoreCase(arg1); } }; Collections.<String>sort(list, _function_1); for (final String s : list) { } final ArrayList<String> strings = CollectionLiterals.<String>newArrayList("Second", "First", "Third"); final Function1<String, Boolean> _function_2 = new Function1<String, Boolean>() { @Override public Boolean apply(final String it) { return Boolean.valueOf(it.startsWith("F")); } }; String _findFirst = IterableExtensions.<String>findFirst(strings, _function_2); InputOutput.<String>println(_findFirst); final Function0<String> _function_3 = new Function0<String>() { @Override public String apply() { return InputOutput.<String>println("Hello"); } }; final Function0<String> l = _function_3; l.apply(); } }