diff --git a/java/languages.antlr/src/org/netbeans/modules/languages/antlr/v3/Antlr3ParserResult.java b/java/languages.antlr/src/org/netbeans/modules/languages/antlr/v3/Antlr3ParserResult.java index cdd29cdd8e42..84c7583fd370 100644 --- a/java/languages.antlr/src/org/netbeans/modules/languages/antlr/v3/Antlr3ParserResult.java +++ b/java/languages.antlr/src/org/netbeans/modules/languages/antlr/v3/Antlr3ParserResult.java @@ -137,8 +137,11 @@ protected ParseTreeListener createStructureListener() { @Override public void exitRule_(ANTLRv3Parser.Rule_Context ctx) { - AntlrStructureItem.RuleStructureItem rule = new AntlrStructureItem.RuleStructureItem(ctx.id_().getText(), getFileObject(), ctx.getStart().getStartIndex(), ctx.getStop().getStopIndex() + 1); - structure.add(rule); + if (ctx.id_() != null) { + AntlrStructureItem.RuleStructureItem rule = new AntlrStructureItem.RuleStructureItem( + ctx.id_().getText(), getFileObject(), ctx.getStart().getStartIndex(), ctx.getStop().getStopIndex() + 1); + structure.add(rule); + } } }; diff --git a/java/languages.antlr/src/org/netbeans/modules/languages/antlr/v4/Antlr4ParserResult.java b/java/languages.antlr/src/org/netbeans/modules/languages/antlr/v4/Antlr4ParserResult.java index eba55a4126ec..ffffb31cc2ce 100644 --- a/java/languages.antlr/src/org/netbeans/modules/languages/antlr/v4/Antlr4ParserResult.java +++ b/java/languages.antlr/src/org/netbeans/modules/languages/antlr/v4/Antlr4ParserResult.java @@ -211,7 +211,7 @@ protected ParseTreeListener createStructureListener() { @Override public void exitLexerRuleSpec(ANTLRv4Parser.LexerRuleSpecContext ctx) { - if (ctx.FRAGMENT() == null) { + if ((ctx.FRAGMENT() == null) && (ctx.TOKEN_REF() != null)) { // Do not represent fragments in the structure AntlrStructureItem.RuleStructureItem rule = new AntlrStructureItem.RuleStructureItem(ctx.TOKEN_REF().getText(), getFileObject(), ctx.getStart().getStartIndex(), ctx.getStop().getStopIndex() + 1); lexerStructure.add(rule); @@ -220,8 +220,10 @@ public void exitLexerRuleSpec(ANTLRv4Parser.LexerRuleSpecContext ctx) { @Override public void exitParserRuleSpec(ANTLRv4Parser.ParserRuleSpecContext ctx) { - AntlrStructureItem.RuleStructureItem rule = new AntlrStructureItem.RuleStructureItem(ctx.RULE_REF().getText(), getFileObject(), ctx.getStart().getStartIndex(), ctx.getStop().getStopIndex() + 1); - structure.add(rule); + if (ctx.RULE_REF() != null) { + AntlrStructureItem.RuleStructureItem rule = new AntlrStructureItem.RuleStructureItem(ctx.RULE_REF().getText(), getFileObject(), ctx.getStart().getStartIndex(), ctx.getStop().getStopIndex() + 1); + structure.add(rule); + } } @Override