class org.graalvm.compiler.hotspot.test.CompileTheWorld$JarClassPathEntry extends org.graalvm.compiler.hotspot.test.CompileTheWorld$ClassPathEntry
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: org.graalvm.compiler.hotspot.test.CompileTheWorld$JarClassPathEntry
super_class: org.graalvm.compiler.hotspot.test.CompileTheWorld$ClassPathEntry
{
private final java.util.jar.JarFile jarFile;
descriptor: Ljava/util/jar/JarFile;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
static java.util.regex.Pattern MultiReleaseJarVersionedClassRE;
descriptor: Ljava/util/regex/Pattern;
flags: (0x0008) ACC_STATIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc "META-INF/versions/[1-9][0-9]*/(.+)"
invokestatic java.util.regex.Pattern.compile:(Ljava/lang/String;)Ljava/util/regex/Pattern;
putstatic org.graalvm.compiler.hotspot.test.CompileTheWorld$JarClassPathEntry.MultiReleaseJarVersionedClassRE:Ljava/util/regex/Pattern;
return
LocalVariableTable:
Start End Slot Name Signature
void <init>(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0000)
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokespecial org.graalvm.compiler.hotspot.test.CompileTheWorld$ClassPathEntry.<init>:(Ljava/lang/String;)V
1: aload 0
new java.util.jar.JarFile
dup
aload 1
invokespecial java.util.jar.JarFile.<init>:(Ljava/lang/String;)V
putfield org.graalvm.compiler.hotspot.test.CompileTheWorld$JarClassPathEntry.jarFile:Ljava/util/jar/JarFile;
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/graalvm/compiler/hotspot/test/CompileTheWorld$JarClassPathEntry;
0 3 1 name Ljava/lang/String;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
name
public java.lang.ClassLoader createClassLoader();
descriptor: ()Ljava/lang/ClassLoader;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=2, args_size=1
start local 0 0: new java.net.URL
dup
ldc "jar"
ldc ""
new java.lang.StringBuilder
dup
ldc "file:"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield org.graalvm.compiler.hotspot.test.CompileTheWorld$JarClassPathEntry.name:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "!/"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.net.URL.<init>:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
astore 1
start local 1 1: new java.net.URLClassLoader
dup
iconst_1
anewarray java.net.URL
dup
iconst_0
aload 1
aastore
invokespecial java.net.URLClassLoader.<init>:([Ljava/net/URL;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/graalvm/compiler/hotspot/test/CompileTheWorld$JarClassPathEntry;
1 2 1 url Ljava/net/URL;
Exceptions:
throws java.io.IOException
public java.util.List<java.lang.String> getClassNames();
descriptor: ()Ljava/util/List;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=6, args_size=1
start local 0 0: aload 0
getfield org.graalvm.compiler.hotspot.test.CompileTheWorld$JarClassPathEntry.jarFile:Ljava/util/jar/JarFile;
invokevirtual java.util.jar.JarFile.entries:()Ljava/util/Enumeration;
astore 1
start local 1 1: new java.util.ArrayList
dup
aload 0
getfield org.graalvm.compiler.hotspot.test.CompileTheWorld$JarClassPathEntry.jarFile:Ljava/util/jar/JarFile;
invokevirtual java.util.jar.JarFile.size:()I
invokespecial java.util.ArrayList.<init>:(I)V
astore 2
start local 2 2: goto 14
3: StackMap locals: java.util.Enumeration java.util.List
StackMap stack:
aload 1
invokeinterface java.util.Enumeration.nextElement:()Ljava/lang/Object;
checkcast java.util.jar.JarEntry
astore 3
start local 3 4: aload 3
invokevirtual java.util.jar.JarEntry.isDirectory:()Z
ifne 14
aload 3
invokevirtual java.util.jar.JarEntry.getName:()Ljava/lang/String;
ldc ".class"
invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
ifne 6
5: goto 14
6: StackMap locals: java.util.jar.JarEntry
StackMap stack:
aload 3
invokevirtual java.util.jar.JarEntry.getName:()Ljava/lang/String;
iconst_0
aload 3
invokevirtual java.util.jar.JarEntry.getName:()Ljava/lang/String;
invokevirtual java.lang.String.length:()I
ldc ".class"
invokevirtual java.lang.String.length:()I
isub
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 4
start local 4 7: aload 4
ldc "module-info"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 9
8: goto 14
9: StackMap locals: java.lang.String
StackMap stack:
aload 4
ldc "META-INF/versions/"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 13
10: getstatic org.graalvm.compiler.hotspot.test.CompileTheWorld$JarClassPathEntry.MultiReleaseJarVersionedClassRE:Ljava/util/regex/Pattern;
aload 4
invokevirtual java.util.regex.Pattern.matcher:(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
astore 5
start local 5 11: aload 5
invokevirtual java.util.regex.Matcher.matches:()Z
ifeq 14
12: aload 5
iconst_1
invokevirtual java.util.regex.Matcher.group:(I)Ljava/lang/String;
astore 4
end local 5 13: StackMap locals:
StackMap stack:
aload 2
aload 4
bipush 47
bipush 46
invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 4 end local 3 14: StackMap locals:
StackMap stack:
aload 1
invokeinterface java.util.Enumeration.hasMoreElements:()Z
ifne 3
15: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lorg/graalvm/compiler/hotspot/test/CompileTheWorld$JarClassPathEntry;
1 16 1 e Ljava/util/Enumeration<Ljava/util/jar/JarEntry;>;
2 16 2 classNames Ljava/util/List<Ljava/lang/String;>;
4 14 3 je Ljava/util/jar/JarEntry;
7 14 4 className Ljava/lang/String;
11 13 5 m Ljava/util/regex/Matcher;
Exceptions:
throws java.io.IOException
Signature: ()Ljava/util/List<Ljava/lang/String;>;
public void close();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.graalvm.compiler.hotspot.test.CompileTheWorld$JarClassPathEntry.jarFile:Ljava/util/jar/JarFile;
invokevirtual java.util.jar.JarFile.close:()V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/graalvm/compiler/hotspot/test/CompileTheWorld$JarClassPathEntry;
Exceptions:
throws java.io.IOException
}
SourceFile: "CompileTheWorld.java"
NestHost: org.graalvm.compiler.hotspot.test.CompileTheWorld
InnerClasses:
abstract ClassPathEntry = org.graalvm.compiler.hotspot.test.CompileTheWorld$ClassPathEntry of org.graalvm.compiler.hotspot.test.CompileTheWorld
JarClassPathEntry = org.graalvm.compiler.hotspot.test.CompileTheWorld$JarClassPathEntry of org.graalvm.compiler.hotspot.test.CompileTheWorld