Class MockMethodAdvice
- java.lang.Object
-
- org.mockito.internal.creation.bytebuddy.inject.MockMethodDispatcher
-
- org.mockito.internal.creation.bytebuddy.MockMethodAdvice
-
public class MockMethodAdvice extends MockMethodDispatcher
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description (package private) static class
MockMethodAdvice.ForEquals
(package private) static class
MockMethodAdvice.ForHashCode
static class
MockMethodAdvice.ForReadObject
(package private) static interface
MockMethodAdvice.Identifier
private static class
MockMethodAdvice.RealMethodCall
private static class
MockMethodAdvice.ReturnValueWrapper
private static class
MockMethodAdvice.SelfCallInfo
private static class
MockMethodAdvice.SerializableRealMethodCall
-
Field Summary
Fields Modifier and Type Field Description private net.bytebuddy.dynamic.scaffold.MethodGraph.Compiler
compiler
private WeakConcurrentMap<java.lang.Class<?>,java.lang.ref.SoftReference<net.bytebuddy.dynamic.scaffold.MethodGraph>>
graphs
private java.lang.String
identifier
private WeakConcurrentMap<java.lang.Object,MockMethodInterceptor>
interceptors
private MockMethodAdvice.SelfCallInfo
selfCallInfo
-
Constructor Summary
Constructors Constructor Description MockMethodAdvice(WeakConcurrentMap<java.lang.Object,MockMethodInterceptor> interceptors, java.lang.String identifier)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description private static java.util.concurrent.Callable<?>
enter(java.lang.String identifier, java.lang.Object mock, java.lang.reflect.Method origin, java.lang.Object[] arguments)
private static void
exit(java.lang.Object returned, java.util.concurrent.Callable<?> mocked)
java.util.concurrent.Callable<?>
handle(java.lang.Object instance, java.lang.reflect.Method origin, java.lang.Object[] arguments)
(package private) static java.lang.Throwable
hideRecursiveCall(java.lang.Throwable throwable, int current, java.lang.Class<?> targetType)
boolean
isMock(java.lang.Object instance)
boolean
isMocked(java.lang.Object instance)
boolean
isOverridden(java.lang.Object instance, java.lang.reflect.Method origin)
private static java.lang.Object
tryInvoke(java.lang.reflect.Method origin, java.lang.Object instance, java.lang.Object[] arguments)
-
Methods inherited from class org.mockito.internal.creation.bytebuddy.inject.MockMethodDispatcher
get, set
-
-
-
-
Field Detail
-
interceptors
private final WeakConcurrentMap<java.lang.Object,MockMethodInterceptor> interceptors
-
identifier
private final java.lang.String identifier
-
selfCallInfo
private final MockMethodAdvice.SelfCallInfo selfCallInfo
-
compiler
private final net.bytebuddy.dynamic.scaffold.MethodGraph.Compiler compiler
-
graphs
private final WeakConcurrentMap<java.lang.Class<?>,java.lang.ref.SoftReference<net.bytebuddy.dynamic.scaffold.MethodGraph>> graphs
-
-
Constructor Detail
-
MockMethodAdvice
public MockMethodAdvice(WeakConcurrentMap<java.lang.Object,MockMethodInterceptor> interceptors, java.lang.String identifier)
-
-
Method Detail
-
enter
@OnMethodEnter(skipOn=net.bytebuddy.asm.Advice.OnNonDefaultValue.class) private static java.util.concurrent.Callable<?> enter(java.lang.String identifier, @This java.lang.Object mock, @Origin java.lang.reflect.Method origin, @AllArguments java.lang.Object[] arguments) throws java.lang.Throwable
- Throws:
java.lang.Throwable
-
exit
@OnMethodExit private static void exit(@Return(readOnly=false,typing=DYNAMIC) java.lang.Object returned, @Enter java.util.concurrent.Callable<?> mocked) throws java.lang.Throwable
- Throws:
java.lang.Throwable
-
hideRecursiveCall
static java.lang.Throwable hideRecursiveCall(java.lang.Throwable throwable, int current, java.lang.Class<?> targetType)
-
handle
public java.util.concurrent.Callable<?> handle(java.lang.Object instance, java.lang.reflect.Method origin, java.lang.Object[] arguments) throws java.lang.Throwable
- Specified by:
handle
in classMockMethodDispatcher
- Throws:
java.lang.Throwable
-
isMock
public boolean isMock(java.lang.Object instance)
- Specified by:
isMock
in classMockMethodDispatcher
-
isMocked
public boolean isMocked(java.lang.Object instance)
- Specified by:
isMocked
in classMockMethodDispatcher
-
isOverridden
public boolean isOverridden(java.lang.Object instance, java.lang.reflect.Method origin)
- Specified by:
isOverridden
in classMockMethodDispatcher
-
tryInvoke
private static java.lang.Object tryInvoke(java.lang.reflect.Method origin, java.lang.Object instance, java.lang.Object[] arguments) throws java.lang.Throwable
- Throws:
java.lang.Throwable
-
-