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
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
- duplicates
-
JDK-4992021 Extra '.' character in generic signature attributes
- Closed
- relates to
-
JDK-4987888 (reflect) Generic signature for inner classes crashes runtime
- Resolved
-
JDK-5003916 (reflect) 24 classes from java package cause GenericSignatureFormatError
- Closed