public abstract class AbstractEnhancer extends AbstractClassGenerator
AbstractClassGenerator.ClassLoaderData| 限定符和类型 | 字段和说明 |
|---|---|
protected static Signature |
CSTRUCT_NULL |
protected static Signature |
FIND_CONSTRUCTORS |
protected static Signature |
FIND_METHODS |
protected static Signature |
GENERATED$BIND_INTERCEPTOR |
protected static Signature |
GENERATED$DEL_THREAD_INTERCEPTOR |
protected static String |
GENERATED$EMPTY_ARGS |
protected static String |
GENERATED$ENHANCED |
protected static String |
GENERATED$INTERCEPTORS_MATRIX |
protected static Signature |
GENERATED$INVOKE_RAW |
protected static Signature |
GENERATED$INVOKE_SUPER |
protected static String |
GENERATED$RAW_INVOKER |
protected static Signature |
GENERATED$SET_TARGET_METHODS |
protected static String |
GENERATED$STATIC_INTERCEPTOR |
protected static String |
GENERATED$SUPER_ |
protected static String |
GENERATED$SUPER_INVOKER |
protected static String |
GENERATED$TARGET_METHODS |
protected static String |
GENERATED$THREAD_INTERCEPTOR |
protected static Signature |
GET_DECLARED_CONSTRUCTORS |
protected static Signature |
GET_DECLARED_METHODS |
protected Class<?>[] |
interfaces |
protected static Signature |
METHOD_INVOKER__INVOKE
Invoker - lambda method
|
protected Long |
serialVersion |
protected Class<?> |
superclass |
protected Method[] |
targetMethods |
protected static Signature |
THREAD_LOCAL_GET |
protected static Signature |
THREAD_LOCAL_REMOVE |
protected static Signature |
THREAD_LOCAL_SET |
protected static org.objectweb.asm.Type |
TYPE_ABSTRACT_ENHANCER |
protected static org.objectweb.asm.Type |
TYPE_INTERCEPTOR |
protected static org.objectweb.asm.Type |
TYPE_INTERCEPTOR_ARRAY |
protected static org.objectweb.asm.Type |
TYPE_INTERCEPTOR_ARRAY_ARRAY |
protected static org.objectweb.asm.Type |
TYPE_INVOCATION_EXCEPTION |
protected static org.objectweb.asm.Type |
TYPE_INVOKER |
protected static org.objectweb.asm.Type |
TYPE_METHOD |
protected static org.objectweb.asm.Type |
TYPE_METHOD_ARRAY |
protected static org.objectweb.asm.Type |
TYPE_THREAD_LOCAL |
protected boolean |
withFinal |
| 构造器和说明 |
|---|
AbstractEnhancer() |
attemptLoad, attemptLoad, checkState, generateClass, getClassLoader, getClassName, isEditable, isFrozen, namingPolicy, namingPolicy, setBaseName, setClassLoader, setKey, setPackageName, strategy, strategy, useCache, useCacheprotected static final String GENERATED$INTERCEPTORS_MATRIX
protected static final org.objectweb.asm.Type TYPE_ABSTRACT_ENHANCER
protected static final org.objectweb.asm.Type TYPE_THREAD_LOCAL
protected static final org.objectweb.asm.Type TYPE_METHOD
protected static final org.objectweb.asm.Type TYPE_METHOD_ARRAY
protected static final org.objectweb.asm.Type TYPE_INVOKER
protected static final org.objectweb.asm.Type TYPE_INTERCEPTOR_ARRAY
protected static final org.objectweb.asm.Type TYPE_INTERCEPTOR
protected static final org.objectweb.asm.Type TYPE_INVOCATION_EXCEPTION
protected static final org.objectweb.asm.Type TYPE_INTERCEPTOR_ARRAY_ARRAY
protected static final Signature METHOD_INVOKER__INVOKE
protected static final Signature GET_DECLARED_METHODS
protected static final Signature GET_DECLARED_CONSTRUCTORS
protected static final Signature FIND_METHODS
protected static final Signature FIND_CONSTRUCTORS
protected static final Signature GENERATED$INVOKE_SUPER
protected static final Signature GENERATED$INVOKE_RAW
protected static final Signature GENERATED$SET_TARGET_METHODS
protected static final Signature GENERATED$DEL_THREAD_INTERCEPTOR
protected static final Signature GENERATED$BIND_INTERCEPTOR
protected static final Signature CSTRUCT_NULL
protected static final Signature THREAD_LOCAL_GET
protected static final Signature THREAD_LOCAL_SET
protected static final Signature THREAD_LOCAL_REMOVE
protected Class<?> superclass
protected boolean withFinal
protected Class<?>[] interfaces
protected Long serialVersion
protected Method[] targetMethods
public static Method[] findMethods(String[] namesAndDescriptors, Method[] methods)
FIND_METHODSpublic static Constructor<?>[] findConstructors(String[] descriptors, Constructor<?>[] constructors)
public AbstractEnhancer superclass(Class<?> superclass)
public AbstractEnhancer withFinal(boolean withFinal)
public AbstractEnhancer interfaces(Class<?>[] interfaces)
public AbstractEnhancer serialVersionUID(Long serialVersionUID)
public Object create()
public Class<?> createClass()
protected abstract Object generateKey()
protected abstract void registerStaticInterceptors(Class<?> type)
protected abstract void bindThreadInterceptors(Class<?> type)
protected void unbindThreadInterceptors(Class<?> type)
protected void registerTargetMethods(Class<?> type)
protected Class<?> generate(ClassLoader classLoader, AbstractClassGenerator.ClassLoaderData data)
generate 在类中 AbstractClassGeneratorprotected ClassLoader getDefaultClassLoader()
protected ProtectionDomain getProtectionDomain()
public void generateClass(org.objectweb.asm.ClassVisitor cv)
throws Exception
Exceptionprotected void saveTargetMethods(Method[] targetMethods)
protected void emitStandardFields(ClassEmitter ce)
protected void emitSpecialFields(ClassEmitter ce)
protected void emitStaticBlock(ClassEmitter ce, List<Constructor<?>> constructors, List<MethodInfo> methods)
protected void emitStaticInvokeSuper(ClassEmitter ce, List<MethodInfo> methods, Map<String,Method> undeclaredMethods)
protected void emitStaticInvokeRaw(ClassEmitter ce, List<MethodInfo> methods, Map<String,Method> undeclaredMethods)
protected void emitStaticSetTargetMethods(ClassEmitter ce)
protected void emitStaticSetStaticInterceptor(ClassEmitter ce)
protected abstract Signature getSetStaticInterceptorSignature()
protected void emitStaticSetThreadInterceptor(ClassEmitter ce)
protected abstract Signature getSetThreadInterceptorSignature()
protected abstract void emitStaticBindInterceptor(ClassEmitter ce)
protected void emitConstructors(ClassEmitter ce, List<Constructor<?>> constructors)
protected abstract void emitMethods(ClassEmitter ce, List<MethodInfo> methods, Map<String,Method> undeclaredMethods)
protected void emitSuperMethods(ClassEmitter ce, List<MethodInfo> methods, Map<String,Method> undeclaredMethods)
protected void emitSpecialMethod(ClassEmitter ce, List<MethodInfo> methods, Map<String,Method> undeclaredMethods)
Copyright © 2024 fossc. All rights reserved.