JDK-4992021 : Extra '.' character in generic signature attributes
  • Type: Bug
  • Component: tools
  • Sub-Component: javac
  • Affected Version: 5.0
  • Priority: P3
  • Status: Closed
  • Resolution: Duplicate
  • OS: generic
  • CPU: generic
  • Submitted: 2004-02-10
  • Updated: 2004-02-10
  • Resolved: 2004-02-10
Related Reports
Duplicate :  
Relates :  
Description

Name: siR10004			Date: 02/10/2004



Some JDK (b37 and earlier) classes have invalid 'Signature' attributes, which 
don't conform to the syntax rules described in Section 4.4.4 of the JVM spec draft. 
All these signatures have an extra '.' character.
It seems that reflection API and javac simply ignore this extra character.

Below is the list of classes and their signature attributes.

Class 'java.util.concurrent.ConcurrentHashMap$EntryIterator'
'Ljava/util/concurrent/ConcurrentHashMap<TK;TV;>;.Ljava/util/concurrent/ConcurrentHashMap$HashIterator;Ljav
a/util/Iter
ator<Ljava/util/Map$Entry<TK;TV;>;>;' 

Class 'java.util.concurrent.ConcurrentHashMap$KeyIterator'
'Ljava/util/concurrent/ConcurrentHashMap<TK;TV;>;.Ljava/util/concurrent/ConcurrentHashMap$HashIterator;Ljav
a/util/Iter
ator<TK;>;Ljava/util/Enumeration<TK;>;' 

Class 'java.util.concurrent.ConcurrentHashMap$ValueIterator'
'Ljava/util/concurrent/ConcurrentHashMap<TK;TV;>;.Ljava/util/concurrent/ConcurrentHashMap$HashIterator;Ljav
a/util/Iter
ator<TV;>;Ljava/util/Enumeration<TV;>;' 

Class 'java.util.AbstractList$ListItr'
'Ljava/util/AbstractList<TE;>;.Ljava/util/AbstractList$Itr;Ljava/util/ListIterator<TE;>;' 

Class 'java.util.EnumMap$EntryIterator'
'Ljava/util/EnumMap<TK;TV;>;.Ljava/util/EnumMap$EnumMapIterator<Ljava/util/Map$Entry<TK;TV;>;>;Ljava/util/M
ap$Entry<TK
;TV;>;'

Class 'java.util.EnumMap$KeyIterator'
'Ljava/util/EnumMap<TK;TV;>;.Ljava/util/EnumMap$EnumMapIterator<TK;>;' 

Class 'java.util.EnumMap$ValueIterator'
'Ljava/util/EnumMap<TK;TV;>;.Ljava/util/EnumMap$EnumMapIterator<TV;>;' 

Class 'java.util.IdentityHashMap$EntryIterator'
'Ljava/util/IdentityHashMap<TK;TV;>;.Ljava/util/IdentityHashMap$IdentityHashMapIterator<Ljava/util/Map$Entr
y<TK;TV;>;>
;Ljava/util/Map$Entry<TK;TV;>;' 

Class 'java.util.IdentityHashMap$KeyIterator'
'Ljava/util/IdentityHashMap<TK;TV;>;.Ljava/util/IdentityHashMap$IdentityHashMapIterator<TK;>;' 

Class 'java.util.IdentityHashMap$ValueIterator'
'Ljava/util/IdentityHashMap<TK;TV;>;.Ljava/util/IdentityHashMap$IdentityHashMapIterator<TV;>;' 

Class 'java.util.WeakHashMap$EntryIterator'
'Ljava/util/WeakHashMap<TK;TV;>;.Ljava/util/WeakHashMap$HashIterator<Ljava/util/Map$Entry<TK;TV;>;>;' 

Class 'java.util.WeakHashMap$KeyIterator'
'Ljava/util/WeakHashMap<TK;TV;>;.Ljava/util/WeakHashMap$HashIterator<TK;>;' 

Class 'java.util.WeakHashMap$ValueIterator'
'Ljava/util/WeakHashMap<TK;TV;>;.Ljava/util/WeakHashMap$HashIterator<TV;>;' 

Class 'java.util.TreeMap$EntryIterator'
'Ljava/util/TreeMap<TK;TV;>;.Ljava/util/TreeMap$PrivateEntryIterator<Ljava/util/Map$Entry<TK;TV;>;>;' 

Class 'java.util.TreeMap$KeyIterator'
'Ljava/util/TreeMap<TK;TV;>;.Ljava/util/TreeMap$PrivateEntryIterator<TK;>;' 

Class 'java.util.TreeMap$SubMapEntryIterator'
'Ljava/util/TreeMap<TK;TV;>;.Ljava/util/TreeMap$PrivateEntryIterator<Ljava/util/Map$Entry<TK;TV;>;>;' 

'java.util.TreeMap$ValueIterator'
'Ljava/util/TreeMap<TK;TV;>;.Ljava/util/TreeMap$PrivateEntryIterator<TV;>;' 

Class 'java.util.HashMap$EntryIterator'
'Ljava/util/HashMap<TK;TV;>;.Ljava/util/HashMap$HashIterator<Ljava/util/Map$Entry<TK;TV;>;>;'

Class 'java.util.HashMap$KeyIterator'
'Ljava/util/HashMap<TK;TV;>;.Ljava/util/HashMap$HashIterator<TK;>;' 

Class 'java.util.HashMap$ValueIterator'
'Ljava/util/HashMap<TK;TV;>;.Ljava/util/HashMap$HashIterator<TV;>;' 

Class 'java.util.LinkedHashMap$EntryIterator'
'Ljava/util/LinkedHashMap<TK;TV;>;.Ljava/util/LinkedHashMap$LinkedHashIterator<Ljava/util/Map$Entry<TK;TV;>
;>;' 

Class 'java.util.LinkedHashMap$KeyIterator'
'Ljava/util/LinkedHashMap<TK;TV;>;.Ljava/util/LinkedHashMap$LinkedHashIterator<TK;>;' 

Class 'java.util.LinkedHashMap$ValueIterator'
'Ljava/util/LinkedHashMap<TK;TV;>;.Ljava/util/LinkedHashMap$LinkedHashIterator<TV;>;' 

======================================================================