diff options
Diffstat (limited to 'dexmaker')
-rw-r--r-- | dexmaker/src/main/java/com/google/dexmaker/stock/ProxyBuilder.java | 9 | ||||
-rw-r--r-- | dexmaker/src/test/java/com/google/dexmaker/stock/ProxyBuilderTest.java | 16 |
2 files changed, 4 insertions, 21 deletions
diff --git a/dexmaker/src/main/java/com/google/dexmaker/stock/ProxyBuilder.java b/dexmaker/src/main/java/com/google/dexmaker/stock/ProxyBuilder.java index 9b2545a..49d1224 100644 --- a/dexmaker/src/main/java/com/google/dexmaker/stock/ProxyBuilder.java +++ b/dexmaker/src/main/java/com/google/dexmaker/stock/ProxyBuilder.java @@ -622,11 +622,6 @@ public final class ProxyBuilder<T> { for (Class<?> c = baseClass; c != null; c = c.getSuperclass()) { getMethodsToProxy(methodsToProxy, seenFinalMethods, c); } - for (Class<?> c = baseClass; c != null; c = c.getSuperclass()) { - for (Class<?> i : c.getInterfaces()) { - getMethodsToProxy(methodsToProxy, seenFinalMethods, i); - } - } for (Class<?> c : interfaces) { getMethodsToProxy(methodsToProxy, seenFinalMethods, c); } @@ -693,6 +688,10 @@ public final class ProxyBuilder<T> { } sink.add(entry); } + + for (Class<?> i : c.getInterfaces()) { + getMethodsToProxy(sink, seenFinalMethods, i); + } } private static <T> String getMethodNameForProxyOf(Class<T> clazz) { diff --git a/dexmaker/src/test/java/com/google/dexmaker/stock/ProxyBuilderTest.java b/dexmaker/src/test/java/com/google/dexmaker/stock/ProxyBuilderTest.java index 5c499c8..2dfac5e 100644 --- a/dexmaker/src/test/java/com/google/dexmaker/stock/ProxyBuilderTest.java +++ b/dexmaker/src/test/java/com/google/dexmaker/stock/ProxyBuilderTest.java @@ -882,22 +882,6 @@ public class ProxyBuilderTest extends TestCase { assertEquals("no proxy", proxyFor(ExtenstionOfFinalInterfaceImpl.class).build().foo()); } - // https://code.google.com/p/dexmaker/issues/detail?id=9 - public interface DeclaresMethodLate { - void thisIsTheMethod(); - } - - public static class MakesMethodFinalEarly { - public final void thisIsTheMethod() {} - } - - public static class YouDoNotChooseYourFamily - extends MakesMethodFinalEarly implements DeclaresMethodLate {} - - public void testInterfaceMethodMadeFinalBeforeActualInheritance() throws Exception { - proxyFor(YouDoNotChooseYourFamily.class).build(); - } - /** Simple helper to add the most common args for this test to the proxy builder. */ private <T> ProxyBuilder<T> proxyFor(Class<T> clazz) throws Exception { return ProxyBuilder.forClass(clazz) |