public class AnnotationCoprocessorList
extends java.lang.Object
IAnnotationCoprocessor used to track the state of the transformation as every coprocessor can only be used once.| Constructor and Description |
|---|
AnnotationCoprocessorList() |
| Modifier and Type | Method and Description |
|---|---|
void |
add(java.util.function.Supplier<? extends IAnnotationCoprocessor> coprocessorSupplier)
Add a new coprocessor to the list.
|
AnnotationCoprocessorList |
build() |
void |
postprocess(TransformerManager transformerManager,
org.objectweb.asm.tree.ClassNode transformedClass,
org.objectweb.asm.tree.MethodNode transformedMethod,
java.util.List<org.objectweb.asm.tree.MethodInsnNode> transformerMethodCalls,
org.objectweb.asm.tree.ClassNode transformer,
org.objectweb.asm.tree.MethodNode transformerMethod)
Postprocess the transformer and target method after the annotation handler injected calls to the target method.
|
org.objectweb.asm.tree.MethodNode |
preprocess(TransformerManager transformerManager,
org.objectweb.asm.tree.ClassNode transformedClass,
org.objectweb.asm.tree.MethodNode transformedMethod,
org.objectweb.asm.tree.ClassNode transformer,
org.objectweb.asm.tree.MethodNode transformerMethod)
Preprocess the transformer method before the annotation handler injects calls to the target method.
|
public void add(java.util.function.Supplier<? extends IAnnotationCoprocessor> coprocessorSupplier)
coprocessorSupplier - The supplier of the coprocessorpublic AnnotationCoprocessorList build()
public org.objectweb.asm.tree.MethodNode preprocess(TransformerManager transformerManager, org.objectweb.asm.tree.ClassNode transformedClass, org.objectweb.asm.tree.MethodNode transformedMethod, org.objectweb.asm.tree.ClassNode transformer, org.objectweb.asm.tree.MethodNode transformerMethod)
transformerManager - The transformer managertransformedClass - The target class nodetransformedMethod - The target method nodetransformer - The transformer class nodetransformerMethod - The transformer method nodepublic void postprocess(TransformerManager transformerManager, org.objectweb.asm.tree.ClassNode transformedClass, org.objectweb.asm.tree.MethodNode transformedMethod, java.util.List<org.objectweb.asm.tree.MethodInsnNode> transformerMethodCalls, org.objectweb.asm.tree.ClassNode transformer, org.objectweb.asm.tree.MethodNode transformerMethod)
transformerMethodCalls list only contains direct calls to the transformer method.transformerManager - The transformer managertransformedClass - The target class nodetransformedMethod - The target method nodetransformerMethodCalls - The list of calls to the transformer methodtransformer - The transformer class nodetransformerMethod - The transformer method node