diff options
author | Ning Zhang <ning.n.zhang@ericsson.com> | 2018-12-04 17:36:51 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-12-04 17:36:51 +0100 |
commit | 4f32527ae1db863250eefb51b9ac08d70665fe1c (patch) | |
tree | 0c7c092e1a804da25108d64defdb76b534af66b1 | |
parent | 10f4eaf582721005fefc77c6d20c91d2c4981629 (diff) | |
parent | a82e2d71bd3da248dab836f4e150ff08cc0e6915 (diff) | |
download | javassist-4f32527ae1db863250eefb51b9ac08d70665fe1c.tar.gz javassist-4f32527ae1db863250eefb51b9ac08d70665fe1c.zip |
Merge pull request #2 from jboss-javassist/master
Sync with master /jboss-javassist/javassist/.
-rw-r--r-- | build.xml | 4 | ||||
-rw-r--r-- | javassist.jar | bin | 766405 -> 766400 bytes | |||
-rw-r--r-- | pom.xml | 4 | ||||
-rw-r--r-- | src/main/javassist/util/proxy/ProxyFactory.java | 4 | ||||
-rw-r--r-- | src/test/javassist/proxyfactory/ProxyFactoryTest.java | 12 |
5 files changed, 19 insertions, 5 deletions
@@ -79,8 +79,8 @@ destdir="${build.classes.dir}" debug="on" deprecation="on" - source="1.8" - target="1.8" + source="1.7" + target="1.7" optimize="off" includeantruntime="true" includes="**"> diff --git a/javassist.jar b/javassist.jar Binary files differindex 73e3f0fd..3099d18a 100644 --- a/javassist.jar +++ b/javassist.jar @@ -151,8 +151,8 @@ <artifactId>maven-compiler-plugin</artifactId> <version>3.2</version> <configuration> - <source>1.8</source> - <target>1.8</target> + <source>1.7</source> + <target>1.7</target> <testSource>11</testSource> <testTarget>11</testTarget> <testCompilerArgument>-parameters</testCompilerArgument> 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); + } + }); + } } |