• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 
13   /**
14    * Returns a proxy object that invokes the original $$robo$$-prefixed methods for {@code
15    * shadowedObject}.
16    *
17    * @deprecated This is incompatible with JDK17+. Use a {@link
18    *     org.robolectric.util.reflector.Reflector} interface with {@link
19    *     org.robolectric.util.reflector.Direct}.
20    */
21   @Deprecated
directlyOn(T shadowedObject, Class<T> clazz)22   <T> T directlyOn(T shadowedObject, Class<T> clazz);
23 
directlyOn( Object shadowedObject, String clazzName, String methodName, ReflectionHelpers.ClassParameter<?>... paramValues)24   <R> R directlyOn(
25       Object shadowedObject,
26       String clazzName,
27       String methodName,
28       ReflectionHelpers.ClassParameter<?>... paramValues);
29 
directlyOn( T shadowedObject, Class<T> clazz, String methodName, ReflectionHelpers.ClassParameter<?>... paramValues)30   <R, T> R directlyOn(
31       T shadowedObject,
32       Class<T> clazz,
33       String methodName,
34       ReflectionHelpers.ClassParameter<?>... paramValues);
35 
directlyOn( Class<T> clazz, String methodName, ReflectionHelpers.ClassParameter<?>... paramValues)36   <R, T> R directlyOn(
37       Class<T> clazz, String methodName, ReflectionHelpers.ClassParameter<?>... paramValues);
38 
invokeConstructor( Class<? extends R> clazz, R instance, ReflectionHelpers.ClassParameter<?>... paramValues)39   <R> R invokeConstructor(
40       Class<? extends R> clazz, R instance, ReflectionHelpers.ClassParameter<?>... paramValues);
41 
directMethodName(String className, String methodName)42   String directMethodName(String className, String methodName);
43 
directNativeMethodName(String className, String methodName)44   String directNativeMethodName(String className, String methodName);
45 
directInitialize(Class<?> clazz)46   void directInitialize(Class<?> clazz);
47 }
48