| Modifier and Type | Field and Description |
|---|---|
| private static final Method[] |
| Access | Constructor and Description |
|---|---|
| private |
| Modifier and Type | Method and Description |
|---|---|
| public static BytecodeGen. | buildEnhancerBuilder(Class<?> hostClass)
Builder of enhancers that provide method interception via bytecode generation. |
| public static Function | buildFastClass(Class<?> hostClass)
Builds a 'fast-class' invoker that uses bytecode generation in place of reflection. |
| private static boolean | canAccess(Executable member, boolean samePackage)
Can we access this member from a subclass which may be in the same package? |
| public static boolean | |
| public static boolean | |
| private static Method[] | |
| private static boolean | |
| private static boolean | mergeInterface(List<Class<?>> interfaces, Class<?> candidate)
Attempts to merge the interface with the current flattened hierarchy. |
| private static Object | mergeMethods(Object existing, Object added)
Add the new method to an existing partition or create a new one. |
| private static String | |
| private static void | partitionMethod(Method method, Map<String, Object> partitions)
Methods are partitioned by name and parameter count. |
| private static void | pushInterfaces(Deque<Class<?>[]> interfaceStack, Class<?>[] interfaces)
Pushes the interface declaration onto the stack if it's not empty. |
| public static String | signature(Constructor<?> constructor)
Minimum signature needed to disambiguate constructors from the same host class. |
| public static String | |
| private static String | |
| private static void | visitFastConstructors(Class<?> hostClass, Consumer<Constructor<?>> visitor)
Visit all constructors for the host class that can be fast-invoked. |
| private static void | visitFastMethods(Class<?> hostClass, Consumer<Method> visitor)
Visit all methods declared by the host class that can be fast-invoked. |
| pack-priv static <T extends Executable> void | visitMembers(T[] members, boolean samePackage, Consumer<T> visitor)
Visit all subclass accessible members in the given array. |
| private static void | visitMethodHierarchy(Class<?> hostClass, Consumer<Method> visitor)
Visit the method hierarchy for the host class. |
| OVERRIDABLE_OBJECT_METHODS | back to summary |
|---|---|
| private static final Method[] OVERRIDABLE_OBJECT_METHODS | |
| ClassBuilding | back to summary |
|---|---|
| private ClassBuilding() | |
| buildEnhancerBuilder | back to summary |
|---|---|
| public static BytecodeGen. Builder of enhancers that provide method interception via bytecode generation. | |
| buildFastClass | back to summary |
|---|---|
| public static Function Builds a 'fast-class' invoker that uses bytecode generation in place of reflection. | |
| canAccess | back to summary |
|---|---|
| private static boolean canAccess(Executable member, boolean samePackage) Can we access this member from a subclass which may be in the same package? | |
| canEnhance | back to summary |
|---|---|
| public static boolean canEnhance(Executable member) Returns true if the given member can be enhanced using bytecode. | |
| canFastInvoke | back to summary |
|---|---|
| public static boolean canFastInvoke(Executable member) Returns true if the given member can be fast-invoked. | |
| getOverridableObjectMethods | back to summary |
|---|---|
| private static Method[] getOverridableObjectMethods() Cache common overridable Object methods. | |
| isPublic | back to summary |
|---|---|
| private static boolean isPublic(Class<?> clazz) | |
| mergeInterface | back to summary |
|---|---|
| private static boolean mergeInterface(List<Class<?>> interfaces, Class<?> candidate) Attempts to merge the interface with the current flattened hierarchy. | |
| mergeMethods | back to summary |
|---|---|
| private static Object mergeMethods(Object existing, Object added) Add the new method to an existing partition or create a new one. | |
| packageName | back to summary |
|---|---|
| private static String packageName(String className) Extract the package name from a class name. | |
| partitionMethod | back to summary |
|---|---|
| private static void partitionMethod(Method method, Map<String, Object> partitions) Methods are partitioned by name and parameter count. This helps focus the search for bridge delegates that involve type-erasure of generic parameter types, since the parameter count will be the same for the bridge method and its delegate. | |
| pushInterfaces | back to summary |
|---|---|
| private static void pushInterfaces(Deque<Class<?>[]> interfaceStack, Class<?>[] interfaces) Pushes the interface declaration onto the stack if it's not empty. | |
| signature | back to summary |
|---|---|
| public static String signature(Constructor<?> constructor) Minimum signature needed to disambiguate constructors from the same host class. | |
| signature | back to summary |
|---|---|
| public static String signature(Method method) Minimum signature needed to disambiguate methods from the same host class. | |
| signature | back to summary |
|---|---|
| private static String signature(String name, Class<?>[] parameterTypes) Appends a semicolon-separated list of parameter types to the given name. | |
| visitFastConstructors | back to summary |
|---|---|
| private static void visitFastConstructors(Class<?> hostClass, Consumer<Constructor<?>> visitor) Visit all constructors for the host class that can be fast-invoked. | |
| visitFastMethods | back to summary |
|---|---|
| private static void visitFastMethods(Class<?> hostClass, Consumer<Method> visitor) Visit all methods declared by the host class that can be fast-invoked. | |
| visitMembers | back to summary |
|---|---|
| pack-priv static <T extends Executable> void visitMembers(T[] members, boolean samePackage, Consumer<T> visitor) Visit all subclass accessible members in the given array. | |
| visitMethodHierarchy | back to summary |
|---|---|
| private static void visitMethodHierarchy(Class<?> hostClass, Consumer<Method> visitor) Visit the method hierarchy for the host class. | |