public class MockMethodAdvice extends MockMethodDispatcher
| Modifier and Type | Class and 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 |
| Modifier and Type | Field and 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 |
(package private) WeakConcurrentMap<java.lang.Object,MockMethodInterceptor> |
interceptors |
private MockMethodAdvice.SelfCallInfo |
selfCallInfo |
| Constructor and Description |
|---|
MockMethodAdvice(WeakConcurrentMap<java.lang.Object,MockMethodInterceptor> interceptors,
java.lang.String identifier) |
| Modifier and Type | Method and 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.StackTraceElement[] |
skipInlineMethodElement(java.lang.StackTraceElement[] elements) |
private static java.lang.Object |
tryInvoke(java.lang.reflect.Method origin,
java.lang.Object instance,
java.lang.Object[] arguments) |
get, setfinal WeakConcurrentMap<java.lang.Object,MockMethodInterceptor> interceptors
private final java.lang.String identifier
private final MockMethodAdvice.SelfCallInfo selfCallInfo
private final net.bytebuddy.dynamic.scaffold.MethodGraph.Compiler compiler
private final WeakConcurrentMap<java.lang.Class<?>,java.lang.ref.SoftReference<net.bytebuddy.dynamic.scaffold.MethodGraph>> graphs
public MockMethodAdvice(WeakConcurrentMap<java.lang.Object,MockMethodInterceptor> interceptors, java.lang.String identifier)
@Advice.OnMethodEnter(skipOn=net.bytebuddy.asm.Advice.OnNonDefaultValue.class)
private static java.util.concurrent.Callable<?> enter(java.lang.String identifier,
@Advice.This
java.lang.Object mock,
@Advice.Origin
java.lang.reflect.Method origin,
@Advice.AllArguments
java.lang.Object[] arguments)
throws java.lang.Throwable
java.lang.Throwable@Advice.OnMethodExit
private static void exit(@Advice.Return(readOnly=false,typing=DYNAMIC)
java.lang.Object returned,
@Advice.Enter
java.util.concurrent.Callable<?> mocked)
throws java.lang.Throwable
java.lang.Throwablestatic java.lang.Throwable hideRecursiveCall(java.lang.Throwable throwable,
int current,
java.lang.Class<?> targetType)
public java.util.concurrent.Callable<?> handle(java.lang.Object instance,
java.lang.reflect.Method origin,
java.lang.Object[] arguments)
throws java.lang.Throwable
handle in class MockMethodDispatcherjava.lang.Throwablepublic boolean isMock(java.lang.Object instance)
isMock in class MockMethodDispatcherpublic boolean isMocked(java.lang.Object instance)
isMocked in class MockMethodDispatcherpublic boolean isOverridden(java.lang.Object instance,
java.lang.reflect.Method origin)
isOverridden in class MockMethodDispatcherprivate static java.lang.Object tryInvoke(java.lang.reflect.Method origin,
java.lang.Object instance,
java.lang.Object[] arguments)
throws java.lang.Throwable
java.lang.Throwableprivate static java.lang.StackTraceElement[] skipInlineMethodElement(java.lang.StackTraceElement[] elements)