This is an automated email from the ASF dual-hosted git repository.

lkishalmi pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/netbeans.git


The following commit(s) were added to refs/heads/master by this push:
     new a1373cd4b0 Fix possible NPE while editing ANTLR Grammar
a1373cd4b0 is described below

commit a1373cd4b03cb6d5ce41b966b6c36f88a9ef5c5e
Author: Laszlo Kishalmi <laszlo.kisha...@gmail.com>
AuthorDate: Mon Sep 19 23:30:20 2022 -0700

    Fix possible NPE while editing ANTLR Grammar
---
 .../netbeans/modules/languages/antlr/v3/Antlr3ParserResult.java   | 7 +++++--
 .../netbeans/modules/languages/antlr/v4/Antlr4ParserResult.java   | 8 +++++---
 2 files changed, 10 insertions(+), 5 deletions(-)

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 cdd29cdd8e..84c7583fd3 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 @@ public final class Antlr3ParserResult extends 
AntlrParserResult<ANTLRv3Parser> {
 
             @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 eba55a4126..ffffb31cc2 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 @@ public final class Antlr4ParserResult extends 
AntlrParserResult<ANTLRv4Parser> {
 
             @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 final class Antlr4ParserResult extends 
AntlrParserResult<ANTLRv4Parser> {
 
             @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


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@netbeans.apache.org
For additional commands, e-mail: commits-h...@netbeans.apache.org

For further information about the NetBeans mailing lists, visit:
https://cwiki.apache.org/confluence/display/NETBEANS/Mailing+lists

Reply via email to