@@ -51,18 +51,13 @@ public Abst(Map<Object, Object> context) {
5151
5252
5353 public static class ForJava7 extends Abst {
54- protected UnsafeWrapper unsafeWrapper ;
55- protected PrivateLookupInMethodHandleSupplier privateLookupInMethodHandleSupplier ;
5654 protected ObjectProvider functionProvider ;
5755 protected Map <Object , Object > context ;
5856
5957 public ForJava7 (Map <Object , Object > context ) throws NoSuchMethodException , IllegalAccessException , Throwable {
6058 super (context );
6159 this .context = context ;
6260 functionProvider = ObjectProvider .get (context );
63- unsafeWrapper = functionProvider .getOrBuildObject (UnsafeWrapper .class , context );
64- privateLookupInMethodHandleSupplier =
65- functionProvider .getOrBuildObject (PrivateLookupInMethodHandleSupplier .class , context );
6661// defineHookClassMethodHandle = retrieveConsulter(
6762// functionProvider.getOrBuildObject(ConsulterSupplier.class, context).get(),
6863// functionProvider.getOrBuildObject(PrivateLookupInMethodHandleSupplier.class, context).get()
@@ -80,12 +75,13 @@ public ForJava7(Map<Object, Object> context) throws NoSuchMethodException, Illeg
8075
8176 @ Override
8277 public Class <?> apply (Class <?> clientClass , byte [] byteCode ) throws Throwable {
83- MethodHandle privateLookupInMethodHandle = privateLookupInMethodHandleSupplier .get ();
78+ MethodHandle privateLookupInMethodHandle = functionProvider .getOrBuildObject (PrivateLookupInMethodHandleSupplier .class , context ).get ();
79+ UnsafeWrapper unsafeWrapper = functionProvider .getOrBuildObject (UnsafeWrapper .class , context );
8480 return (Class <?>) ((MethodHandles .Lookup ) privateLookupInMethodHandle .invokeWithArguments (
85- functionProvider .getOrBuildObject (DeepConsulterSupplyFunction .class , context ).apply ( unsafeWrapper . getUnsafeClass () ),
86- unsafeWrapper .getUnsafeClass ()
81+ functionProvider .getOrBuildObject (ConsulterSupplier .class , context ).get ( ),
82+ functionProvider . getOrBuildObject ( UnsafeWrapper . class , context ) .getUnsafeClass ()
8783 )).findSpecial (
88- unsafeWrapper .getUnsafeClass (),
84+ functionProvider . getOrBuildObject ( UnsafeWrapper . class , context ) .getUnsafeClass (),
8985 "defineAnonymousClass" ,
9086 MethodType .methodType (Class .class , Class .class , byte [].class , Object [].class ),
9187 unsafeWrapper .getUnsafeClass ()
@@ -108,10 +104,11 @@ public ForJava9(Map<Object, Object> context) throws NoSuchMethodException, Illeg
108104
109105 @ Override
110106 public Class <?> apply (Class <?> clientClass , byte [] byteCode ) throws Throwable {
111- MethodHandle privateLookupInMethodHandle = privateLookupInMethodHandleSupplier .get ();
107+ MethodHandle privateLookupInMethodHandle = functionProvider .getOrBuildObject (PrivateLookupInMethodHandleSupplier .class , context ).get ();
108+ UnsafeWrapper unsafeWrapper = functionProvider .getOrBuildObject (UnsafeWrapper .class , context );
112109 return (Class <?>) ((MethodHandles .Lookup ) privateLookupInMethodHandle .invokeWithArguments (
113110 unsafeWrapper .getUnsafeClass (),
114- functionProvider .getOrBuildObject (DeepConsulterSupplyFunction .class , context ).apply ( unsafeWrapper . getUnsafeClass () )
111+ functionProvider .getOrBuildObject (ConsulterSupplier .class , context ).get ( )
115112 )).findSpecial (
116113 unsafeWrapper .getUnsafeClass (),
117114 "defineAnonymousClass" ,
0 commit comments