[ 
https://issues.apache.org/jira/browse/GROOVY-8032?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15796494#comment-15796494
 ] 

Christopher Smith commented on GROOVY-8032:
-------------------------------------------

Looks like I was using an older micro of the compiler even though the 
dependency itself was 2.4.7. Looks like a dupe. Heck of a time searching for 
it, though! ;-)

> nested classes on interfaces are not static
> -------------------------------------------
>
>                 Key: GROOVY-8032
>                 URL: https://issues.apache.org/jira/browse/GROOVY-8032
>             Project: Groovy
>          Issue Type: Bug
>          Components: class generator
>    Affects Versions: 2.4.7
>            Reporter: Christopher Smith
>            Priority: Minor
>
> According to the JLS, "A member type declaration in an interface is 
> implicitly {{static}} and {{public}}", and there does not seem to be any 
> reason for Groovy to support non-static nested classes on interfaces. 
> However, classes not explicitly marked {{static}} do not have the static flag 
> set. This appears to be a simple bug in the class generator, as the generated 
> constructor does not attempt to store an outer reference or otherwise behave 
> as an inner class. It does, however, break reflective code (Jackson) that 
> gets very confused when looking for an eligible constructor.
> {code}
> interface Example {
>   class Response {
>     int code
>   }
> }
> {code}
> Expected result: {{Example$Response}} has the static modifier flag set.
> Actual result: It does not.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to