aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--dexmaker/src/main/java/com/google/dexmaker/stock/ProxyBuilder.java9
-rw-r--r--dexmaker/src/test/java/com/google/dexmaker/stock/ProxyBuilderTest.java16
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)