You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@groovy.apache.org by "Tony Abbott (JIRA)" <ji...@apache.org> on 2018/05/29 07:45:00 UTC
[jira] [Created] (GROOVY-8614) Invalid reference generated in
InnerClasses attribute for nested interface
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)