Based on the upstream fix for the java8 compilation issue. Simplified patch. Upstream version of patch does not work with this source tree. The issue is that in java8 it is an error to pass null to removeAll. Results in null pointer exception. java7 behaviour was to return the list unmodified. From 43867d50c05d1c06ab7220eb974a8874ae10c308 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?G=C3=A1bor=20Boskovits?= Date: Fri, 5 Jan 2018 19:08:24 +0100 Subject: [PATCH] Fix java8 complilation error. --- tool/src/main/java/org/antlr/tool/CompositeGrammar.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/tool/src/main/java/org/antlr/tool/CompositeGrammar.java b/tool/src/main/java/org/antlr/tool/CompositeGrammar.java index f34ea73..63740a6 100644 --- a/tool/src/main/java/org/antlr/tool/CompositeGrammar.java +++ b/tool/src/main/java/org/antlr/tool/CompositeGrammar.java @@ -226,7 +226,9 @@ public class CompositeGrammar { public List getIndirectDelegates(Grammar g) { List direct = getDirectDelegates(g); List delegates = getDelegates(g); - delegates.removeAll(direct); + if(direct != null) { + delegates.removeAll(direct); + } return delegates; } -- 2.15.1