Draft JEP for discussion: Lint and doclint clean sources

Joe Darcy joe.darcy at oracle.com
Wed May 28 00:04:42 UTC 2014


Hello,

To formalize previously discussed efforts to cleanup the lint warnings 
on the JDK's sources, I've written up a draft JEP:

     JDK-8042878 Lint and doclint clean sources
     https://bugs.openjdk.java.net/browse/JDK-8042878

and am soliciting comments. For convenience, the text of the JEP is below.

Thanks,

-Joe


Summary

The JDK code base contains numerous lint and doclint errors as reported 
by javac. These warnings should be resolved, at least for the 
fundamental parts of the platform.


Goals

Operationally, the goal is to have at least the packages for the 
fundamental packages in the platform (those discussed on core-libs, 
awt-dev, swing-dev, 2d-dev, etc.) compile cleanly under javac's lint and 
doclint warnings. It is desirable for other packages, such as those 
comprising jaxp, jax-ws, and corba to also compile cleanly with all 
warning enabled.


Success Metrics

A successful build of the sources in question when the -Xlint:all option 
is used for the javac command. A slightly weaker goal that may be 
acceptable is for all the source-related lint options to be enabled, but 
not the lint options for non-source properties. For example, some lint 
options concern properties of the javac command line rather than the 
sources being compiled.


Description

This JEP proposes to complete efforts to fix warnings that have been 
underway in JDK 8 and JDK 9 as well as to formalize a subset of source 
code improvements previously proposed to jdk9-dev. Most of the warnings 
are resolved by modifying the interior of method bodies. Resolving some 
of rawtypes warnings involves changing method signatures, such as 
changing a parameter type from a raw java.lang.Class to a 
java.lang.Class or some more specific type. Any API changes will stay 
within the general evolution policy of the JDK.


Testing

A successful compile / build is the primary test for most changes, but 
the existing regression tests should continue to pass. Where a Java SE 
API has a signature change, the corresponding JCK signature test will 
need to be updated accordingly.


Dependences

Resolving the deprecation warnings in the JDK would be eased if 
importing a deprecated type does not trigger a deprecation warning.



More information about the jdk9-dev mailing list