public class ShadowWrangler extends java.lang.Object implements ClassHandler
ClassHandler.Plan| Modifier and Type | Field and Description |
|---|---|
static java.lang.invoke.MethodHandle |
CALL_REAL_CODE |
static ClassHandler.Plan |
CALL_REAL_CODE_PLAN |
static java.lang.invoke.MethodHandle |
DO_NOTHING |
static Function<java.lang.Object,java.lang.Object> |
DO_NOTHING_HANDLER |
static ClassHandler.Plan |
DO_NOTHING_PLAN |
| Constructor and Description |
|---|
ShadowWrangler(ShadowMap shadowMap,
int apiLevel,
Interceptors interceptors) |
| Modifier and Type | Method and Description |
|---|---|
void |
classInitializing(java.lang.Class clazz) |
java.lang.Object |
createShadowFor(java.lang.Object instance) |
java.lang.invoke.MethodHandle |
findShadowMethod(java.lang.Class<?> caller,
java.lang.String name,
java.lang.invoke.MethodType type,
boolean isStatic) |
java.lang.invoke.MethodHandle |
getShadowCreator(java.lang.Class<?> caller) |
java.lang.Object |
initializing(java.lang.Object instance) |
java.lang.Object |
intercept(java.lang.String signature,
java.lang.Object instance,
java.lang.Object[] params,
java.lang.Class theClass) |
static java.lang.Class<?> |
loadClass(java.lang.String paramType,
java.lang.ClassLoader classLoader) |
ClassHandler.Plan |
methodInvoked(java.lang.String signature,
boolean isStatic,
java.lang.Class<?> theClass) |
<T extends java.lang.Throwable> |
stripStackTrace(T throwable) |
public static final Function<java.lang.Object,java.lang.Object> DO_NOTHING_HANDLER
public static final ClassHandler.Plan DO_NOTHING_PLAN
public static final ClassHandler.Plan CALL_REAL_CODE_PLAN
public static final java.lang.invoke.MethodHandle CALL_REAL_CODE
public static final java.lang.invoke.MethodHandle DO_NOTHING
public ShadowWrangler(ShadowMap shadowMap, int apiLevel, Interceptors interceptors)
public static java.lang.Class<?> loadClass(java.lang.String paramType,
java.lang.ClassLoader classLoader)
public void classInitializing(java.lang.Class clazz)
classInitializing in interface ClassHandlerpublic java.lang.Object initializing(java.lang.Object instance)
initializing in interface ClassHandlerpublic ClassHandler.Plan methodInvoked(java.lang.String signature, boolean isStatic, java.lang.Class<?> theClass)
methodInvoked in interface ClassHandlerpublic java.lang.invoke.MethodHandle findShadowMethod(java.lang.Class<?> caller,
java.lang.String name,
java.lang.invoke.MethodType type,
boolean isStatic)
throws java.lang.IllegalAccessException
findShadowMethod in interface ClassHandlerjava.lang.IllegalAccessExceptionpublic java.lang.Object intercept(java.lang.String signature,
java.lang.Object instance,
java.lang.Object[] params,
java.lang.Class theClass)
throws java.lang.Throwable
intercept in interface ClassHandlerjava.lang.Throwablepublic <T extends java.lang.Throwable> T stripStackTrace(T throwable)
stripStackTrace in interface ClassHandlerpublic java.lang.Object createShadowFor(java.lang.Object instance)
public java.lang.invoke.MethodHandle getShadowCreator(java.lang.Class<?> caller)
getShadowCreator in interface ClassHandler