I do not think that this is possible. If the module containing the
interface does not open a package, I cannot change the privileges of the
main module such that I can resolve a method handle for invoking the
special invocation.

I just tried this out too and I did not find a way, could you suggest how
to change my code for being able to do so?

Best regards, Rafael

2018-04-11 9:26 GMT+02:00 Alan Bateman <alan.bate...@oracle.com>:

> On 10/04/2018 12:15, Rafael Winterhalter wrote:
>
>> Thanks for the reference.
>>
>> As for the proxy API, I think that this should be reworked anyways as the
>> lookup on each call would be rather expensive.
>>
> In the mean-time, I think you should be able to make progress with
> findSpecial for the common case where the interface is public and in an
> exported package.
>
> For this case, the proxy will be generated into an unnamed module (the
> "Package and Module Membership of Proxy Class" section of the Proxy API
> spec has all the wonderful details on this). The proxy dispatches to your
> invocation handler, module "main" in your test. The invocation handler can
> invoke Module::addReads to update module "main" to read the proxy's module.
> It can then create a full power Lookup on the proxy class and invoke
> findSpecial with the proxy class ("iface" should work too) as the
> specialCaller. Bind that to the proxy instance and perform the invoke as
> you are doing already.
>
> -Alan.
>
>
>

Reply via email to