JDK-4942991 : Signatures for nested classes contain redundant information
  • Type: Bug
  • Component: tools
  • Sub-Component: javac
  • Affected Version: 5.0
  • Priority: P2
  • Status: Resolved
  • Resolution: Fixed
  • OS: generic
  • CPU: generic
  • Submitted: 2003-10-23
  • Updated: 2004-02-20
  • Resolved: 2004-02-20
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
Other
5.0 b40Fixed
Related Reports
Duplicate :  
Relates :  
Relates :  
Description
The signatures generated by the compiler contain redundant information.
Consider the code:

package foo
class Outer<T> {
  class Inner<S> {...}
}

and a type expression

Outer<X>.Inner<Y>

The signature produced is (as I recall):

Lfoo/Outer<X>;,Lfoo/Outer/Inner<Y>;

rather than say

Lfoo/Outer<X>/Inner<Y>;

Outer

Comments
CONVERTED DATA BugTraq+ Release Management Values COMMIT TO FIX: tiger-beta2 FIXED IN: tiger-beta2 INTEGRATED IN: tiger-b40 tiger-beta2
14-06-2004

SUGGESTED FIX The JSR202 spec has attempted to adapt to the implementation without success: It currently specifies: ClassTypeSignature -> L SimpleClassTypeSignature ClassTypeSignatureSuffix* SimpleClassTypeSignature -> Identifier TypeArguments_opt ClassTypeSignatureSuffix -> / SimpleClassTypeSignature which seems quite intuitive.
11-06-2004

PUBLIC COMMENTS ...
10-06-2004

EVALUATION Clearly should be fixed ASAP to reflection and external customers can adapt. ###@###.### 2003-10-23
23-10-2003