You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@groovy.apache.org by "Eric Milles (Jira)" <ji...@apache.org> on 2020/11/28 19:08:00 UTC

[jira] [Created] (GROOVY-9842) Static inner class of a static inner class is missing inner class table attribute

Eric Milles created GROOVY-9842:
-----------------------------------

             Summary: Static inner class of a static inner class is missing inner class table attribute
                 Key: GROOVY-9842
                 URL: https://issues.apache.org/jira/browse/GROOVY-9842
             Project: Groovy
          Issue Type: Bug
            Reporter: Eric Milles


Missing inner class table entry is causing class resolution issues for older Eclipse IDE versions (2018-09 and earlier).

Consider the following:
{code:groovy}
class One {
  static class Two {
    static class Three {
    }
  }
}
{code}

When compiled by {{groovyc}}, the inner class table for Three is like this:
{code}
  Inner classes:
    [inner class info: #2 One$Two$Three, outer class info: #56 One$Two
     inner name: #143 Three, accessflags: 9 public static]
{code}

When compiled by {{javac}}, the inner class table for Three is like this:
{code}
  Inner classes:
    [inner class info: #12 One$Two, outer class info: #22 One
     inner name: #13 Inner, accessflags: 9 public static],
    [inner class info: #2 One$Two$Three, outer class info: #12 One$Two
     inner name: #15 Three, accessflags: 9 public static]
{code}

The extra entry that refers to the direct outer class is present for Two under {{groovyc}}, but not for Three (the twice nested class).

GROOVY-8863 is likely related.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)