jdeps -check: add section on exports

Alex Buckley alex.buckley at oracle.com
Thu Mar 24 20:06:18 UTC 2016


On 3/24/2016 12:53 PM, forax at univ-mlv.fr wrote:
>> Moreover, I don't think an issue like this should fail the compilation:
>> even if the example above would make it into a module: at worst a client
>> could treat the result as an accessible super-type & use it (analog, for
>> the case where an inaccessible type is used as a parameter, where a
>> client could try to pass in an accessible subclass instance).
>
> If the client doesn't see the super-type, how can it knows that 'subclass' is a subclass of that super-type ?
> Apart sending null, it don't think you can do better.

Suppose the parameter type is a package-private interface I, but there's 
a public class C in the same package that implements I. Since C's 
superinterfaces are not exactly secret, I can instantiate C from 
anywhere, and pass the instance to the method expecting I. All of which 
is to say, while C# may have long given errors for inaccessible types in 
signatures, Java hasn't.

Alex


More information about the jigsaw-dev mailing list