mirror of
https://github.com/processing/processing4.git
synced 2026-01-26 18:01:07 +01:00
* Move to ANTLR 4 with Java 11 lang features and localization. Introduces ANTLR4 and Java 8 language feature support within IDE while also adding additional hooks for localization of syntax error messages, addressing https://github.com/processing/processing/issues/3054 and https://github.com/processing/processing/issues/3055. The PR is broadly a continuation of https://github.com/processing/processing/issues/3055, bringing it up to speed with the latest Processing master plus the changes introduced at https://github.com/processing/processing/pull/5753. **Requires https://github.com/processing/processing/pull/5753 as pre-requisite.** This introduces a number of edits beyond https://github.com/processing/processing/issues/3055 beyond compatibility with current Processing master and https://github.com/processing/processing/pull/5753 including: - Update to the grammar itself - Change ANTLR listeners to emit `TextTransform.Edit` to unify JDT-based `PreprocessingService` and `JavaBuild`, removing code with duplicate purpose. - Introduction of syntax error rewriting with support for localization. - Addition of complete localized strings set for English and Spanish. - Addition of partial localized strings set for other languages. - Refactor of ANTLR-related code for testability and readability - Expansion of tests including full parse tests for new Java features (type inference, lambdas). * Ask travis for ant upgrade prior to run. * Ask Travis for java11 update. * Add openjdk ppa * Travis no confirmation on add ppa. * Force newer ant on travis. * Swtich ant download to www-us mirror. * Switch ant to 1.10.7 * Start x for unit tests in travis. * More complete start x in travis. * Revert x in travis. * Try x in services.
37 lines
960 B
Plaintext
37 lines
960 B
Plaintext
// java 5 torture test
|
|
|
|
import static java.lang.Math.tanh;
|
|
import java.util.concurrent.Callable;
|
|
import java.util.List;
|
|
import java.util.Comparator;
|
|
import java.util.Map;
|
|
import java.util.Collection;
|
|
import java.util.Arrays;
|
|
import java.util.HashSet;
|
|
|
|
|
|
private static Comparator<String> rotarapmoc = new Comparator<String>() {
|
|
public int compare(final String o1, final String o2)
|
|
{
|
|
return o1.charAt(o1.length() - 1) - o2.charAt(o2.length() - 1);
|
|
}
|
|
};
|
|
|
|
final <T> void printClass(T t) {
|
|
println(t.getClass());
|
|
}
|
|
final List<String> sortem(final String... strings) {
|
|
Arrays.sort(strings, rotarapmoc);
|
|
return Arrays.asList(strings);
|
|
}
|
|
|
|
final Map<String, Collection<Integer>>
|
|
charlesDeGaulle = new HashMap<String, Collection<Integer>>();
|
|
|
|
void setup() {
|
|
charlesDeGaulle.put("banana", new HashSet<Integer>());
|
|
charlesDeGaulle.get("banana").add(0);
|
|
System.out.println(sortem("aztec", "maya", "spanish", "portuguese"));
|
|
printClass(12.d);
|
|
}
|