On 14/03/2017 17:37, Russell Gold wrote:

Hi Alan,

I am trying this in SimpleStub, and it seems to work for my current test cases if I do this:
MethodHandles.Lookup in = MethodHandles.privateLookupIn(baseClass, 
MethodHandles.lookup() ).dropLookupMode( MethodHandles.Lookup.PRIVATE );
return in.defineClass(classBytes);
My tests create stubs from public, package-private and protected classes. Is that what you are expecting? It seems a bit overly complex.
You get a full-power lookup on the "baseClass", passing your own lookup that proves you have access. Then you drop private access as it's not supported by defineClass at this time. So it looks right.



In gmbal, I see that this may not suffice, as the current interfaces provide no way to supply a class to use as a base. Figuring out how those interfaces are being used might change my answer.

Could you add an overloaded register method to ManagedObjectManager to take the Lookup?

-Alan

Reply via email to