package org.robolectric.internal; import org.robolectric.util.ReflectionHelpers; @SuppressWarnings("TypeParameterUnusedInFormals") public interface IShadow { T extract(Object instance); T newInstanceOf(Class clazz); T newInstance(Class clazz, Class[] parameterTypes, Object[] params); T directlyOn(T shadowedObject, Class clazz); @SuppressWarnings("unchecked") R directlyOn(Object shadowedObject, String clazzName, String methodName, ReflectionHelpers.ClassParameter... paramValues); R directlyOn(T shadowedObject, Class clazz, String methodName, ReflectionHelpers.ClassParameter... paramValues); R directlyOn(Class clazz, String methodName, ReflectionHelpers.ClassParameter... paramValues); R invokeConstructor(Class clazz, R instance, ReflectionHelpers.ClassParameter... paramValues); String directMethodName(String methodName); }