--- tool/src/main/java/org/antlr/tool/CompositeGrammar.java.orig 2014-08-06 22:00:42.002467314 +0000 +++ tool/src/main/java/org/antlr/tool/CompositeGrammar.java 2014-08-06 22:01:03.772111735 +0000 @@ -31,7 +31,15 @@ import org.antlr.analysis.NFAState; import org.antlr.misc.Utils; -import java.util.*; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.HashSet; +import java.util.Iterator; +import java.util.LinkedHashMap; +import java.util.List; +import java.util.Map; +import java.util.Set; +import java.util.Vector; import org.antlr.grammar.v2.AssignTokenTypesWalker; /** A tree of component (delegate) grammars. @@ -219,8 +227,10 @@ public List getIndirectDelegates(Grammar g) { List direct = getDirectDelegates(g); List delegates = getDelegates(g); - delegates.removeAll(direct); - return delegates; + if ( direct!=null ) { + delegates.removeAll(direct); + } + return delegates; } /** Return list of delegate grammars from root down to g.