JDK-6880112 : Project Coin: Port JDK core library code to use diamond operator
  • Type: Enhancement
  • Component: core-libs
  • Sub-Component: java.lang
  • Affected Version: 7
  • Priority: P3
  • Status: Closed
  • Resolution: Fixed
  • OS: generic
  • CPU: generic
  • Submitted: 2009-09-09
  • Updated: 2011-05-17
  • Resolved: 2011-05-17
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 7
7 b126Fixed
Related Reports
Relates :  
Relates :  
Relates :  
Description
The diamond operator being introduced in Project Coin allows type parameters to be elided for many constructor calls.  The core JDK code base should be updated to take advantage of this language change.

Comments
EVALUATION http://hg.openjdk.java.net/jdk7/build/jdk/rev/449dfb061fde
17-01-2011

EVALUATION Diamond conversion changes for java.io, java.lang, java.sql, and java.util, and related implementation classes and tests, have been pushed. The initial diamond changes were generated by a Jackpot-based conversion tool. Compiling the results of this conversion resulted in class files that were byte-for-byte identical to class files without the changes. A few files were additional modified, to join lines that were short enough to fit on a single line after diamond conversion. This did have the effect of producing different class files, though, since line number information ends up being different. JCK and regression tests for these areas have been run successfully (i.e., test results are unchanged). For this reason, no regression tests have been added for this change, and this CR has been marked "noreg-cleanup".
21-12-2010

EVALUATION I'm repurposing this bug to cover just the first pass of "library coinification". This will include diamond conversion for a similar set of source files to what's mentioned above. Specifically, this will include files in java.lang, java.io, and java.util (exclusive of java.util.concurrent). It will also include related files in the sun.* and com.sun.* namespaces, related solaris- and windows-specific files, and related test files.
09-12-2010

EVALUATION A fine idea.
29-10-2010