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 db2a350c6d90efaa8dde949fa76005c2c5af45c4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?G=C3=A1bor=20Boskovits?= <boskovits@gmail.com> Date: Fri, 5 Jan 2018 17:05:31 +0100 Subject: [PATCH] Fix java8 compilation. --- src/org/antlr/tool/CompositeGrammar.java | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/org/antlr/tool/CompositeGrammar.java b/src/org/antlr/tool/CompositeGrammar.java index f1408e7..7e02431 100644 --- a/src/org/antlr/tool/CompositeGrammar.java +++ b/src/org/antlr/tool/CompositeGrammar.java @@ -218,7 +218,9 @@ public class CompositeGrammar { public List<Grammar> getIndirectDelegates(Grammar g) { List<Grammar> direct = getDirectDelegates(g); List<Grammar> delegates = getDelegates(g); - delegates.removeAll(direct); + if (direct != null) { + delegates.removeAll(direct); + } return delegates; } -- 2.15.1