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.RecordgetSort in interface TypeWriter.MethodPool.Recordpublic MethodDescription getMethod()
TypeWriter.MethodPool.RecordTypeWriter.MethodPool.Record.Sort.SKIPPED.getMethod in interface TypeWriter.MethodPool.Recordpublic TypeWriter.MethodPool.Record prepend(ByteCodeAppender byteCodeAppender)
TypeWriter.MethodPool.Recordprepend in interface TypeWriter.MethodPool.RecordbyteCodeAppender - The byte code appender to prepend.public void apply(ClassVisitor classVisitor, Implementation.Context implementationContext, AnnotationValueFilter.Factory annotationValueFilterFactory)
TypeWriter.MethodPool.Recordapply in interface TypeWriter.MethodPool.RecordclassVisitor - 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.RecordTypeWriter.MethodPool.Record.Sort.SKIPPED.applyHead in interface TypeWriter.MethodPool.RecordmethodVisitor - The method visitor to which this entry should be applied.public void applyBody(MethodVisitor methodVisitor, Implementation.Context implementationContext, AnnotationValueFilter.Factory annotationValueFilterFactory)
TypeWriter.MethodPool.RecordTypeWriter.MethodPool.Record.Sort.IMPLEMENTED.applyBody in interface TypeWriter.MethodPool.RecordmethodVisitor - 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.