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());