Interface MethodRebaseResolver
-
- All Known Implementing Classes:
MethodRebaseResolver.Default
,MethodRebaseResolver.Disabled
public interface MethodRebaseResolver
A method rebase resolver is responsible for mapping methods of an instrumented type to an alternative signature. This way a method can exist in two versions within a class:- The rebased method which represents the original implementation as it is present in a class file.
- An overridden method which implements user code which is still able to invoke the original, rebased method.
-
-
Nested Class Summary
Nested Classes Modifier and Type Interface Description static class
MethodRebaseResolver.Default
A default implementation of a method rebase resolver.static class
MethodRebaseResolver.Disabled
A method rebase resolver that preserves any method in its original form.static interface
MethodRebaseResolver.Resolution
A resolution for a method that was checked by aMethodRebaseResolver
.
-
Method Summary
All Methods Instance Methods Abstract 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.MethodRebaseResolver.Resolution
resolve(MethodDescription.InDefinedShape methodDescription)
Checks if a method is eligible for rebasing and resolves this possibly rebased method.
-
-
-
Method Detail
-
resolve
MethodRebaseResolver.Resolution resolve(MethodDescription.InDefinedShape methodDescription)
Checks if a method is eligible for rebasing and resolves this possibly rebased method.- Parameters:
methodDescription
- A description of the method to resolve.- Returns:
- A resolution for the given method.
-
getAuxiliaryTypes
java.util.List<DynamicType> getAuxiliaryTypes()
Returns a (potentially empty) list of auxiliary types that are required by this method rebase resolver.- Returns:
- A list of auxiliary types that are required by this method rebase resolver.
-
asTokenMap
java.util.Map<MethodDescription.SignatureToken,MethodRebaseResolver.Resolution> asTokenMap()
Returns a map of all rebasable methods' signature tokens to their resolution.- Returns:
- A map of all rebasable methods' signature tokens to their resolution.
-
-