1 package org.robolectric.internal; 2 3 import org.robolectric.util.ReflectionHelpers; 4 5 @SuppressWarnings("TypeParameterUnusedInFormals") 6 public interface IShadow { extract(Object instance)7 <T> T extract(Object instance); 8 newInstanceOf(Class<T> clazz)9 <T> T newInstanceOf(Class<T> clazz); 10 newInstance(Class<T> clazz, Class<?>[] parameterTypes, Object[] params)11 <T> T newInstance(Class<T> clazz, Class<?>[] parameterTypes, Object[] params); 12 directlyOn( Object shadowedObject, String clazzName, String methodName, ReflectionHelpers.ClassParameter<?>... paramValues)13 <R> R directlyOn( 14 Object shadowedObject, 15 String clazzName, 16 String methodName, 17 ReflectionHelpers.ClassParameter<?>... paramValues); 18 directlyOn( T shadowedObject, Class<T> clazz, String methodName, ReflectionHelpers.ClassParameter<?>... paramValues)19 <R, T> R directlyOn( 20 T shadowedObject, 21 Class<T> clazz, 22 String methodName, 23 ReflectionHelpers.ClassParameter<?>... paramValues); 24 directlyOn( Class<T> clazz, String methodName, ReflectionHelpers.ClassParameter<?>... paramValues)25 <R, T> R directlyOn( 26 Class<T> clazz, String methodName, ReflectionHelpers.ClassParameter<?>... paramValues); 27 invokeConstructor( Class<? extends R> clazz, R instance, ReflectionHelpers.ClassParameter<?>... paramValues)28 <R> R invokeConstructor( 29 Class<? extends R> clazz, R instance, ReflectionHelpers.ClassParameter<?>... paramValues); 30 directMethodName(String className, String methodName)31 String directMethodName(String className, String methodName); 32 directNativeMethodName(String className, String methodName)33 String directNativeMethodName(String className, String methodName); 34 directInitialize(Class<?> clazz)35 void directInitialize(Class<?> clazz); 36 } 37