diff options
Diffstat (limited to 'shadowapi/src/main/java/org/robolectric/internal/IShadow.java')
-rw-r--r-- | shadowapi/src/main/java/org/robolectric/internal/IShadow.java | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/shadowapi/src/main/java/org/robolectric/internal/IShadow.java b/shadowapi/src/main/java/org/robolectric/internal/IShadow.java new file mode 100644 index 000000000..045989ca2 --- /dev/null +++ b/shadowapi/src/main/java/org/robolectric/internal/IShadow.java @@ -0,0 +1,25 @@ +package org.robolectric.internal; + +import org.robolectric.util.ReflectionHelpers; + +@SuppressWarnings("TypeParameterUnusedInFormals") +public interface IShadow { + <T> T extract(Object instance); + + <T> T newInstanceOf(Class<T> clazz); + + <T> T newInstance(Class<T> clazz, Class[] parameterTypes, Object[] params); + + <T> T directlyOn(T shadowedObject, Class<T> clazz); + + @SuppressWarnings("unchecked") + <R> R directlyOn(Object shadowedObject, String clazzName, String methodName, ReflectionHelpers.ClassParameter... paramValues); + + <R, T> R directlyOn(T shadowedObject, Class<T> clazz, String methodName, ReflectionHelpers.ClassParameter... paramValues); + + <R, T> R directlyOn(Class<T> clazz, String methodName, ReflectionHelpers.ClassParameter... paramValues); + + <R> R invokeConstructor(Class<? extends R> clazz, R instance, ReflectionHelpers.ClassParameter... paramValues); + + String directMethodName(String methodName); +} |