aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/main/javassist/ClassPoolTail.java23
-rw-r--r--src/test/javassist/JvstTest4.java11
2 files changed, 26 insertions, 8 deletions
diff --git a/src/main/javassist/ClassPoolTail.java b/src/main/javassist/ClassPoolTail.java
index 7e62a861..ea148308 100644
--- a/src/main/javassist/ClassPoolTail.java
+++ b/src/main/javassist/ClassPoolTail.java
@@ -16,11 +16,17 @@
package javassist;
-import java.io.*;
-import java.util.jar.*;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.io.FilenameFilter;
+import java.io.IOException;
+import java.io.InputStream;
+import java.io.OutputStream;
import java.net.MalformedURLException;
import java.net.URL;
-import java.util.Hashtable;
+import java.util.jar.JarEntry;
+import java.util.jar.JarFile;
final class ClassPathList {
ClassPathList next;
@@ -234,9 +240,14 @@ final class ClassPoolTail {
}
public ClassPath appendSystemPath() {
- ClassLoader cl = Thread.currentThread().getContextClassLoader();
- appendClassPath(new LoaderClassPath(cl));
- return appendClassPath(new ModuleClassPath());
+ if (javassist.bytecode.ClassFile.MAJOR_VERSION < javassist.bytecode.ClassFile.JAVA_9) {
+ return appendClassPath(new ClassClassPath());
+ }
+ else {
+ ClassLoader cl = Thread.currentThread().getContextClassLoader();
+ appendClassPath(new LoaderClassPath(cl));
+ return appendClassPath(new ModuleClassPath());
+ }
}
public ClassPath insertClassPath(String pathname)
diff --git a/src/test/javassist/JvstTest4.java b/src/test/javassist/JvstTest4.java
index ac4c1e3b..c556c846 100644
--- a/src/test/javassist/JvstTest4.java
+++ b/src/test/javassist/JvstTest4.java
@@ -872,10 +872,17 @@ public class JvstTest4 extends JvstTestRoot {
CtClass cc = sloader.get("test4.JIRA181");
CtField field = cc.getField("aField");
String s = field.getAnnotation(test4.JIRA181.Condition.class).toString();
- assertEquals("@test4.JIRA181$Condition(condition=test4.JIRA181<T>.B.class)", s);
+ if (ClassFile.MAJOR_VERSION < ClassFile.JAVA_9)
+ assertEquals("@test4.JIRA181$Condition(condition=test4.JIRA181<T>.B.class)", s);
+ else
+ assertEquals("@test4.JIRA181$Condition(condition=test4.JIRA181.B.class)", s);
+
CtField field2 = cc.getField("aField2");
String s2 = field2.getAnnotation(test4.JIRA181.Condition2.class).toString();
- assertEquals("@test4.JIRA181$Condition2(condition=test4.JIRA181<T>.B[].class)", s2);
+ if (ClassFile.MAJOR_VERSION < ClassFile.JAVA_9)
+ assertEquals("@test4.JIRA181$Condition2(condition=test4.JIRA181<T>.B[].class)", s2);
+ else
+ assertEquals("@test4.JIRA181$Condition2(condition=test4.JIRA181.B[].class)", s2);
}
public void testJIRA195() throws Exception {