@HashCodeAndEqualsPlugin.Enhance public static class TypeWriter.MethodPool.Record.ForDefinedMethod.OfVisibilityBridge extends TypeWriter.MethodPool.Record.ForDefinedMethod implements ByteCodeAppender
Modifier and Type | Class and Description |
---|---|
protected static class |
TypeWriter.MethodPool.Record.ForDefinedMethod.OfVisibilityBridge.VisibilityBridge
A method describing a visibility bridge.
|
TypeWriter.MethodPool.Record.ForDefinedMethod.OfVisibilityBridge, TypeWriter.MethodPool.Record.ForDefinedMethod.WithAnnotationDefaultValue, TypeWriter.MethodPool.Record.ForDefinedMethod.WithBody, TypeWriter.MethodPool.Record.ForDefinedMethod.WithoutBody
ByteCodeAppender.Compound, ByteCodeAppender.Simple, ByteCodeAppender.Size
TypeWriter.MethodPool.Record.AccessBridgeWrapper, TypeWriter.MethodPool.Record.ForDefinedMethod, TypeWriter.MethodPool.Record.ForNonImplementedMethod, TypeWriter.MethodPool.Record.Sort
Modifier | Constructor and Description |
---|---|
protected |
OfVisibilityBridge(MethodDescription visibilityBridge,
MethodDescription bridgeTarget,
TypeDescription bridgeType,
MethodAttributeAppender attributeAppender)
Creates a new record for a visibility bridge.
|
Modifier and Type | Method and Description |
---|---|
ByteCodeAppender.Size |
apply(org.objectweb.asm.MethodVisitor methodVisitor,
Implementation.Context implementationContext,
MethodDescription instrumentedMethod)
Applies this byte code appender to a type creation process.
|
void |
applyAttributes(org.objectweb.asm.MethodVisitor methodVisitor,
AnnotationValueFilter.Factory annotationValueFilterFactory)
Applies the attributes of this entry.
|
void |
applyBody(org.objectweb.asm.MethodVisitor methodVisitor,
Implementation.Context implementationContext,
AnnotationValueFilter.Factory annotationValueFilterFactory)
Applies the body of this entry.
|
ByteCodeAppender.Size |
applyCode(org.objectweb.asm.MethodVisitor methodVisitor,
Implementation.Context implementationContext)
Applies the code of this entry.
|
void |
applyHead(org.objectweb.asm.MethodVisitor methodVisitor)
Applies the head of this entry.
|
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.
|
Visibility |
getVisibility()
The visibility to enforce for this method.
|
static TypeWriter.MethodPool.Record |
of(TypeDescription instrumentedType,
MethodDescription bridgeTarget,
MethodAttributeAppender attributeAppender)
Creates a record for a visibility bridge.
|
TypeWriter.MethodPool.Record |
prepend(ByteCodeAppender byteCodeAppender)
Prepends the given method appender to this entry.
|
apply
protected OfVisibilityBridge(MethodDescription visibilityBridge, MethodDescription bridgeTarget, TypeDescription bridgeType, MethodAttributeAppender attributeAppender)
visibilityBridge
- The visibility bridge.bridgeTarget
- The method the visibility bridge invokes.bridgeType
- The type of the instrumented type.attributeAppender
- The attribute appender to apply to the visibility bridge.public static TypeWriter.MethodPool.Record of(TypeDescription instrumentedType, MethodDescription bridgeTarget, MethodAttributeAppender attributeAppender)
instrumentedType
- The instrumented type.bridgeTarget
- The target method of the visibility bridge.attributeAppender
- The attribute appender to apply to the visibility bridge.public MethodDescription getMethod()
TypeWriter.MethodPool.Record.Sort.SKIPPED
.getMethod
in interface TypeWriter.MethodPool.Record
public TypeWriter.MethodPool.Record.Sort getSort()
getSort
in interface TypeWriter.MethodPool.Record
public Visibility getVisibility()
getVisibility
in interface TypeWriter.MethodPool.Record
public TypeWriter.MethodPool.Record prepend(ByteCodeAppender byteCodeAppender)
prepend
in interface TypeWriter.MethodPool.Record
byteCodeAppender
- The byte code appender to prepend.public void applyHead(org.objectweb.asm.MethodVisitor methodVisitor)
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(org.objectweb.asm.MethodVisitor methodVisitor, Implementation.Context implementationContext, AnnotationValueFilter.Factory annotationValueFilterFactory)
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.public void applyAttributes(org.objectweb.asm.MethodVisitor methodVisitor, AnnotationValueFilter.Factory annotationValueFilterFactory)
TypeWriter.MethodPool.Record.Sort.DEFINED
.applyAttributes
in interface TypeWriter.MethodPool.Record
methodVisitor
- The method visitor to which this entry should be applied.annotationValueFilterFactory
- The annotation value filter factory to apply when writing annotations.public ByteCodeAppender.Size applyCode(org.objectweb.asm.MethodVisitor methodVisitor, Implementation.Context implementationContext)
TypeWriter.MethodPool.Record.Sort.IMPLEMENTED
.applyCode
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.public ByteCodeAppender.Size apply(org.objectweb.asm.MethodVisitor methodVisitor, Implementation.Context implementationContext, MethodDescription instrumentedMethod)
apply
in interface ByteCodeAppender
methodVisitor
- The method visitor to which the byte code appender writes its code to.implementationContext
- The implementation context of the current type creation process.instrumentedMethod
- The method that is the target of the instrumentation.Copyright © 2014–2021. All rights reserved.