You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@groovy.apache.org by pa...@apache.org on 2020/05/13 10:06:46 UTC

[groovy] branch master updated: GROOVY-9506: Joint compilation is broken for AutoImplement (prod code change)

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

paulk 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 087a6a4  GROOVY-9506: Joint compilation is broken for AutoImplement (prod code change)
087a6a4 is described below

commit 087a6a4b1188ea009bee9bb1fc627be3aef76fd3
Author: Paul King <pa...@asert.com.au>
AuthorDate: Wed May 13 20:06:37 2020 +1000

    GROOVY-9506: Joint compilation is broken for AutoImplement (prod code change)
---
 .../org/codehaus/groovy/transform/AutoImplementASTTransformation.java  | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/main/java/org/codehaus/groovy/transform/AutoImplementASTTransformation.java b/src/main/java/org/codehaus/groovy/transform/AutoImplementASTTransformation.java
index 985e8a7..b20d2ba 100644
--- a/src/main/java/org/codehaus/groovy/transform/AutoImplementASTTransformation.java
+++ b/src/main/java/org/codehaus/groovy/transform/AutoImplementASTTransformation.java
@@ -130,7 +130,8 @@ public class AutoImplementASTTransformation extends AbstractASTTransformation {
             Map<String, ClassNode> updatedGenericsSpec = new HashMap<String, ClassNode>(genericsSpec);
             while (!interfaces.isEmpty()) {
                 ClassNode origInterface = interfaces.remove(0);
-                if (!origInterface.equals(ClassHelper.OBJECT_TYPE)) {
+                // ignore java.lang.Object; also methods added by Verifier for GroovyObject are already good enough
+                if (!origInterface.equals(ClassHelper.OBJECT_TYPE) && !origInterface.equals(ClassHelper.GROOVY_OBJECT_TYPE)) {
                     updatedGenericsSpec = createGenericsSpec(origInterface, updatedGenericsSpec);
                     ClassNode correctedInterface = correctToGenericsSpecRecurse(updatedGenericsSpec, origInterface);
                     for (MethodNode nextMethod : correctedInterface.getMethods()) {