Details
-
Bug
-
Status: Done
-
High
-
Resolution: Done
-
None
-
None
-
None
-
SR4J Sprint 73
-
0
Description
In Groovy and Java a fully qualified inner class is represented in the format
package.Class$InnerClass
Currently the groovy script which generates the deprecation metadata formats an inner class in the following way
package.Class.InnerClass
This will be need to fixed so the script formats it in the way Java / Groovy formats an inner class. Be aware inner classes will be formatted this way in every circumstance including:
1. When you reference its properties or methods:
package.Class$InnerClass#FIELD package.Class$InnerClass#method()
2. When you reference it in a constructor or method parameter:
package.Class#Class(package.Class$InnerClass) package.Class#method(java.lang.String, package.Class$InnerClass)
3. When you reference an inner class inside an inner class:
package.Class$InnerClass$InnerClass2 package.Class$InnerClass$InnerClass2$InnerClass3
You will need to be aware of points 1 and 2 for these rare cases as well.
A few examples:
com.atlassian.confluence.search.lucene.ConfluenceIndexManager#flushQueue(com.atlassian.confluence.search.lucene.ConfluenceIndexManager$IndexQueueFlushMode) // confluence 6.6.0 com.atlassian.bitbucket.scm.git.command.GitMergeCommandParameters$Builder#log(boolean) // bitbucket 6 com.atlassian.bitbucket.scm.git.command.GitMergeCommandParameters$Builder#log(int) // bitbucket 6