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.
The transformerMethodCalls list only contains direct calls to the transformer 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.
This happens before the transformer method is verified by the annotation handler. |
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