groovy-notifications mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Tony Abbott (JIRA)" <j...@apache.org>
Subject [jira] [Created] (GROOVY-8614) Invalid reference generated in InnerClasses attribute for nested interface
Date Tue, 29 May 2018 07:45:00 GMT
Tony Abbott created GROOVY-8614:
-----------------------------------

             Summary: Invalid reference generated in InnerClasses attribute for nested interface
                 Key: GROOVY-8614
                 URL: https://issues.apache.org/jira/browse/GROOVY-8614
             Project: Groovy
          Issue Type: Bug
          Components: class generator
    Affects Versions: 2.4.15
            Reporter: Tony Abbott


Compiling a class with a nested interface results in a reference to a non-existent inner class
"X$Y$1" in the InnerClasses attribute of the resultant class file. Nested classes and inner
classes do not exhibit this problem, only nested interfaces.

Sample class that demonstrates the problem:
{code:java}
class X {
    interface Y {}
}
{code}
Examining the resultant class file:
{noformat}
$ javap -v -cp . X.class
...
SourceFile: "X.groovy"
InnerClasses:
     public #139= #138 of #2; //Y=class X$Y of class X
     static #142= #141 of #2; //1=class X$Y$1 of class X
{noformat}
There is a reference to "X$Y$1" which does not exist. This breaks some tools, for example
JUnit 5 test discovery.

 

It looks to me like this is related to https://issues.apache.org/jira/browse/GROOVY-5082,
being the same bug just manifesting for nested interfaces.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Mime
View raw message