final class com.oracle.truffle.polyglot.FileSystems$PreInitializeContextFileSystem$ImageBuildTimeFactory extends com.oracle.truffle.polyglot.FileSystems$PreInitializeContextFileSystem$ImageExecutionTimeFactory
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: com.oracle.truffle.polyglot.FileSystems$PreInitializeContextFileSystem$ImageBuildTimeFactory
super_class: com.oracle.truffle.polyglot.FileSystems$PreInitializeContextFileSystem$ImageExecutionTimeFactory
{
private final java.util.Collection<java.lang.ref.Reference<com.oracle.truffle.polyglot.FileSystems$PreInitializeContextFileSystem$PreInitializePath>> emittedPaths;
descriptor: Ljava/util/Collection;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Collection<Ljava/lang/ref/Reference<Lcom/oracle/truffle/polyglot/FileSystems$PreInitializeContextFileSystem$PreInitializePath;>;>;
final com.oracle.truffle.polyglot.FileSystems$PreInitializeContextFileSystem this$1;
descriptor: Lcom/oracle/truffle/polyglot/FileSystems$PreInitializeContextFileSystem;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
private void <init>(com.oracle.truffle.polyglot.FileSystems$PreInitializeContextFileSystem);
descriptor: (Lcom/oracle/truffle/polyglot/FileSystems$PreInitializeContextFileSystem;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=2, args_size=2
start local 0 // com.oracle.truffle.polyglot.FileSystems$PreInitializeContextFileSystem$ImageBuildTimeFactory this
0: .line 437
aload 0 /* this */
aload 1
putfield com.oracle.truffle.polyglot.FileSystems$PreInitializeContextFileSystem$ImageBuildTimeFactory.this$1:Lcom/oracle/truffle/polyglot/FileSystems$PreInitializeContextFileSystem;
aload 0 /* this */
aload 1
invokespecial com.oracle.truffle.polyglot.FileSystems$PreInitializeContextFileSystem$ImageExecutionTimeFactory.<init>:(Lcom/oracle/truffle/polyglot/FileSystems$PreInitializeContextFileSystem;)V
1: .line 439
aload 0 /* this */
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
putfield com.oracle.truffle.polyglot.FileSystems$PreInitializeContextFileSystem$ImageBuildTimeFactory.emittedPaths:Ljava/util/Collection;
2: .line 437
return
end local 0 // com.oracle.truffle.polyglot.FileSystems$PreInitializeContextFileSystem$ImageBuildTimeFactory this
LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/polyglot/FileSystems$PreInitializeContextFileSystem$ImageBuildTimeFactory;
MethodParameters:
Name Flags
this$0 final
public com.oracle.truffle.polyglot.FileSystems$PreInitializeContextFileSystem$PreInitializePath apply(java.nio.file.Path);
descriptor: (Ljava/nio/file/Path;)Lcom/oracle/truffle/polyglot/FileSystems$PreInitializeContextFileSystem$PreInitializePath;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=2
start local 0 // com.oracle.truffle.polyglot.FileSystems$PreInitializeContextFileSystem$ImageBuildTimeFactory this
start local 1 // java.nio.file.Path path
0: .line 443
aload 0 /* this */
aload 1 /* path */
invokespecial com.oracle.truffle.polyglot.FileSystems$PreInitializeContextFileSystem$ImageExecutionTimeFactory.apply:(Ljava/nio/file/Path;)Lcom/oracle/truffle/polyglot/FileSystems$PreInitializeContextFileSystem$PreInitializePath;
astore 2 /* preInitPath */
start local 2 // com.oracle.truffle.polyglot.FileSystems$PreInitializeContextFileSystem$PreInitializePath preInitPath
1: .line 444
aload 0 /* this */
getfield com.oracle.truffle.polyglot.FileSystems$PreInitializeContextFileSystem$ImageBuildTimeFactory.emittedPaths:Ljava/util/Collection;
new java.lang.ref.WeakReference
dup
aload 2 /* preInitPath */
invokespecial java.lang.ref.WeakReference.<init>:(Ljava/lang/Object;)V
invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
pop
2: .line 445
aload 2 /* preInitPath */
areturn
end local 2 // com.oracle.truffle.polyglot.FileSystems$PreInitializeContextFileSystem$PreInitializePath preInitPath
end local 1 // java.nio.file.Path path
end local 0 // com.oracle.truffle.polyglot.FileSystems$PreInitializeContextFileSystem$ImageBuildTimeFactory this
LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/polyglot/FileSystems$PreInitializeContextFileSystem$ImageBuildTimeFactory;
0 3 1 path Ljava/nio/file/Path;
1 3 2 preInitPath Lcom/oracle/truffle/polyglot/FileSystems$PreInitializeContextFileSystem$PreInitializePath;
MethodParameters:
Name Flags
path
void onPreInitializeContextEnd();
descriptor: ()V
flags: (0x0000)
Code:
stack=4, locals=5, args_size=1
start local 0 // com.oracle.truffle.polyglot.FileSystems$PreInitializeContextFileSystem$ImageBuildTimeFactory this
0: .line 449
new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
astore 1 /* languageHomes */
start local 1 // java.util.Map languageHomes
1: .line 450
invokestatic com.oracle.truffle.polyglot.LanguageCache.languages:()Ljava/util/Map;
invokeinterface java.util.Map.values:()Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 3
goto 6
StackMap locals: com.oracle.truffle.polyglot.FileSystems$PreInitializeContextFileSystem$ImageBuildTimeFactory java.util.Map top java.util.Iterator
StackMap stack:
2: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.truffle.polyglot.LanguageCache
astore 2 /* cache */
start local 2 // com.oracle.truffle.polyglot.LanguageCache cache
3: .line 451
aload 2 /* cache */
invokevirtual com.oracle.truffle.polyglot.LanguageCache.getLanguageHome:()Ljava/lang/String;
astore 4 /* languageHome */
start local 4 // java.lang.String languageHome
4: .line 452
aload 4 /* languageHome */
ifnull 6
5: .line 453
aload 1 /* languageHomes */
aload 2 /* cache */
invokevirtual com.oracle.truffle.polyglot.LanguageCache.getId:()Ljava/lang/String;
aload 0 /* this */
getfield com.oracle.truffle.polyglot.FileSystems$PreInitializeContextFileSystem$ImageBuildTimeFactory.this$1:Lcom/oracle/truffle/polyglot/FileSystems$PreInitializeContextFileSystem;
getfield com.oracle.truffle.polyglot.FileSystems$PreInitializeContextFileSystem.delegate:Lorg/graalvm/polyglot/io/FileSystem;
aload 4 /* languageHome */
invokeinterface org.graalvm.polyglot.io.FileSystem.parsePath:(Ljava/lang/String;)Ljava/nio/file/Path;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 4 // java.lang.String languageHome
end local 2 // com.oracle.truffle.polyglot.LanguageCache cache
6: .line 450
StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
7: .line 456
aload 0 /* this */
getfield com.oracle.truffle.polyglot.FileSystems$PreInitializeContextFileSystem$ImageBuildTimeFactory.emittedPaths:Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 3
goto 12
StackMap locals:
StackMap stack:
8: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.ref.Reference
astore 2 /* pathRef */
start local 2 // java.lang.ref.Reference pathRef
9: .line 457
aload 2 /* pathRef */
invokevirtual java.lang.ref.Reference.get:()Ljava/lang/Object;
checkcast com.oracle.truffle.polyglot.FileSystems$PreInitializeContextFileSystem$PreInitializePath
astore 4 /* path */
start local 4 // com.oracle.truffle.polyglot.FileSystems$PreInitializeContextFileSystem$PreInitializePath path
10: .line 458
aload 4 /* path */
ifnull 12
11: .line 459
aload 4 /* path */
aload 1 /* languageHomes */
invokevirtual com.oracle.truffle.polyglot.FileSystems$PreInitializeContextFileSystem$PreInitializePath.onPreInitializeContextEnd:(Ljava/util/Map;)V
end local 4 // com.oracle.truffle.polyglot.FileSystems$PreInitializeContextFileSystem$PreInitializePath path
end local 2 // java.lang.ref.Reference pathRef
12: .line 456
StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 8
13: .line 462
return
end local 1 // java.util.Map languageHomes
end local 0 // com.oracle.truffle.polyglot.FileSystems$PreInitializeContextFileSystem$ImageBuildTimeFactory this
LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lcom/oracle/truffle/polyglot/FileSystems$PreInitializeContextFileSystem$ImageBuildTimeFactory;
1 14 1 languageHomes Ljava/util/Map<Ljava/lang/String;Ljava/nio/file/Path;>;
3 6 2 cache Lcom/oracle/truffle/polyglot/LanguageCache;
4 6 4 languageHome Ljava/lang/String;
9 12 2 pathRef Ljava/lang/ref/Reference<Lcom/oracle/truffle/polyglot/FileSystems$PreInitializeContextFileSystem$PreInitializePath;>;
10 12 4 path Lcom/oracle/truffle/polyglot/FileSystems$PreInitializeContextFileSystem$PreInitializePath;
}
SourceFile: "FileSystems.java"
NestHost: com.oracle.truffle.polyglot.FileSystems
InnerClasses:
final PreInitializeContextFileSystem = com.oracle.truffle.polyglot.FileSystems$PreInitializeContextFileSystem of com.oracle.truffle.polyglot.FileSystems
private final ImageBuildTimeFactory = com.oracle.truffle.polyglot.FileSystems$PreInitializeContextFileSystem$ImageBuildTimeFactory of com.oracle.truffle.polyglot.FileSystems$PreInitializeContextFileSystem
private ImageExecutionTimeFactory = com.oracle.truffle.polyglot.FileSystems$PreInitializeContextFileSystem$ImageExecutionTimeFactory of com.oracle.truffle.polyglot.FileSystems$PreInitializeContextFileSystem
private final PreInitializePath = com.oracle.truffle.polyglot.FileSystems$PreInitializeContextFileSystem$PreInitializePath of com.oracle.truffle.polyglot.FileSystems$PreInitializeContextFileSystem