JDK-8153362: [jigsaw] Add javac -Xlint warning to list exposed types which are not accessible
Jan Lahoda
jan.lahoda at oracle.com
Mon Jun 13 16:12:12 UTC 2016
Hello,
There is:
https://bugs.openjdk.java.net/browse/JDK-8153362
which is about a new warning that should be produced by javac when
exported API refers to types not exported/accessible to the API clients.
I've put my current javac change here:
http://cr.openjdk.java.net/~jlahoda/8153362/langtools.00/
There are some warnings produced for existing code in the hotspot and
jdk repositories (see the end for the warnings), I was using these
patches to keep JDK buildable:
hotspot repository:
http://cr.openjdk.java.net/~jlahoda/8153362/hotspot.00/
jdk repository:
http://cr.openjdk.java.net/~jlahoda/8153362/jdk.00/
Any help with those (esp. those in the hotspot repository) would be
wholeheartedly welcome.
Any feedback on this is welcome!
Thanks,
Jan
The warnings:
-hotspot repository:
.../hotspot/src/jdk.vm.ci/share/classes/jdk.vm.ci.runtime/src/jdk/vm/ci/runtime/services/JVMCICompilerFactory.java:72:
warning: unexported type referenced in exported API
public abstract JVMCICompiler createCompiler(JVMCIRuntime runtime);
^
.../hotspot/src/jdk.vm.ci/share/classes/jdk.vm.ci.runtime/src/jdk/vm/ci/runtime/services/JVMCICompilerFactory.java:72:
warning: unexported type referenced in exported API
public abstract JVMCICompiler createCompiler(JVMCIRuntime runtime);
^
error: warnings found and -Werror specified
.../hotspot/src/jdk.vm.ci/share/classes/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/services/HotSpotJVMCICompilerFactory.java:54:
warning: unexported type referenced in exported API
public int getCompilationLevelAdjustment(HotSpotVMConfig config) {
^
.../hotspot/src/jdk.vm.ci/share/classes/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/services/HotSpotJVMCICompilerFactory.java:73:
warning: unexported type referenced in exported API
public int adjustCompilationLevel(HotSpotVMConfig config, Class<?>
declaringClass, String name, String signature, boolean isOsr, int level) {
^
.../hotspot/src/jdk.vm.ci/share/classes/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/services/HotSpotVMEventListener.java:70:
warning: unexported type referenced in exported API
public void notifyInstall(HotSpotCodeCacheProvider
hotSpotCodeCacheProvider, InstalledCode installedCode, CompiledCode
compiledCode) {
^
.../hotspot/src/jdk.vm.ci/share/classes/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/services/HotSpotVMEventListener.java:70:
warning: unexported type referenced in exported API
public void notifyInstall(HotSpotCodeCacheProvider
hotSpotCodeCacheProvider, InstalledCode installedCode, CompiledCode
compiledCode) {
^
.../hotspot/src/jdk.vm.ci/share/classes/jdk.vm.ci.hotspot/src/jdk/vm/ci/hotspot/services/HotSpotVMEventListener.java:70:
warning: unexported type referenced in exported API
public void notifyInstall(HotSpotCodeCacheProvider
hotSpotCodeCacheProvider, InstalledCode installedCode, CompiledCode
compiledCode) {
^
1 error
7 warnings
-jdk/java.desktop:
.../jdk/src/java.desktop/share/classes/javax/swing/JRootPane.java:333:
warning: inaccessible type referenced in exported API
protected DefaultAction defaultPressAction;
^
.../jdk/src/java.desktop/share/classes/javax/swing/JRootPane.java:344:
warning: inaccessible type referenced in exported API
protected DefaultAction defaultReleaseAction;
^
error: warnings found and -Werror specified
.../jdk/src/java.desktop/share/classes/javax/swing/plaf/metal/MetalBorders.java:742:
warning: inaccessible type referenced in exported API
protected MetalBumps bumps = new MetalBumps( 10, 10,
^
.../jdk/src/java.desktop/share/classes/javax/swing/plaf/metal/MetalFileChooserUI.java:926:
warning: inaccessible type referenced in exported API
protected DirectoryComboBoxRenderer
createDirectoryComboBoxRenderer(JFileChooser fc) {
^
.../jdk/src/java.desktop/share/classes/javax/swing/plaf/metal/MetalScrollBarUI.java:65:
warning: inaccessible type referenced in exported API
protected MetalBumps bumps;
^
Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
1 error
5 warnings
-jdk/java.naming:
.../jdk/src/java.naming/share/classes/javax/naming/CompoundName.java:156: warning:
inaccessible type referenced in exported API
protected transient NameImpl impl;
^
error: warnings found and -Werror specified
1 error
1 warning
-jdk/jdk.accessibility:
.../jdk/src/jdk.accessibility/share/classes/com/sun/java/accessibility/util/AWTEventMonitor.java:219:
warning: inaccessible type referenced in exported API
static protected AWTEventsListener awtListener = new
AWTEventsListener();
^
error: warnings found and -Werror specified
.../jdk/src/jdk.accessibility/share/classes/com/sun/java/accessibility/util/AccessibilityEventMonitor.java:66:
warning: inaccessible type referenced in exported API
static protected final AccessibilityEventListener
accessibilityListener =
^
.../jdk/src/jdk.accessibility/share/classes/com/sun/java/accessibility/util/SwingEventMonitor.java:74:
warning: inaccessible type referenced in exported API
static protected final SwingEventListener swingListener = new
SwingEventListener();
^
1 error
3 warnings
-jdk/jdk.jsobject:
.../jdk/src/jdk.jsobject/share/classes/netscape/javascript/JSObject.java:153:
warning: type from a module referenced in exported API that is not
requires public from this module
public static JSObject getWindow(Applet applet) throws JSException {
^
error: warnings found and -Werror specified
1 error
1 warning
-jdk/jdk.security.jgss:
.../jdk/src/jdk.security.jgss/share/classes/com/sun/security/jgss/ExtendedGSSContext.java:42:
warning: type that is invisible for some modules which read this package
referenced in exported API
static class ExtendedGSSContextImpl extends GSSContextImpl
^
.../jdk/src/jdk.security.jgss/share/classes/com/sun/security/jgss/ExtendedGSSContext.java:45:
warning: type that is invisible for some modules which read this package
referenced in exported API
public ExtendedGSSContextImpl(GSSContextImpl old) {
^
error: warnings found and -Werror specified
.../jdk/src/jdk.security.jgss/share/classes/com/sun/security/jgss/ExtendedGSSCredential.java:38:
warning: type that is invisible for some modules which read this package
referenced in exported API
static class ExtendedGSSCredentialImpl extends GSSCredentialImpl
^
.../jdk/src/jdk.security.jgss/share/classes/com/sun/security/jgss/ExtendedGSSCredential.java:41:
warning: type that is invisible for some modules which read this package
referenced in exported API
public ExtendedGSSCredentialImpl(GSSCredentialImpl old) {
^
1 error
4 warnings
More information about the core-libs-dev
mailing list