You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@groovy.apache.org by em...@apache.org on 2021/12/14 21:53:12 UTC

[groovy] branch master updated: GROOVY-7242: refactor static checks

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

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


The following commit(s) were added to refs/heads/master by this push:
     new 17029c6  GROOVY-7242: refactor static checks
17029c6 is described below

commit 17029c63e36b099aadb8d36bcc9834834e76f209
Author: Eric Milles <er...@thomsonreuters.com>
AuthorDate: Tue Dec 14 15:53:03 2021 -0600

    GROOVY-7242: refactor static checks
---
 .../org/codehaus/groovy/transform/stc/StaticTypeCheckingVisitor.java   | 1 -
 .../org/codehaus/groovy/transform/trait/TraitASTTransformation.java    | 3 +++
 2 files changed, 3 insertions(+), 1 deletion(-)

diff --git a/src/main/java/org/codehaus/groovy/transform/stc/StaticTypeCheckingVisitor.java b/src/main/java/org/codehaus/groovy/transform/stc/StaticTypeCheckingVisitor.java
index 3f0af1e..86bf51c 100644
--- a/src/main/java/org/codehaus/groovy/transform/stc/StaticTypeCheckingVisitor.java
+++ b/src/main/java/org/codehaus/groovy/transform/stc/StaticTypeCheckingVisitor.java
@@ -4775,7 +4775,6 @@ public class StaticTypeCheckingVisitor extends ClassCodeVisitorSupport {
                 }
             }
             if (!receiver.isStaticClass() && receiver.getOuterClass() != null
-                    && !receiver.getName().endsWith("$Trait$Helper") // GROOVY-7242
                     && typeCheckingContext.getEnclosingClassNodes().contains(receiver)) {
                 ClassNode outer = receiver.getOuterClass();
                 do { methods.addAll(findMethodsWithGenerated(outer, name));
diff --git a/src/main/java/org/codehaus/groovy/transform/trait/TraitASTTransformation.java b/src/main/java/org/codehaus/groovy/transform/trait/TraitASTTransformation.java
index 9d78e4b..b54ffed 100644
--- a/src/main/java/org/codehaus/groovy/transform/trait/TraitASTTransformation.java
+++ b/src/main/java/org/codehaus/groovy/transform/trait/TraitASTTransformation.java
@@ -167,6 +167,7 @@ public class TraitASTTransformation extends AbstractASTTransformation implements
                 ClassNode.EMPTY_ARRAY,
                 null
         );
+        helper.setStaticClass(true); // GROOVY-7242, GROOVY-7456, etc.
         cNode.setModifiers(ACC_PUBLIC | ACC_ABSTRACT | ACC_INTERFACE);
 
         checkInnerClasses(cNode);
@@ -199,6 +200,7 @@ public class TraitASTTransformation extends AbstractASTTransformation implements
                     ACC_PUBLIC | ACC_STATIC | ACC_ABSTRACT | ACC_INTERFACE | ACC_SYNTHETIC,
                     OBJECT_TYPE
             );
+            fieldHelper.setStaticClass(true);
             if (hasStatic) {
                 staticFieldHelper = new InnerClassNode(
                         cNode,
@@ -206,6 +208,7 @@ public class TraitASTTransformation extends AbstractASTTransformation implements
                         ACC_PUBLIC | ACC_STATIC | ACC_ABSTRACT | ACC_INTERFACE | ACC_SYNTHETIC,
                         OBJECT_TYPE
                 );
+                staticFieldHelper.setStaticClass(true);
             }
         }