[ https://issues.apache.org/jira/browse/GROOVY-8423?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Shil Sinha reassigned GROOVY-8423: ---------------------------------- Assignee: Shil Sinha > Private and protected inner classes have incorrect access modifier values > ------------------------------------------------------------------------- > > Key: GROOVY-8423 > URL: https://issues.apache.org/jira/browse/GROOVY-8423 > Project: Groovy > Issue Type: Bug > Components: Compiler > Affects Versions: 2.4.13 > Reporter: Shil Sinha > Assignee: Shil Sinha > > {code} > import java.lang.reflect.Modifier > class Foo { > private class Private {} > protected class Protected {} > static void test() { > assert Modifier.isPrivate(Private.class.getModifiers()) \\ 0 > assert Modifier.isProtected(Protected.class.getModifiers()) \\ 1 > } > } > Foo.test() > {code} > The test above fails (on both assertions). This appears to be due to the > ACC_PRIVATE and ACC_PROTECTED modifiers being removed/replaced for inner > classes, as well as from their inner class table entries (see GROOVY-6357). > Though those modifiers aren't valid for the classes themselves, they are > allowed in the inner classes table > (https://docs.oracle.com/javase/specs/jvms/se7/html/jvms-4.html#jvms-4.7.6). -- This message was sent by Atlassian JIRA (v6.4.14#64029)