@HashCodeAndEqualsPlugin.Enhance public static class AsmVisitorWrapper.Compound extends Object implements AsmVisitorWrapper
AsmVisitorWrapper
s.AsmVisitorWrapper.AbstractBase, AsmVisitorWrapper.Compound, AsmVisitorWrapper.ForDeclaredFields, AsmVisitorWrapper.ForDeclaredMethods, AsmVisitorWrapper.NoOp
NO_FLAGS
Constructor and Description |
---|
Compound(AsmVisitorWrapper... asmVisitorWrapper)
Creates a new immutable chain based on an existing list of
AsmVisitorWrapper s
where no copy of the received array is made. |
Compound(List<? extends AsmVisitorWrapper> asmVisitorWrappers)
Creates a new immutable chain based on an existing list of
AsmVisitorWrapper s
where no copy of the received list is made. |
Modifier and Type | Method and Description |
---|---|
int |
mergeReader(int flags)
Defines the flags that are provided to any
ClassReader when reading a class if applicable. |
int |
mergeWriter(int flags)
Defines the flags that are provided to any
ClassWriter when writing a class. |
ClassVisitor |
wrap(TypeDescription instrumentedType,
ClassVisitor classVisitor,
Implementation.Context implementationContext,
TypePool typePool,
FieldList<FieldDescription.InDefinedShape> fields,
MethodList<?> methods,
int writerFlags,
int readerFlags)
Applies a
ClassVisitorWrapper to the creation of a DynamicType . |
public Compound(AsmVisitorWrapper... asmVisitorWrapper)
AsmVisitorWrapper
s
where no copy of the received array is made.asmVisitorWrapper
- An array of AsmVisitorWrapper
s where elements
at the beginning of the list are applied first, i.e. will be at the bottom of the generated
ClassVisitor
.public Compound(List<? extends AsmVisitorWrapper> asmVisitorWrappers)
AsmVisitorWrapper
s
where no copy of the received list is made.asmVisitorWrappers
- A list of AsmVisitorWrapper
s where elements
at the beginning of the list are applied first, i.e. will be at the bottom of the generated
ClassVisitor
.public int mergeWriter(int flags)
ClassWriter
when writing a class. Typically, this gives opportunity to instruct ASM
to compute stack map frames or the size of the local variables array and the operand stack. If no specific flags are required for
applying this wrapper, the given value is to be returned.mergeWriter
in interface AsmVisitorWrapper
flags
- The currently set flags. This value should be combined (e.g. flags | foo
) into the value that is returned by this wrapper.ClassWriter
.public int mergeReader(int flags)
ClassReader
when reading a class if applicable. Typically, this gives opportunity to
instruct ASM to expand or skip frames and to skip code and debug information. If no specific flags are required for applying this
wrapper, the given value is to be returned.mergeReader
in interface AsmVisitorWrapper
flags
- The currently set flags. This value should be combined (e.g. flags | foo
) into the value that is returned by this wrapper.ClassReader
.public ClassVisitor wrap(TypeDescription instrumentedType, ClassVisitor classVisitor, Implementation.Context implementationContext, TypePool typePool, FieldList<FieldDescription.InDefinedShape> fields, MethodList<?> methods, int writerFlags, int readerFlags)
ClassVisitorWrapper
to the creation of a DynamicType
.wrap
in interface AsmVisitorWrapper
instrumentedType
- The instrumented type.classVisitor
- A ClassVisitor
to become the new primary class visitor to which the created
DynamicType
is written to.implementationContext
- The implementation context of the current instrumentation.typePool
- The type pool that was provided for the class creation.fields
- The instrumented type's fields.methods
- The instrumented type's methods non-ignored declared and virtually inherited methods.writerFlags
- The ASM ClassWriter
flags to consider.readerFlags
- The ASM ClassReader
flags to consider.ClassVisitor
that usually delegates to the ClassVisitor
delivered in the argument.Copyright © 2014–2020. All rights reserved.