class org.apache.tomcat.util.compat.Jre9Compat extends org.apache.tomcat.util.compat.JreCompat
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: org.apache.tomcat.util.compat.Jre9Compat
super_class: org.apache.tomcat.util.compat.JreCompat
{
private static final org.apache.juli.logging.Log log;
descriptor: Lorg/apache/juli/logging/Log;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final org.apache.tomcat.util.res.StringManager sm;
descriptor: Lorg/apache/tomcat/util/res/StringManager;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.lang.Class<?> inaccessibleObjectExceptionClazz;
descriptor: Ljava/lang/Class;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Ljava/lang/Class<*>;
private static final java.lang.reflect.Method setDefaultUseCachesMethod;
descriptor: Ljava/lang/reflect/Method;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.lang.reflect.Method bootMethod;
descriptor: Ljava/lang/reflect/Method;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.lang.reflect.Method configurationMethod;
descriptor: Ljava/lang/reflect/Method;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.lang.reflect.Method modulesMethod;
descriptor: Ljava/lang/reflect/Method;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.lang.reflect.Method referenceMethod;
descriptor: Ljava/lang/reflect/Method;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.lang.reflect.Method locationMethod;
descriptor: Ljava/lang/reflect/Method;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.lang.reflect.Method isPresentMethod;
descriptor: Ljava/lang/reflect/Method;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.lang.reflect.Method getMethod;
descriptor: Ljava/lang/reflect/Method;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.lang.reflect.Constructor<java.util.jar.JarFile> jarFileConstructor;
descriptor: Ljava/lang/reflect/Constructor;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Ljava/lang/reflect/Constructor<Ljava/util/jar/JarFile;>;
private static final java.lang.reflect.Method isMultiReleaseMethod;
descriptor: Ljava/lang/reflect/Method;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.lang.Object RUNTIME_VERSION;
descriptor: Ljava/lang/Object;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final int RUNTIME_MAJOR_VERSION;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.lang.reflect.Method canAccessMethod;
descriptor: Ljava/lang/reflect/Method;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.lang.reflect.Method getModuleMethod;
descriptor: Ljava/lang/reflect/Method;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.lang.reflect.Method isExportedMethod;
descriptor: Ljava/lang/reflect/Method;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.lang.reflect.Method getNameMethod;
descriptor: Ljava/lang/reflect/Method;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=6, locals=26, args_size=0
0: ldc Lorg/apache/tomcat/util/compat/Jre9Compat;
invokestatic org.apache.juli.logging.LogFactory.getLog:(Ljava/lang/Class;)Lorg/apache/juli/logging/Log;
putstatic org.apache.tomcat.util.compat.Jre9Compat.log:Lorg/apache/juli/logging/Log;
1: ldc Lorg/apache/tomcat/util/compat/Jre9Compat;
invokestatic org.apache.tomcat.util.res.StringManager.getManager:(Ljava/lang/Class;)Lorg/apache/tomcat/util/res/StringManager;
putstatic org.apache.tomcat.util.compat.Jre9Compat.sm:Lorg/apache/tomcat/util/res/StringManager;
2: aconst_null
astore 0
start local 0 3: aconst_null
astore 1
start local 1 4: aconst_null
astore 2
start local 2 5: aconst_null
astore 3
start local 3 6: aconst_null
astore 4
start local 4 7: aconst_null
astore 5
start local 5 8: aconst_null
astore 6
start local 6 9: aconst_null
astore 7
start local 7 10: aconst_null
astore 8
start local 8 11: aconst_null
astore 9
start local 9 12: aconst_null
astore 10
start local 10 13: aconst_null
astore 11
start local 11 14: aconst_null
astore 12
start local 12 15: aconst_null
astore 13
start local 13 16: aconst_null
astore 14
start local 14 17: aconst_null
astore 15
start local 15 18: aconst_null
astore 16
start local 16 19: ldc "java.lang.reflect.InaccessibleObjectException"
invokestatic java.lang.Class.forName:(Ljava/lang/String;)Ljava/lang/Class;
astore 0
20: ldc "java.lang.ModuleLayer"
invokestatic java.lang.Class.forName:(Ljava/lang/String;)Ljava/lang/Class;
astore 17
start local 17 21: ldc "java.lang.module.Configuration"
invokestatic java.lang.Class.forName:(Ljava/lang/String;)Ljava/lang/Class;
astore 18
start local 18 22: ldc "java.lang.module.ResolvedModule"
invokestatic java.lang.Class.forName:(Ljava/lang/String;)Ljava/lang/Class;
astore 19
start local 19 23: ldc "java.lang.module.ModuleReference"
invokestatic java.lang.Class.forName:(Ljava/lang/String;)Ljava/lang/Class;
astore 20
start local 20 24: ldc "java.util.Optional"
invokestatic java.lang.Class.forName:(Ljava/lang/String;)Ljava/lang/Class;
astore 21
start local 21 25: ldc "java.lang.Runtime$Version"
invokestatic java.lang.Class.forName:(Ljava/lang/String;)Ljava/lang/Class;
astore 22
start local 22 26: ldc Ljava/util/jar/JarFile;
ldc "runtimeVersion"
iconst_0
anewarray java.lang.Class
invokevirtual java.lang.Class.getMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
astore 23
start local 23 27: aload 22
ldc "major"
iconst_0
anewarray java.lang.Class
invokevirtual java.lang.Class.getMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
astore 24
start local 24 28: ldc Ljava/net/URLConnection;
ldc "setDefaultUseCaches"
iconst_2
anewarray java.lang.Class
dup
iconst_0
ldc Ljava/lang/String;
aastore
dup
iconst_1
getstatic java.lang.Boolean.TYPE:Ljava/lang/Class;
aastore
invokevirtual java.lang.Class.getMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
astore 1
29: aload 17
ldc "boot"
iconst_0
anewarray java.lang.Class
invokevirtual java.lang.Class.getMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
astore 2
30: aload 17
ldc "configuration"
iconst_0
anewarray java.lang.Class
invokevirtual java.lang.Class.getMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
astore 3
31: aload 18
ldc "modules"
iconst_0
anewarray java.lang.Class
invokevirtual java.lang.Class.getMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
astore 4
32: aload 19
ldc "reference"
iconst_0
anewarray java.lang.Class
invokevirtual java.lang.Class.getMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
astore 5
33: aload 20
ldc "location"
iconst_0
anewarray java.lang.Class
invokevirtual java.lang.Class.getMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
astore 6
34: aload 21
ldc "isPresent"
iconst_0
anewarray java.lang.Class
invokevirtual java.lang.Class.getMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
astore 7
35: aload 21
ldc "get"
iconst_0
anewarray java.lang.Class
invokevirtual java.lang.Class.getMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
astore 8
36: ldc Ljava/util/jar/JarFile;
iconst_4
anewarray java.lang.Class
dup
iconst_0
ldc Ljava/io/File;
aastore
dup
iconst_1
getstatic java.lang.Boolean.TYPE:Ljava/lang/Class;
aastore
dup
iconst_2
getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
aastore
dup
iconst_3
aload 22
aastore
invokevirtual java.lang.Class.getConstructor:([Ljava/lang/Class;)Ljava/lang/reflect/Constructor;
astore 9
37: ldc Ljava/util/jar/JarFile;
ldc "isMultiRelease"
iconst_0
anewarray java.lang.Class
invokevirtual java.lang.Class.getMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
astore 10
38: aload 23
aconst_null
iconst_0
anewarray java.lang.Object
invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
astore 11
39: aload 24
aload 11
iconst_0
anewarray java.lang.Object
invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
astore 12
40: ldc Ljava/lang/reflect/AccessibleObject;
ldc "canAccess"
iconst_1
anewarray java.lang.Class
dup
iconst_0
ldc Ljava/lang/Object;
aastore
invokevirtual java.lang.Class.getMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
astore 13
41: ldc Ljava/lang/Class;
ldc "getModule"
iconst_0
anewarray java.lang.Class
invokevirtual java.lang.Class.getMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
astore 14
42: ldc "java.lang.Module"
invokestatic java.lang.Class.forName:(Ljava/lang/String;)Ljava/lang/Class;
astore 25
start local 25 43: aload 25
ldc "isExported"
iconst_1
anewarray java.lang.Class
dup
iconst_0
ldc Ljava/lang/String;
aastore
invokevirtual java.lang.Class.getMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
astore 15
44: aload 25
ldc "getName"
iconst_0
anewarray java.lang.Class
invokevirtual java.lang.Class.getMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
astore 16
end local 25 end local 24 end local 23 end local 22 end local 21 end local 20 end local 19 end local 18 end local 17 45: goto 54
StackMap locals: java.lang.Class java.lang.reflect.Method java.lang.reflect.Method java.lang.reflect.Method java.lang.reflect.Method java.lang.reflect.Method java.lang.reflect.Method java.lang.reflect.Method java.lang.reflect.Method java.lang.reflect.Constructor java.lang.reflect.Method java.lang.Object java.lang.Object java.lang.reflect.Method java.lang.reflect.Method java.lang.reflect.Method java.lang.reflect.Method
StackMap stack: java.lang.ClassNotFoundException
46: astore 17
start local 17 47: aload 0
ifnonnull 50
48: getstatic org.apache.tomcat.util.compat.Jre9Compat.log:Lorg/apache/juli/logging/Log;
getstatic org.apache.tomcat.util.compat.Jre9Compat.sm:Lorg/apache/tomcat/util/res/StringManager;
ldc "jre9Compat.javaPre9"
invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;)Ljava/lang/String;
aload 17
invokeinterface org.apache.juli.logging.Log.debug:(Ljava/lang/Object;Ljava/lang/Throwable;)V
49: goto 54
50: StackMap locals: java.lang.ClassNotFoundException
StackMap stack:
getstatic org.apache.tomcat.util.compat.Jre9Compat.log:Lorg/apache/juli/logging/Log;
getstatic org.apache.tomcat.util.compat.Jre9Compat.sm:Lorg/apache/tomcat/util/res/StringManager;
ldc "jre9Compat.unexpected"
invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;)Ljava/lang/String;
aload 17
invokeinterface org.apache.juli.logging.Log.error:(Ljava/lang/Object;Ljava/lang/Throwable;)V
end local 17 51: goto 54
52: StackMap locals: java.lang.Class java.lang.reflect.Method java.lang.reflect.Method java.lang.reflect.Method java.lang.reflect.Method java.lang.reflect.Method java.lang.reflect.Method java.lang.reflect.Method java.lang.reflect.Method java.lang.reflect.Constructor java.lang.reflect.Method java.lang.Object java.lang.Object java.lang.reflect.Method java.lang.reflect.Method java.lang.reflect.Method java.lang.reflect.Method
StackMap stack: java.lang.Exception
astore 17
start local 17 53: getstatic org.apache.tomcat.util.compat.Jre9Compat.log:Lorg/apache/juli/logging/Log;
getstatic org.apache.tomcat.util.compat.Jre9Compat.sm:Lorg/apache/tomcat/util/res/StringManager;
ldc "jre9Compat.unexpected"
invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;)Ljava/lang/String;
aload 17
invokeinterface org.apache.juli.logging.Log.error:(Ljava/lang/Object;Ljava/lang/Throwable;)V
end local 17 54: StackMap locals:
StackMap stack:
aload 0
putstatic org.apache.tomcat.util.compat.Jre9Compat.inaccessibleObjectExceptionClazz:Ljava/lang/Class;
55: aload 1
putstatic org.apache.tomcat.util.compat.Jre9Compat.setDefaultUseCachesMethod:Ljava/lang/reflect/Method;
56: aload 2
putstatic org.apache.tomcat.util.compat.Jre9Compat.bootMethod:Ljava/lang/reflect/Method;
57: aload 3
putstatic org.apache.tomcat.util.compat.Jre9Compat.configurationMethod:Ljava/lang/reflect/Method;
58: aload 4
putstatic org.apache.tomcat.util.compat.Jre9Compat.modulesMethod:Ljava/lang/reflect/Method;
59: aload 5
putstatic org.apache.tomcat.util.compat.Jre9Compat.referenceMethod:Ljava/lang/reflect/Method;
60: aload 6
putstatic org.apache.tomcat.util.compat.Jre9Compat.locationMethod:Ljava/lang/reflect/Method;
61: aload 7
putstatic org.apache.tomcat.util.compat.Jre9Compat.isPresentMethod:Ljava/lang/reflect/Method;
62: aload 8
putstatic org.apache.tomcat.util.compat.Jre9Compat.getMethod:Ljava/lang/reflect/Method;
63: aload 9
putstatic org.apache.tomcat.util.compat.Jre9Compat.jarFileConstructor:Ljava/lang/reflect/Constructor;
64: aload 10
putstatic org.apache.tomcat.util.compat.Jre9Compat.isMultiReleaseMethod:Ljava/lang/reflect/Method;
65: aload 11
putstatic org.apache.tomcat.util.compat.Jre9Compat.RUNTIME_VERSION:Ljava/lang/Object;
66: aload 12
ifnull 69
67: aload 12
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
putstatic org.apache.tomcat.util.compat.Jre9Compat.RUNTIME_MAJOR_VERSION:I
68: goto 70
69: StackMap locals:
StackMap stack:
bipush 8
putstatic org.apache.tomcat.util.compat.Jre9Compat.RUNTIME_MAJOR_VERSION:I
70: StackMap locals:
StackMap stack:
aload 13
putstatic org.apache.tomcat.util.compat.Jre9Compat.canAccessMethod:Ljava/lang/reflect/Method;
71: aload 14
putstatic org.apache.tomcat.util.compat.Jre9Compat.getModuleMethod:Ljava/lang/reflect/Method;
72: aload 15
putstatic org.apache.tomcat.util.compat.Jre9Compat.isExportedMethod:Ljava/lang/reflect/Method;
73: aload 16
putstatic org.apache.tomcat.util.compat.Jre9Compat.getNameMethod:Ljava/lang/reflect/Method;
end local 16 end local 15 end local 14 end local 13 end local 12 end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 74: return
LocalVariableTable:
Start End Slot Name Signature
3 74 0 c1 Ljava/lang/Class<*>;
4 74 1 m4 Ljava/lang/reflect/Method;
5 74 2 m5 Ljava/lang/reflect/Method;
6 74 3 m6 Ljava/lang/reflect/Method;
7 74 4 m7 Ljava/lang/reflect/Method;
8 74 5 m8 Ljava/lang/reflect/Method;
9 74 6 m9 Ljava/lang/reflect/Method;
10 74 7 m10 Ljava/lang/reflect/Method;
11 74 8 m11 Ljava/lang/reflect/Method;
12 74 9 c12 Ljava/lang/reflect/Constructor<Ljava/util/jar/JarFile;>;
13 74 10 m13 Ljava/lang/reflect/Method;
14 74 11 o14 Ljava/lang/Object;
15 74 12 o15 Ljava/lang/Object;
16 74 13 m16 Ljava/lang/reflect/Method;
17 74 14 m17 Ljava/lang/reflect/Method;
18 74 15 m18 Ljava/lang/reflect/Method;
19 74 16 m19 Ljava/lang/reflect/Method;
21 45 17 moduleLayerClazz Ljava/lang/Class<*>;
22 45 18 configurationClazz Ljava/lang/Class<*>;
23 45 19 resolvedModuleClazz Ljava/lang/Class<*>;
24 45 20 moduleReferenceClazz Ljava/lang/Class<*>;
25 45 21 optionalClazz Ljava/lang/Class<*>;
26 45 22 versionClazz Ljava/lang/Class<*>;
27 45 23 runtimeVersionMethod Ljava/lang/reflect/Method;
28 45 24 majorMethod Ljava/lang/reflect/Method;
43 45 25 moduleClass Ljava/lang/Class<*>;
47 51 17 e Ljava/lang/ClassNotFoundException;
53 54 17 e Ljava/lang/Exception;
Exception table:
from to target type
19 45 46 Class java.lang.ClassNotFoundException
19 45 52 Class java.lang.ReflectiveOperationException
19 45 52 Class java.lang.IllegalArgumentException
void <init>();
descriptor: ()V
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial org.apache.tomcat.util.compat.JreCompat.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/tomcat/util/compat/Jre9Compat;
static boolean isSupported();
descriptor: ()Z
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: getstatic org.apache.tomcat.util.compat.Jre9Compat.inaccessibleObjectExceptionClazz:Ljava/lang/Class;
ifnull 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
LocalVariableTable:
Start End Slot Name Signature
public boolean isInstanceOfInaccessibleObjectException(java.lang.Throwable);
descriptor: (Ljava/lang/Throwable;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
getstatic org.apache.tomcat.util.compat.Jre9Compat.inaccessibleObjectExceptionClazz:Ljava/lang/Class;
aload 1
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/apache/tomcat/util/compat/Jre9Compat;
0 3 1 t Ljava/lang/Throwable;
MethodParameters:
Name Flags
t
public void disableCachingForJarUrlConnections();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=2, args_size=1
start local 0 0: getstatic org.apache.tomcat.util.compat.Jre9Compat.setDefaultUseCachesMethod:Ljava/lang/reflect/Method;
aconst_null
iconst_2
anewarray java.lang.Object
dup
iconst_0
ldc "JAR"
aastore
dup
iconst_1
getstatic java.lang.Boolean.FALSE:Ljava/lang/Boolean;
aastore
invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
pop
1: goto 4
StackMap locals:
StackMap stack: java.lang.Exception
2: astore 1
start local 1 3: new java.lang.UnsupportedOperationException
dup
aload 1
invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 1 4: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/apache/tomcat/util/compat/Jre9Compat;
3 4 1 e Ljava/lang/Exception;
Exception table:
from to target type
0 1 2 Class java.lang.IllegalAccessException
0 1 2 Class java.lang.IllegalArgumentException
0 1 2 Class java.lang.reflect.InvocationTargetException
Exceptions:
throws java.io.IOException
public void addBootModulePath(java.util.Deque<java.net.URL>);
descriptor: (Ljava/util/Deque;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=12, args_size=2
start local 0 start local 1 0: getstatic org.apache.tomcat.util.compat.Jre9Compat.bootMethod:Ljava/lang/reflect/Method;
aconst_null
iconst_0
anewarray java.lang.Object
invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
astore 2
start local 2 1: getstatic org.apache.tomcat.util.compat.Jre9Compat.configurationMethod:Ljava/lang/reflect/Method;
aload 2
iconst_0
anewarray java.lang.Object
invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
astore 3
start local 3 2: getstatic org.apache.tomcat.util.compat.Jre9Compat.modulesMethod:Ljava/lang/reflect/Method;
aload 3
iconst_0
anewarray java.lang.Object
invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.Set
astore 4
start local 4 3: aload 4
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 6
goto 15
StackMap locals: org.apache.tomcat.util.compat.Jre9Compat java.util.Deque java.lang.Object java.lang.Object java.util.Set top java.util.Iterator
StackMap stack:
4: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
astore 5
start local 5 5: getstatic org.apache.tomcat.util.compat.Jre9Compat.referenceMethod:Ljava/lang/reflect/Method;
aload 5
iconst_0
anewarray java.lang.Object
invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
astore 7
start local 7 6: getstatic org.apache.tomcat.util.compat.Jre9Compat.locationMethod:Ljava/lang/reflect/Method;
aload 7
iconst_0
anewarray java.lang.Object
invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
astore 8
start local 8 7: getstatic org.apache.tomcat.util.compat.Jre9Compat.isPresentMethod:Ljava/lang/reflect/Method;
aload 8
iconst_0
anewarray java.lang.Object
invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.Boolean
astore 9
start local 9 8: aload 9
invokevirtual java.lang.Boolean.booleanValue:()Z
ifeq 15
9: getstatic org.apache.tomcat.util.compat.Jre9Compat.getMethod:Ljava/lang/reflect/Method;
aload 8
iconst_0
anewarray java.lang.Object
invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.net.URI
astore 10
start local 10 10: aload 10
invokevirtual java.net.URI.toURL:()Ljava/net/URL;
astore 11
start local 11 11: aload 1
aload 11
invokeinterface java.util.Deque.add:(Ljava/lang/Object;)Z
pop
end local 11 12: goto 15
StackMap locals: org.apache.tomcat.util.compat.Jre9Compat java.util.Deque java.lang.Object java.lang.Object java.util.Set java.lang.Object java.util.Iterator java.lang.Object java.lang.Object java.lang.Boolean java.net.URI
StackMap stack: java.net.MalformedURLException
13: astore 11
start local 11 14: getstatic org.apache.tomcat.util.compat.Jre9Compat.log:Lorg/apache/juli/logging/Log;
getstatic org.apache.tomcat.util.compat.Jre9Compat.sm:Lorg/apache/tomcat/util/res/StringManager;
ldc "jre9Compat.invalidModuleUri"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 10
aastore
invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
aload 11
invokeinterface org.apache.juli.logging.Log.warn:(Ljava/lang/Object;Ljava/lang/Throwable;)V
end local 11 end local 10 end local 9 end local 8 end local 7 end local 5 15: StackMap locals: org.apache.tomcat.util.compat.Jre9Compat java.util.Deque java.lang.Object java.lang.Object java.util.Set top java.util.Iterator
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 4
end local 4 end local 3 end local 2 16: goto 19
StackMap locals: org.apache.tomcat.util.compat.Jre9Compat java.util.Deque
StackMap stack: java.lang.ReflectiveOperationException
17: astore 2
start local 2 18: new java.lang.UnsupportedOperationException
dup
aload 2
invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 2 19: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Lorg/apache/tomcat/util/compat/Jre9Compat;
0 20 1 classPathUrlsToProcess Ljava/util/Deque<Ljava/net/URL;>;
1 16 2 bootLayer Ljava/lang/Object;
2 16 3 bootConfiguration Ljava/lang/Object;
3 16 4 resolvedModules Ljava/util/Set<*>;
5 15 5 resolvedModule Ljava/lang/Object;
6 15 7 moduleReference Ljava/lang/Object;
7 15 8 optionalURI Ljava/lang/Object;
8 15 9 isPresent Ljava/lang/Boolean;
10 15 10 uri Ljava/net/URI;
11 12 11 url Ljava/net/URL;
14 15 11 e Ljava/net/MalformedURLException;
18 19 2 e Ljava/lang/ReflectiveOperationException;
Exception table:
from to target type
10 12 13 Class java.net.MalformedURLException
0 16 17 Class java.lang.ReflectiveOperationException
Signature: (Ljava/util/Deque<Ljava/net/URL;>;)V
MethodParameters:
Name Flags
classPathUrlsToProcess
public java.util.jar.JarFile jarFileNewInstance(java.io.File);
descriptor: (Ljava/io/File;)Ljava/util/jar/JarFile;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: getstatic org.apache.tomcat.util.compat.Jre9Compat.jarFileConstructor:Ljava/lang/reflect/Constructor;
iconst_4
anewarray java.lang.Object
dup
iconst_0
1: aload 1
aastore
dup
iconst_1
getstatic java.lang.Boolean.TRUE:Ljava/lang/Boolean;
aastore
dup
iconst_2
iconst_1
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_3
getstatic org.apache.tomcat.util.compat.Jre9Compat.RUNTIME_VERSION:Ljava/lang/Object;
aastore
2: invokevirtual java.lang.reflect.Constructor.newInstance:([Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.jar.JarFile
3: areturn
4: StackMap locals:
StackMap stack: java.lang.Exception
astore 2
start local 2 5: new java.io.IOException
dup
aload 2
invokespecial java.io.IOException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/apache/tomcat/util/compat/Jre9Compat;
0 6 1 f Ljava/io/File;
5 6 2 e Ljava/lang/Exception;
Exception table:
from to target type
0 3 4 Class java.lang.ReflectiveOperationException
0 3 4 Class java.lang.IllegalArgumentException
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
f
public boolean jarFileIsMultiRelease(java.util.jar.JarFile);
descriptor: (Ljava/util/jar/JarFile;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: getstatic org.apache.tomcat.util.compat.Jre9Compat.isMultiReleaseMethod:Ljava/lang/reflect/Method;
aload 1
iconst_0
anewarray java.lang.Object
invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.Boolean
invokevirtual java.lang.Boolean.booleanValue:()Z
1: ireturn
2: StackMap locals:
StackMap stack: java.lang.Exception
pop
3: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/apache/tomcat/util/compat/Jre9Compat;
0 4 1 jarFile Ljava/util/jar/JarFile;
Exception table:
from to target type
0 1 2 Class java.lang.ReflectiveOperationException
0 1 2 Class java.lang.IllegalArgumentException
MethodParameters:
Name Flags
jarFile
public int jarFileRuntimeMajorVersion();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: getstatic org.apache.tomcat.util.compat.Jre9Compat.RUNTIME_MAJOR_VERSION:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/tomcat/util/compat/Jre9Compat;
public boolean canAccess(java.lang.Object, java.lang.reflect.AccessibleObject);
descriptor: (Ljava/lang/Object;Ljava/lang/reflect/AccessibleObject;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=3, args_size=3
start local 0 start local 1 start local 2 0: getstatic org.apache.tomcat.util.compat.Jre9Compat.canAccessMethod:Ljava/lang/reflect/Method;
aload 2
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.Boolean
invokevirtual java.lang.Boolean.booleanValue:()Z
1: ireturn
2: StackMap locals:
StackMap stack: java.lang.Exception
pop
3: iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/apache/tomcat/util/compat/Jre9Compat;
0 4 1 base Ljava/lang/Object;
0 4 2 accessibleObject Ljava/lang/reflect/AccessibleObject;
Exception table:
from to target type
0 1 2 Class java.lang.ReflectiveOperationException
0 1 2 Class java.lang.IllegalArgumentException
MethodParameters:
Name Flags
base
accessibleObject
public boolean isExported(java.lang.Class<?>);
descriptor: (Ljava/lang/Class;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=4, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual java.lang.Class.getPackage:()Ljava/lang/Package;
invokevirtual java.lang.Package.getName:()Ljava/lang/String;
astore 2
start local 2 1: getstatic org.apache.tomcat.util.compat.Jre9Compat.getModuleMethod:Ljava/lang/reflect/Method;
aload 1
iconst_0
anewarray java.lang.Object
invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
astore 3
start local 3 2: getstatic org.apache.tomcat.util.compat.Jre9Compat.isExportedMethod:Ljava/lang/reflect/Method;
aload 3
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 2
aastore
invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.Boolean
invokevirtual java.lang.Boolean.booleanValue:()Z
3: ireturn
end local 3 end local 2 4: StackMap locals:
StackMap stack: java.lang.ReflectiveOperationException
pop
5: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/apache/tomcat/util/compat/Jre9Compat;
0 6 1 type Ljava/lang/Class<*>;
1 4 2 packageName Ljava/lang/String;
2 4 3 module Ljava/lang/Object;
Exception table:
from to target type
0 3 4 Class java.lang.ReflectiveOperationException
Signature: (Ljava/lang/Class<*>;)Z
MethodParameters:
Name Flags
type
public java.lang.String getModuleName(java.lang.Class<?>);
descriptor: (Ljava/lang/Class;)Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: getstatic org.apache.tomcat.util.compat.Jre9Compat.getModuleMethod:Ljava/lang/reflect/Method;
aload 1
iconst_0
anewarray java.lang.Object
invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
astore 2
start local 2 1: getstatic org.apache.tomcat.util.compat.Jre9Compat.getNameMethod:Ljava/lang/reflect/Method;
aload 2
iconst_0
anewarray java.lang.Object
invokevirtual java.lang.reflect.Method.invoke:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String
2: areturn
end local 2 3: StackMap locals:
StackMap stack: java.lang.ReflectiveOperationException
pop
4: ldc "ERROR"
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/apache/tomcat/util/compat/Jre9Compat;
0 5 1 type Ljava/lang/Class<*>;
1 3 2 module Ljava/lang/Object;
Exception table:
from to target type
0 2 3 Class java.lang.ReflectiveOperationException
Signature: (Ljava/lang/Class<*>;)Ljava/lang/String;
MethodParameters:
Name Flags
type
}
SourceFile: "Jre9Compat.java"