class org.graalvm.compiler.hotspot.CompileTheWorld$ImageClassPathEntry extends org.graalvm.compiler.hotspot.CompileTheWorld$ClassPathEntry
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: org.graalvm.compiler.hotspot.CompileTheWorld$ImageClassPathEntry
super_class: org.graalvm.compiler.hotspot.CompileTheWorld$ClassPathEntry
{
private final java.io.File jimage;
descriptor: Ljava/io/File;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
static final boolean $assertionsDisabled;
descriptor: Z
flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc Lorg/graalvm/compiler/hotspot/CompileTheWorld;
invokevirtual java.lang.Class.desiredAssertionStatus:()Z
ifne 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: putstatic org.graalvm.compiler.hotspot.CompileTheWorld$ImageClassPathEntry.$assertionsDisabled:Z
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.CompileTheWorld$ClassPathEntry.<init>:(Ljava/lang/String;)V
1: aload 0
new java.io.File
dup
aload 1
invokespecial java.io.File.<init>:(Ljava/lang/String;)V
putfield org.graalvm.compiler.hotspot.CompileTheWorld$ImageClassPathEntry.jimage:Ljava/io/File;
2: getstatic org.graalvm.compiler.hotspot.CompileTheWorld$ImageClassPathEntry.$assertionsDisabled:Z
ifne 3
aload 0
getfield org.graalvm.compiler.hotspot.CompileTheWorld$ImageClassPathEntry.jimage:Ljava/io/File;
invokevirtual java.io.File.isFile:()Z
ifne 3
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
3: StackMap locals: org.graalvm.compiler.hotspot.CompileTheWorld$ImageClassPathEntry java.lang.String
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/graalvm/compiler/hotspot/CompileTheWorld$ImageClassPathEntry;
0 4 1 name Ljava/lang/String;
MethodParameters:
Name Flags
name
public java.lang.ClassLoader createClassLoader();
descriptor: ()Ljava/lang/ClassLoader;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=2, args_size=1
start local 0 0: aload 0
getfield org.graalvm.compiler.hotspot.CompileTheWorld$ImageClassPathEntry.jimage:Ljava/io/File;
invokevirtual java.io.File.toURI:()Ljava/net/URI;
invokevirtual java.net.URI.toURL:()Ljava/net/URL;
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/CompileTheWorld$ImageClassPathEntry;
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=11, args_size=1
start local 0 0: ldc "CompileTheWorld.limitmods"
invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
astore 1
start local 1 1: aload 1
ifnonnull 2
aconst_null
goto 3
StackMap locals: java.lang.String
StackMap stack:
2: new java.util.HashSet
dup
aload 1
ldc ","
invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
invokespecial java.util.HashSet.<init>:(Ljava/util/Collection;)V
StackMap locals:
StackMap stack: java.util.HashSet
3: astore 2
start local 2 4: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 3
start local 3 5: aload 0
invokevirtual org.graalvm.compiler.hotspot.CompileTheWorld$ImageClassPathEntry.readJimageEntries:()[Ljava/lang/String;
astore 4
start local 4 6: aload 4
dup
astore 8
arraylength
istore 7
iconst_0
istore 6
goto 20
StackMap locals: org.graalvm.compiler.hotspot.CompileTheWorld$ImageClassPathEntry java.lang.String java.util.Set java.util.List java.lang.String[] top int int java.lang.String[]
StackMap stack:
7: aload 8
iload 6
aaload
astore 5
start local 5 8: aload 5
ldc ".class"
invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
ifeq 19
aload 5
ldc "module-info.class"
invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
ifne 19
9: getstatic org.graalvm.compiler.hotspot.CompileTheWorld$ImageClassPathEntry.$assertionsDisabled:Z
ifne 10
aload 5
iconst_0
invokevirtual java.lang.String.charAt:(I)C
bipush 47
if_icmpeq 10
new java.lang.AssertionError
dup
aload 5
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
10: StackMap locals: org.graalvm.compiler.hotspot.CompileTheWorld$ImageClassPathEntry java.lang.String java.util.Set java.util.List java.lang.String[] java.lang.String int int java.lang.String[]
StackMap stack:
aload 5
bipush 47
iconst_1
invokevirtual java.lang.String.indexOf:(II)I
istore 9
start local 9 11: getstatic org.graalvm.compiler.hotspot.CompileTheWorld$ImageClassPathEntry.$assertionsDisabled:Z
ifne 12
iload 9
iconst_m1
if_icmpne 12
new java.lang.AssertionError
dup
aload 5
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
12: StackMap locals: int
StackMap stack:
aload 2
ifnull 16
13: aload 5
iconst_1
iload 9
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 10
start local 10 14: aload 2
aload 10
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifne 16
15: goto 19
end local 10 16: StackMap locals:
StackMap stack:
aload 5
iload 9
iconst_1
iadd
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
bipush 47
bipush 46
invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
astore 10
start local 10 17: aload 10
bipush 47
bipush 46
invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
iconst_0
aload 10
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 10
18: aload 3
aload 10
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 10 end local 9 end local 5 19: StackMap locals: org.graalvm.compiler.hotspot.CompileTheWorld$ImageClassPathEntry java.lang.String java.util.Set java.util.List java.lang.String[] top int int java.lang.String[]
StackMap stack:
iinc 6 1
StackMap locals:
StackMap stack:
20: iload 6
iload 7
if_icmplt 7
21: aload 3
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 22 0 this Lorg/graalvm/compiler/hotspot/CompileTheWorld$ImageClassPathEntry;
1 22 1 prop Ljava/lang/String;
4 22 2 limitmods Ljava/util/Set<Ljava/lang/String;>;
5 22 3 classNames Ljava/util/List<Ljava/lang/String;>;
6 22 4 entries [Ljava/lang/String;
8 19 5 e Ljava/lang/String;
11 19 9 endModule I
14 16 10 module Ljava/lang/String;
17 19 10 className Ljava/lang/String;
Exceptions:
throws java.io.IOException
Signature: ()Ljava/util/List<Ljava/lang/String;>;
private java.lang.String[] readJimageEntries();
descriptor: ()[Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=6, args_size=1
start local 0 0: invokestatic java.nio.file.FileSystems.getDefault:()Ljava/nio/file/FileSystem;
aload 0
getfield org.graalvm.compiler.hotspot.CompileTheWorld$ImageClassPathEntry.name:Ljava/lang/String;
iconst_0
anewarray java.lang.String
invokevirtual java.nio.file.FileSystem.getPath:(Ljava/lang/String;[Ljava/lang/String;)Ljava/nio/file/Path;
astore 1
start local 1 1: ldc "jdk.internal.jimage.BasicImageReader"
invokestatic java.lang.Class.forName:(Ljava/lang/String;)Ljava/lang/Class;
ldc "open"
iconst_1
anewarray java.lang.Class
dup
iconst_0
ldc Ljava/nio/file/Path;
aastore
invokevirtual java.lang.Class.getDeclaredMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
astore 2
start local 2 2: aload 2
aconst_null
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;
astore 3
start local 3 3: aload 3
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
ldc "getEntryNames"
iconst_0
anewarray java.lang.Class
invokevirtual java.lang.Class.getDeclaredMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
astore 4
start local 4 4: aload 4
iconst_1
invokevirtual java.lang.reflect.Method.setAccessible:(Z)V
5: aload 4
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.lang.String[]
astore 5
start local 5 6: aload 5
7: areturn
end local 5 end local 4 end local 3 end local 2 end local 1 8: StackMap locals:
StackMap stack: java.lang.Exception
astore 1
start local 1 9: new java.lang.StringBuilder
dup
ldc "Error reading entries from "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield org.graalvm.compiler.hotspot.CompileTheWorld$ImageClassPathEntry.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;
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic org.graalvm.compiler.debug.TTY.println:(Ljava/lang/String;)V
10: iconst_0
anewarray java.lang.String
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lorg/graalvm/compiler/hotspot/CompileTheWorld$ImageClassPathEntry;
1 8 1 path Ljava/nio/file/Path;
2 8 2 open Ljava/lang/reflect/Method;
3 8 3 reader Ljava/lang/Object;
4 8 4 getEntryNames Ljava/lang/reflect/Method;
6 8 5 entries [Ljava/lang/String;
9 11 1 e Ljava/lang/Exception;
Exception table:
from to target type
0 7 8 Class java.lang.Exception
}
SourceFile: "CompileTheWorld.java"
NestHost: org.graalvm.compiler.hotspot.CompileTheWorld
InnerClasses:
abstract ClassPathEntry = org.graalvm.compiler.hotspot.CompileTheWorld$ClassPathEntry of org.graalvm.compiler.hotspot.CompileTheWorld
ImageClassPathEntry = org.graalvm.compiler.hotspot.CompileTheWorld$ImageClassPathEntry of org.graalvm.compiler.hotspot.CompileTheWorld