From a82e2d71bd3da248dab836f4e150ff08cc0e6915 Mon Sep 17 00:00:00 2001 From: chibash Date: Wed, 5 Dec 2018 00:19:56 +0900 Subject: [PATCH] fixes a bug reported in #228 --- javassist.jar | Bin 766391 -> 766400 bytes .../javassist/util/proxy/ProxyFactory.java | 4 +++- .../proxyfactory/ProxyFactoryTest.java | 12 ++++++++++++ 3 files changed, 15 insertions(+), 1 deletion(-) diff --git a/javassist.jar b/javassist.jar index a478100287e7ddae924a22ddb401a439c3fea45a..3099d18ac33d29a2ecb87f688f5e9c6674070fa1 100644 GIT binary patch delta 27360 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 diff --git a/src/main/javassist/util/proxy/ProxyFactory.java b/src/main/javassist/util/proxy/ProxyFactory.java index 0c39a508..55f13059 100644 --- a/src/main/javassist/util/proxy/ProxyFactory.java +++ b/src/main/javassist/util/proxy/ProxyFactory.java @@ -622,7 +622,9 @@ public class ProxyFactory { * {@code java.lang.invoke.MethodHandles.Lookup}. */ private Class getClassInTheSamePackage() { - if (superClass != null && superClass != OBJECT_TYPE) + if (basename.startsWith("javassist.util.proxy.")) // maybe the super class is java.* + return this.getClass(); + else if (superClass != null && superClass != OBJECT_TYPE) return superClass; else if (interfaces != null && interfaces.length > 0) return interfaces[0]; diff --git a/src/test/javassist/proxyfactory/ProxyFactoryTest.java b/src/test/javassist/proxyfactory/ProxyFactoryTest.java index 3189b568..43a96bb6 100644 --- a/src/test/javassist/proxyfactory/ProxyFactoryTest.java +++ b/src/test/javassist/proxyfactory/ProxyFactoryTest.java @@ -128,4 +128,16 @@ public class ProxyFactoryTest extends TestCase { public static class TestDefaultC2 extends TestDefaultC { public int baz() { return super.foo(); } } + + public void testJava11() throws Exception { + ProxyFactory factory = new ProxyFactory(); + factory.setSuperclass(java.util.HashMap.class); + java.util.HashMap e = (java.util.HashMap)factory.create(null, null, new MethodHandler() { + @Override + public Object invoke(Object self, Method thisMethod, + Method proceed, Object[] args) throws Throwable { + return proceed.invoke(self, args); + } + }); + } } -- 2.39.5