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

emilles pushed a commit to branch GROOVY_3_0_X
in repository https://gitbox.apache.org/repos/asf/groovy.git


The following commit(s) were added to refs/heads/GROOVY_3_0_X by this push:
     new ff81299134 fix for NPE
ff81299134 is described below

commit ff8129913441ccf90c01d9d6c7eda8fb3b17c9c7
Author: Eric Milles <[email protected]>
AuthorDate: Mon Mar 13 17:19:48 2023 -0500

    fix for NPE
---
 .../org/codehaus/groovy/classgen/InnerClassCompletionVisitor.java   | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git 
a/src/main/java/org/codehaus/groovy/classgen/InnerClassCompletionVisitor.java 
b/src/main/java/org/codehaus/groovy/classgen/InnerClassCompletionVisitor.java
index eb4103eb12..5950d38c43 100644
--- 
a/src/main/java/org/codehaus/groovy/classgen/InnerClassCompletionVisitor.java
+++ 
b/src/main/java/org/codehaus/groovy/classgen/InnerClassCompletionVisitor.java
@@ -79,8 +79,9 @@ public class InnerClassCompletionVisitor extends 
InnerClassVisitorHelper impleme
     public void visitClass(final ClassNode node) {
         classNode = node;
         thisField = null;
+        if (node.isEnum() || node.isInterface()) return;
         InnerClassNode innerClass = null;
-        if (!node.isEnum() && !node.isInterface() && node instanceof 
InnerClassNode) {
+        if (node instanceof InnerClassNode) {
             innerClass = (InnerClassNode) node;
             thisField = innerClass.getField("this$0");
             if (innerClass.getVariableScope() == null && 
innerClass.getDeclaredConstructors().isEmpty()) {
@@ -88,7 +89,6 @@ public class InnerClassCompletionVisitor extends 
InnerClassVisitorHelper impleme
                 addGeneratedConstructor(innerClass, ACC_PUBLIC, 
Parameter.EMPTY_ARRAY, null, null);
             }
         }
-        if (node.isEnum() || node.isInterface()) return;
         // use Iterator.hasNext() to check for available inner classes
         if (node.getInnerClasses().hasNext()) addDispatcherMethods(node);
         if (innerClass == null) return;
@@ -335,7 +335,7 @@ public class InnerClassCompletionVisitor extends 
InnerClassVisitorHelper impleme
 
         BlockStatement block = getCodeAsBlock(node);
         BlockStatement newCode = block();
-        addFieldInit(thisPara, thisField, newCode);
+        if (thisField != null) addFieldInit(thisPara, thisField, newCode);
         ConstructorCallExpression cce = 
getFirstIfSpecialConstructorCall(block);
         if (cce == null) {
             cce = ctorSuperX(new TupleExpression());

Reply via email to