Class MethodRebaseResolver.Default
- java.lang.Object
-
- net.bytebuddy.dynamic.scaffold.inline.MethodRebaseResolver.Default
-
- All Implemented Interfaces:
MethodRebaseResolver
- Enclosing interface:
- MethodRebaseResolver
@Enhance public static class MethodRebaseResolver.Default extends java.lang.Object implements MethodRebaseResolver
A default implementation of a method rebase resolver.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface net.bytebuddy.dynamic.scaffold.inline.MethodRebaseResolver
MethodRebaseResolver.Default, MethodRebaseResolver.Disabled, MethodRebaseResolver.Resolution
-
-
Field Summary
Fields Modifier and Type Field Description private java.util.List<DynamicType>dynamicTypesA list of dynamic types that need to be appended to the created type in order to allow for the rebasement.private java.util.Map<MethodDescription.InDefinedShape,MethodRebaseResolver.Resolution>resolutionsA mapping of rebased methods to their existing resolutions.
-
Constructor Summary
Constructors Modifier Constructor Description protectedDefault(java.util.Map<MethodDescription.InDefinedShape,MethodRebaseResolver.Resolution> resolutions, java.util.List<DynamicType> dynamicTypes)Creates a new default method rebased resolver.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description java.util.Map<MethodDescription.SignatureToken,MethodRebaseResolver.Resolution>asTokenMap()Returns a map of all rebasable methods' signature tokens to their resolution.java.util.List<DynamicType>getAuxiliaryTypes()Returns a (potentially empty) list of auxiliary types that are required by this method rebase resolver.static MethodRebaseResolvermake(TypeDescription instrumentedType, java.util.Set<? extends MethodDescription.SignatureToken> rebaseables, ClassFileVersion classFileVersion, AuxiliaryType.NamingStrategy auxiliaryTypeNamingStrategy, MethodNameTransformer methodNameTransformer)Creates a new method rebase resolver.MethodRebaseResolver.Resolutionresolve(MethodDescription.InDefinedShape methodDescription)Checks if a method is eligible for rebasing and resolves this possibly rebased method.
-
-
-
Field Detail
-
resolutions
private final java.util.Map<MethodDescription.InDefinedShape,MethodRebaseResolver.Resolution> resolutions
A mapping of rebased methods to their existing resolutions.
-
dynamicTypes
private final java.util.List<DynamicType> dynamicTypes
A list of dynamic types that need to be appended to the created type in order to allow for the rebasement.
-
-
Constructor Detail
-
Default
protected Default(java.util.Map<MethodDescription.InDefinedShape,MethodRebaseResolver.Resolution> resolutions, java.util.List<DynamicType> dynamicTypes)
Creates a new default method rebased resolver.- Parameters:
resolutions- A mapping of rebased methods to their existing resolutions.dynamicTypes- A list of dynamic types that need to be appended to the created type in order to allow for the rebasement.
-
-
Method Detail
-
make
public static MethodRebaseResolver make(TypeDescription instrumentedType, java.util.Set<? extends MethodDescription.SignatureToken> rebaseables, ClassFileVersion classFileVersion, AuxiliaryType.NamingStrategy auxiliaryTypeNamingStrategy, MethodNameTransformer methodNameTransformer)
Creates a new method rebase resolver.- Parameters:
instrumentedType- The instrumented type.rebaseables- Tokens describing all methods that can possibly be rebased.classFileVersion- The class file version for the instrumentation.auxiliaryTypeNamingStrategy- The naming strategy for naming a potential auxiliary type.methodNameTransformer- A transformer for method names.- Returns:
- A method rebase resolver that is capable of rebasing any of the provided methods.
-
resolve
public MethodRebaseResolver.Resolution resolve(MethodDescription.InDefinedShape methodDescription)
Checks if a method is eligible for rebasing and resolves this possibly rebased method.- Specified by:
resolvein interfaceMethodRebaseResolver- Parameters:
methodDescription- A description of the method to resolve.- Returns:
- A resolution for the given method.
-
getAuxiliaryTypes
public java.util.List<DynamicType> getAuxiliaryTypes()
Returns a (potentially empty) list of auxiliary types that are required by this method rebase resolver.- Specified by:
getAuxiliaryTypesin interfaceMethodRebaseResolver- Returns:
- A list of auxiliary types that are required by this method rebase resolver.
-
asTokenMap
public java.util.Map<MethodDescription.SignatureToken,MethodRebaseResolver.Resolution> asTokenMap()
Returns a map of all rebasable methods' signature tokens to their resolution.- Specified by:
asTokenMapin interfaceMethodRebaseResolver- Returns:
- A map of all rebasable methods' signature tokens to their resolution.
-
-