public static class TypeWriter.MethodPool.Record.AccessBridgeWrapper extends Object implements TypeWriter.MethodPool.Record
TypeWriter.MethodPool.Record.apply(ClassVisitor, Implementation.Context, AnnotationValueFilter.Factory)
is invoked such that bridges are not appended for methods that are rebased or redefined as such types already have bridge methods in place.Modifier and Type | Class and Description |
---|---|
protected static class |
TypeWriter.MethodPool.Record.AccessBridgeWrapper.AccessorBridge
A method representing an accessor bridge method.
|
protected static class |
TypeWriter.MethodPool.Record.AccessBridgeWrapper.BridgeTarget
A method representing a bridge's target method in its defined shape.
|
TypeWriter.MethodPool.Record.AccessBridgeWrapper, TypeWriter.MethodPool.Record.ForDefinedMethod, TypeWriter.MethodPool.Record.ForNonDefinedMethod, TypeWriter.MethodPool.Record.Sort
Modifier | Constructor and Description |
---|---|
protected |
AccessBridgeWrapper(TypeWriter.MethodPool.Record delegate,
TypeDescription instrumentedType,
MethodDescription bridgeTarget,
Set<MethodDescription.TypeToken> bridgeTypes,
MethodAttributeAppender attributeAppender)
Creates a wrapper for adding accessor bridges.
|
Modifier and Type | Method and Description |
---|---|
void |
apply(ClassVisitor classVisitor,
Implementation.Context implementationContext,
AnnotationValueFilter.Factory annotationValueFilterFactory)
Applies this method entry.
|
void |
applyBody(MethodVisitor methodVisitor,
Implementation.Context implementationContext,
AnnotationValueFilter.Factory annotationValueFilterFactory)
Applies the body of this entry.
|
void |
applyHead(MethodVisitor methodVisitor)
Applies the head of this entry.
|
boolean |
equals(Object other) |
MethodDescription |
getMethod()
Returns the method that is implemented where the returned method resembles a potential transformation.
|
TypeWriter.MethodPool.Record.Sort |
getSort()
Returns the sort of this method instrumentation.
|
int |
hashCode() |
static TypeWriter.MethodPool.Record |
of(TypeWriter.MethodPool.Record delegate,
TypeDescription instrumentedType,
MethodDescription bridgeTarget,
Set<MethodDescription.TypeToken> bridgeTypes,
MethodAttributeAppender attributeAppender)
Wraps the given record in an accessor bridge wrapper if necessary.
|
TypeWriter.MethodPool.Record |
prepend(ByteCodeAppender byteCodeAppender)
Prepends the given method appender to this entry.
|
String |
toString() |
protected AccessBridgeWrapper(TypeWriter.MethodPool.Record delegate, TypeDescription instrumentedType, MethodDescription bridgeTarget, Set<MethodDescription.TypeToken> bridgeTypes, MethodAttributeAppender attributeAppender)
delegate
- The delegate for implementing the bridge's target.instrumentedType
- The instrumented type that defines the bridge methods and the bridge target.bridgeTarget
- The target of the bridge method.bridgeTypes
- A collection of all tokens representing all bridge methods.attributeAppender
- The attribute appender being applied for the bridge target.public static TypeWriter.MethodPool.Record of(TypeWriter.MethodPool.Record delegate, TypeDescription instrumentedType, MethodDescription bridgeTarget, Set<MethodDescription.TypeToken> bridgeTypes, MethodAttributeAppender attributeAppender)
delegate
- The delegate for implementing the bridge's target.instrumentedType
- The instrumented type that defines the bridge methods and the bridge target.bridgeTarget
- The bridge methods' target methods.bridgeTypes
- A collection of all tokens representing all bridge methods.attributeAppender
- The attribute appender being applied for the bridge target.public TypeWriter.MethodPool.Record.Sort getSort()
TypeWriter.MethodPool.Record
getSort
in interface TypeWriter.MethodPool.Record
public MethodDescription getMethod()
TypeWriter.MethodPool.Record
TypeWriter.MethodPool.Record.Sort.SKIPPED
.getMethod
in interface TypeWriter.MethodPool.Record
public TypeWriter.MethodPool.Record prepend(ByteCodeAppender byteCodeAppender)
TypeWriter.MethodPool.Record
prepend
in interface TypeWriter.MethodPool.Record
byteCodeAppender
- The byte code appender to prepend.public void apply(ClassVisitor classVisitor, Implementation.Context implementationContext, AnnotationValueFilter.Factory annotationValueFilterFactory)
TypeWriter.MethodPool.Record
apply
in interface TypeWriter.MethodPool.Record
classVisitor
- The class visitor to which this entry should be applied.implementationContext
- The implementation context to which this entry should be applied.annotationValueFilterFactory
- The annotation value filter factory to apply when writing annotations.public void applyHead(MethodVisitor methodVisitor)
TypeWriter.MethodPool.Record
TypeWriter.MethodPool.Record.Sort.SKIPPED
.applyHead
in interface TypeWriter.MethodPool.Record
methodVisitor
- The method visitor to which this entry should be applied.public void applyBody(MethodVisitor methodVisitor, Implementation.Context implementationContext, AnnotationValueFilter.Factory annotationValueFilterFactory)
TypeWriter.MethodPool.Record
TypeWriter.MethodPool.Record.Sort.IMPLEMENTED
.applyBody
in interface TypeWriter.MethodPool.Record
methodVisitor
- The method visitor to which this entry should be applied.implementationContext
- The implementation context to which this entry should be applied.annotationValueFilterFactory
- The annotation value filter factory to apply when writing annotations.Copyright © 2014–2016. All rights reserved.