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

Reply via email to