----- Mail original ----- > De: "Jochen Theodorou" <blackd...@gmx.org> > À: "Remi Forax" <fo...@univ-mlv.fr> > Cc: "jigsaw-dev" <jigsaw-dev@openjdk.java.net> > Envoyé: Vendredi 27 Mai 2016 07:28:58 > Objet: Re: creating proxies for interfaces with default methods > > On 26.05.2016 14:00, Remi Forax wrote: > > Not if you use Lookup.findSpecial() [1] > > Anyway, you can not use it because you can not get the Lookup object > > associated with the proxy class. > > which is why I did this: > > > MethodHandles.Lookup.class.getDeclaredConstructor(Class.class, > > int.class). > > newInstance(interfaceClass, MethodHandles.Lookup.PRIVATE). > > unreflectSpecial(method, interfaceClass). > > bindTo(receiver); > > but that is not working anymore.
??, what's the exact error ? > > > That's why i've written the Proxy2 library [2]. > > > > so the solutions are either you use the Proxy2 library (which doesn't work > > with jdk9 yet) or we retrofit the interface InvocationHandler to take a > > supplementary Lookup object. > > regards, > > Rémi > > > > [1] > > http://docs.oracle.com/javase/7/docs/api/java/lang/invoke/MethodHandles.Lookup.html#findSpecial%28java.lang.Class,%20java.lang.String,%20java.lang.invoke.MethodType,%20java.lang.Class%29 > > [2] https://github.com/forax/proxy2 > > what is the problem under jdk9? Mostly the semantics of unsafe.defineAnonymousClass has changed so i have to investigate if i can workaround that :( > > bye Jochen > > cheers, Rémi