• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1Index: src/com/google/testing/littlemock/LittleMock.java
2===================================================================
3--- src/com/google/testing/littlemock/LittleMock.java	(revision 19)
4+++ src/com/google/testing/littlemock/LittleMock.java	(working copy)
5@@ -1268,6 +1268,17 @@
6       newInstance.setAccessible(true);
7       return (T) newInstance.invoke(null, clazz, constructorId);
8     } catch (Exception ignored) {}
9+    // try dalvikvm, with change https://android-review.googlesource.com/#/c/52331/
10+    try {
11+      Method getConstructorId = ObjectStreamClass.class
12+          .getDeclaredMethod("getConstructorId", Class.class);
13+      getConstructorId.setAccessible(true);
14+      final long constructorId = (Long) getConstructorId.invoke(null, Object.class);
15+      final Method newInstance = ObjectStreamClass.class
16+          .getDeclaredMethod("newInstance", Class.class, long.class);
17+      newInstance.setAccessible(true);
18+      return (T) newInstance.invoke(null, clazz, constructorId);
19+    } catch (Exception ignored) {}
20     throw new IllegalStateException("unsafe create instance failed");
21   }
22
23