JDK-6410174 : JVMS should be clarified regarding internal form of class name
  • Type: Bug
  • Component: specification
  • Sub-Component: vm
  • Affected Version: 6
  • Priority: P5
  • Status: Resolved
  • Resolution: Fixed
  • OS: generic
  • CPU: generic
  • Submitted: 2006-04-07
  • Updated: 2012-10-09
  • Resolved: 2007-06-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.
JDK 6
6 1.6Fixed
Related Reports
Relates :  
Description
http://java.sun.com/docs/books/vmspec/2nd-edition/ClassFileFormat-Java5.pdf

"Class and interface names that appear in class file structures are always represented
in a fully qualified form (��2.7.5)."

However, a little later this is modified:

"In this internal form, the ASCII periods ('.') that
normally separate the identifiers that make up the fully qualified name are
replaced by ASCII forward slashes ('/'). The identifiers themselves must be
unqualified names as discussed in section (��4.3.2) below."

Also, it seems that this fails to include classes which don't have
a fully qualified name, such as anonymous classes.  However, appearances
are deceiving and it would probably be better to avoid terminology from
the JLS such as fully qualified name and binary name.

Comments
EVALUATION The JLS's notion of a binary name is very useful for JVMS 4.3. JVMS 4.3.1 should say something along the lines of: "Class and interface names that appear in class file structures are always represented in a fully qualified form. The form is a binary name (JLS 13.1) with any ASCII period ('.') replaced by an ASCII forward slash ('/')."
20-11-2006