@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.WithoutBodyByteCodeAppender.Compound, ByteCodeAppender.Simple, ByteCodeAppender.SizeTypeWriter.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(MethodVisitor methodVisitor,
Implementation.Context implementationContext,
MethodDescription instrumentedMethod)
Applies this byte code appender to a type creation process.
|
void |
applyAttributes(MethodVisitor methodVisitor,
AnnotationValueFilter.Factory annotationValueFilterFactory)
Applies the attributes of this entry.
|
void |
applyBody(MethodVisitor methodVisitor,
Implementation.Context implementationContext,
AnnotationValueFilter.Factory annotationValueFilterFactory)
Applies the body of this entry.
|
ByteCodeAppender.Size |
applyCode(MethodVisitor methodVisitor,
Implementation.Context implementationContext)
Applies the code of this entry.
|
void |
applyHead(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.
|
applyprotected 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.Recordpublic TypeWriter.MethodPool.Record.Sort getSort()
getSort in interface TypeWriter.MethodPool.Recordpublic Visibility getVisibility()
getVisibility in interface TypeWriter.MethodPool.Recordpublic TypeWriter.MethodPool.Record prepend(ByteCodeAppender byteCodeAppender)
prepend in interface TypeWriter.MethodPool.RecordbyteCodeAppender - The byte code appender to prepend.public void applyHead(MethodVisitor methodVisitor)
TypeWriter.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.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.public void applyAttributes(MethodVisitor methodVisitor, AnnotationValueFilter.Factory annotationValueFilterFactory)
TypeWriter.MethodPool.Record.Sort.DEFINED.applyAttributes in interface TypeWriter.MethodPool.RecordmethodVisitor - 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(MethodVisitor methodVisitor, Implementation.Context implementationContext)
TypeWriter.MethodPool.Record.Sort.IMPLEMENTED.applyCode 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.public ByteCodeAppender.Size apply(MethodVisitor methodVisitor, Implementation.Context implementationContext, MethodDescription instrumentedMethod)
apply in interface ByteCodeAppendermethodVisitor - 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–2019. All rights reserved.