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
weie=WJo*z3f4gv_!(^F>?iC0ZW getClassInTheSamePackage() {
- if (basename.startsWith("javassist.util.proxy.")) // maybe the super class is java.*
+ if (basename.startsWith(packageForJavaBase)) // maybe the super class is java.*
return this.getClass();
else if (superClass != null && superClass != OBJECT_TYPE)
return superClass;
@@ -921,10 +921,15 @@ private void checkClassAndSuperName() {
if (Modifier.isFinal(superClass.getModifiers()))
throw new RuntimeException(superName + " is final");
- if (basename.startsWith("java.") || onlyPublicMethods)
- basename = "javassist.util.proxy." + basename.replace('.', '_');
+ // Since java.base module is not opened, its proxy class should be
+ // in a different (open) module. Otherwise, it could not be created
+ // by reflection.
+ if (basename.startsWith("java.") || basename.startsWith("jdk.") || onlyPublicMethods)
+ basename = packageForJavaBase + basename.replace('.', '_');
}
+ private static final String packageForJavaBase = "javassist.util.proxy.";
+
private void allocateClassName() {
classname = makeProxyName(basename);
}
diff --git a/src/test/javassist/proxyfactory/ProxyFactoryTest.java b/src/test/javassist/proxyfactory/ProxyFactoryTest.java
index 43a96bb6..c69acc9d 100644
--- a/src/test/javassist/proxyfactory/ProxyFactoryTest.java
+++ b/src/test/javassist/proxyfactory/ProxyFactoryTest.java
@@ -140,4 +140,16 @@ public Object invoke(Object self, Method thisMethod,
}
});
}
+
+ public void testJava11jdk() throws Exception {
+ ProxyFactory factory = new ProxyFactory();
+ factory.setSuperclass(jdk.javadoc.doclet.StandardDoclet.class);
+ jdk.javadoc.doclet.StandardDoclet e = (jdk.javadoc.doclet.StandardDoclet)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);
+ }
+ });
+ }
}
From 1a3d63712a3a5819dd54562983abbdd382f0d418 Mon Sep 17 00:00:00 2001
From: chibash
Date: Sun, 9 Dec 2018 19:58:26 +0900
Subject: [PATCH 02/11] updates for relase 3.24.1
---
Readme.html | 4 ++--
build.xml | 2 +-
javassist.jar | Bin 766448 -> 766454 bytes
pom.xml | 3 ++-
src/main/META-INF/MANIFEST.MF | 2 +-
src/main/javassist/CtClass.java | 2 +-
6 files changed, 7 insertions(+), 6 deletions(-)
diff --git a/Readme.html b/Readme.html
index 2321c42f..793677d4 100644
--- a/Readme.html
+++ b/Readme.html
@@ -281,9 +281,9 @@ Hints
Changes
--version 3.25
+
-version 3.24.1 on December 9, 2018
- - GitHub Issue #228
+ - GitHub Issue #228, #229
diff --git a/build.xml b/build.xml
index 1c3f8b0f..c0178eea 100644
--- a/build.xml
+++ b/build.xml
@@ -6,7 +6,7 @@
-
+
diff --git a/javassist.jar b/javassist.jar
index 359b9fe50d2ce70c7e93b8e5565114daea872ecc..ce63f9d24a56c6eb97b7c6ee0c6148f02ae4c165 100644
GIT binary patch
delta 24533
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