class jdk.jshell.MemoryFileManager implements javax.tools.JavaFileManager
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: jdk.jshell.MemoryFileManager
super_class: java.lang.Object
{
private final javax.tools.StandardJavaFileManager stdFileManager;
descriptor: Ljavax/tools/StandardJavaFileManager;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.util.Map<java.lang.String, jdk.jshell.MemoryFileManager$OutputMemoryJavaFileObject> classObjects;
descriptor: Ljava/util/Map;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Map<Ljava/lang/String;Ljdk/jshell/MemoryFileManager$OutputMemoryJavaFileObject;>;
private jdk.jshell.MemoryFileManager$ClassFileCreationListener classListener;
descriptor: Ljdk/jshell/MemoryFileManager$ClassFileCreationListener;
flags: (0x0002) ACC_PRIVATE
private final jdk.jshell.JShell proc;
descriptor: Ljdk/jshell/JShell;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
java.lang.Iterable<? extends java.nio.file.Path> getLocationAsPaths(javax.tools.JavaFileManager$Location);
descriptor: (Ljavax/tools/JavaFileManager$Location;)Ljava/lang/Iterable;
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield jdk.jshell.MemoryFileManager.stdFileManager:Ljavax/tools/StandardJavaFileManager;
aload 1
invokeinterface javax.tools.StandardJavaFileManager.getLocationAsPaths:(Ljavax/tools/JavaFileManager$Location;)Ljava/lang/Iterable;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/jshell/MemoryFileManager;
0 1 1 loc Ljavax/tools/JavaFileManager$Location;
Signature: (Ljavax/tools/JavaFileManager$Location;)Ljava/lang/Iterable<+Ljava/nio/file/Path;>;
MethodParameters:
Name Flags
loc
public void <init>(javax.tools.StandardJavaFileManager, jdk.jshell.JShell);
descriptor: (Ljavax/tools/StandardJavaFileManager;Ljdk/jshell/JShell;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
new java.util.TreeMap
dup
invokespecial java.util.TreeMap.<init>:()V
putfield jdk.jshell.MemoryFileManager.classObjects:Ljava/util/Map;
2: aload 0
aconst_null
putfield jdk.jshell.MemoryFileManager.classListener:Ljdk/jshell/MemoryFileManager$ClassFileCreationListener;
3: aload 0
aload 2
getfield jdk.jshell.JShell.fileManagerMapping:Ljava/util/function/Function;
ifnull 5
4: aload 2
getfield jdk.jshell.JShell.fileManagerMapping:Ljava/util/function/Function;
aload 1
invokeinterface java.util.function.Function.apply:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast javax.tools.StandardJavaFileManager
goto 6
5: StackMap locals: jdk.jshell.MemoryFileManager javax.tools.StandardJavaFileManager jdk.jshell.JShell
StackMap stack: jdk.jshell.MemoryFileManager
aload 1
6: StackMap locals: jdk.jshell.MemoryFileManager javax.tools.StandardJavaFileManager jdk.jshell.JShell
StackMap stack: jdk.jshell.MemoryFileManager javax.tools.StandardJavaFileManager
putfield jdk.jshell.MemoryFileManager.stdFileManager:Ljavax/tools/StandardJavaFileManager;
7: aload 0
aload 2
putfield jdk.jshell.MemoryFileManager.proc:Ljdk/jshell/JShell;
8: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Ljdk/jshell/MemoryFileManager;
0 9 1 standardManager Ljavax/tools/StandardJavaFileManager;
0 9 2 proc Ljdk/jshell/JShell;
MethodParameters:
Name Flags
standardManager
proc
private java.util.Collection<jdk.jshell.MemoryFileManager$OutputMemoryJavaFileObject> generatedClasses();
descriptor: ()Ljava/util/Collection;
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.jshell.MemoryFileManager.classObjects:Ljava/util/Map;
invokeinterface java.util.Map.values:()Ljava/util/Collection;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/jshell/MemoryFileManager;
Signature: ()Ljava/util/Collection<Ljdk/jshell/MemoryFileManager$OutputMemoryJavaFileObject;>;
public void dumpClasses();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=3, args_size=1
start local 0 0: aload 0
invokevirtual jdk.jshell.MemoryFileManager.generatedClasses:()Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 2
goto 3
StackMap locals: jdk.jshell.MemoryFileManager top java.util.Iterator
StackMap stack:
1: aload 2
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast jdk.jshell.MemoryFileManager$OutputMemoryJavaFileObject
astore 1
start local 1 2: aload 1
invokevirtual jdk.jshell.MemoryFileManager$OutputMemoryJavaFileObject.dump:()V
end local 1 3: StackMap locals:
StackMap stack:
aload 2
invokeinterface java.util.Iterator.hasNext:()Z
ifne 1
4: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljdk/jshell/MemoryFileManager;
2 3 1 co Ljdk/jshell/MemoryFileManager$OutputMemoryJavaFileObject;
public javax.tools.JavaFileObject createSourceFileObject(java.lang.Object, java.lang.String, java.lang.String);
descriptor: (Ljava/lang/Object;Ljava/lang/String;Ljava/lang/String;)Ljavax/tools/JavaFileObject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: new jdk.jshell.MemoryFileManager$SourceMemoryJavaFileObject
dup
aload 0
aload 1
aload 2
aload 3
invokespecial jdk.jshell.MemoryFileManager$SourceMemoryJavaFileObject.<init>:(Ljdk/jshell/MemoryFileManager;Ljava/lang/Object;Ljava/lang/String;Ljava/lang/String;)V
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/jshell/MemoryFileManager;
0 1 1 origin Ljava/lang/Object;
0 1 2 name Ljava/lang/String;
0 1 3 code Ljava/lang/String;
MethodParameters:
Name Flags
origin
name
code
public java.lang.ClassLoader getClassLoader(javax.tools.JavaFileManager$Location);
descriptor: (Ljavax/tools/JavaFileManager$Location;)Ljava/lang/ClassLoader;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield jdk.jshell.MemoryFileManager.proc:Ljdk/jshell/JShell;
iconst_2
ldc "getClassLoader: location\n"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
invokevirtual jdk.jshell.JShell.debug:(ILjava/lang/String;[Ljava/lang/Object;)V
1: aload 0
getfield jdk.jshell.MemoryFileManager.stdFileManager:Ljavax/tools/StandardJavaFileManager;
aload 1
invokeinterface javax.tools.StandardJavaFileManager.getClassLoader:(Ljavax/tools/JavaFileManager$Location;)Ljava/lang/ClassLoader;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/jshell/MemoryFileManager;
0 2 1 location Ljavax/tools/JavaFileManager$Location;
MethodParameters:
Name Flags
location
public java.lang.Iterable<javax.tools.JavaFileObject> list(javax.tools.JavaFileManager$Location, java.lang.String, java.util.Set<javax.tools.JavaFileObject$Kind>, boolean);
descriptor: (Ljavax/tools/JavaFileManager$Location;Ljava/lang/String;Ljava/util/Set;Z)Ljava/lang/Iterable;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=6, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
getfield jdk.jshell.MemoryFileManager.stdFileManager:Ljavax/tools/StandardJavaFileManager;
aload 1
aload 2
aload 3
iload 4
invokeinterface javax.tools.StandardJavaFileManager.list:(Ljavax/tools/JavaFileManager$Location;Ljava/lang/String;Ljava/util/Set;Z)Ljava/lang/Iterable;
astore 5
start local 5 1: aload 1
getstatic javax.tools.StandardLocation.CLASS_PATH:Ljavax/tools/StandardLocation;
if_acmpne 3
aload 2
ldc "REPL"
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 3
2: aload 0
aload 5
invokedynamic iterator(Ljdk/jshell/MemoryFileManager;Ljava/lang/Iterable;)Ljava/lang/Iterable;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
()Ljava/util/Iterator;
jdk/jshell/MemoryFileManager.lambda$0(Ljava/lang/Iterable;)Ljava/util/Iterator; (7)
()Ljava/util/Iterator;
areturn
3: StackMap locals: java.lang.Iterable
StackMap stack:
aload 5
areturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljdk/jshell/MemoryFileManager;
0 4 1 location Ljavax/tools/JavaFileManager$Location;
0 4 2 packageName Ljava/lang/String;
0 4 3 kinds Ljava/util/Set<Ljavax/tools/JavaFileObject$Kind;>;
0 4 4 recurse Z
1 4 5 stdList Ljava/lang/Iterable<Ljavax/tools/JavaFileObject;>;
Exceptions:
throws java.io.IOException
Signature: (Ljavax/tools/JavaFileManager$Location;Ljava/lang/String;Ljava/util/Set<Ljavax/tools/JavaFileObject$Kind;>;Z)Ljava/lang/Iterable<Ljavax/tools/JavaFileObject;>;
MethodParameters:
Name Flags
location
packageName
kinds
recurse
public java.lang.String inferBinaryName(javax.tools.JavaFileManager$Location, javax.tools.JavaFileObject);
descriptor: (Ljavax/tools/JavaFileManager$Location;Ljavax/tools/JavaFileObject;)Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 2
instanceof jdk.jshell.MemoryFileManager$OutputMemoryJavaFileObject
ifeq 4
1: aload 2
checkcast jdk.jshell.MemoryFileManager$OutputMemoryJavaFileObject
astore 3
start local 3 2: aload 0
getfield jdk.jshell.MemoryFileManager.proc:Ljdk/jshell/JShell;
iconst_2
ldc "inferBinaryName %s => %s\n"
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 2
aastore
dup
iconst_1
aload 3
invokevirtual jdk.jshell.MemoryFileManager$OutputMemoryJavaFileObject.getName:()Ljava/lang/String;
aastore
invokevirtual jdk.jshell.JShell.debug:(ILjava/lang/String;[Ljava/lang/Object;)V
3: aload 3
invokevirtual jdk.jshell.MemoryFileManager$OutputMemoryJavaFileObject.getName:()Ljava/lang/String;
areturn
end local 3 4: StackMap locals:
StackMap stack:
aload 0
getfield jdk.jshell.MemoryFileManager.stdFileManager:Ljavax/tools/StandardJavaFileManager;
aload 1
aload 2
invokeinterface javax.tools.StandardJavaFileManager.inferBinaryName:(Ljavax/tools/JavaFileManager$Location;Ljavax/tools/JavaFileObject;)Ljava/lang/String;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljdk/jshell/MemoryFileManager;
0 5 1 location Ljavax/tools/JavaFileManager$Location;
0 5 2 file Ljavax/tools/JavaFileObject;
2 4 3 ofo Ljdk/jshell/MemoryFileManager$OutputMemoryJavaFileObject;
MethodParameters:
Name Flags
location
file
public boolean isSameFile(javax.tools.FileObject, javax.tools.FileObject);
descriptor: (Ljavax/tools/FileObject;Ljavax/tools/FileObject;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield jdk.jshell.MemoryFileManager.stdFileManager:Ljavax/tools/StandardJavaFileManager;
aload 2
aload 2
invokeinterface javax.tools.StandardJavaFileManager.isSameFile:(Ljavax/tools/FileObject;Ljavax/tools/FileObject;)Z
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/jshell/MemoryFileManager;
0 1 1 a Ljavax/tools/FileObject;
0 1 2 b Ljavax/tools/FileObject;
MethodParameters:
Name Flags
a
b
public int isSupportedOption(java.lang.String);
descriptor: (Ljava/lang/String;)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield jdk.jshell.MemoryFileManager.proc:Ljdk/jshell/JShell;
iconst_2
ldc "isSupportedOption: %s\n"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
invokevirtual jdk.jshell.JShell.debug:(ILjava/lang/String;[Ljava/lang/Object;)V
1: aload 0
getfield jdk.jshell.MemoryFileManager.stdFileManager:Ljavax/tools/StandardJavaFileManager;
aload 1
invokeinterface javax.tools.StandardJavaFileManager.isSupportedOption:(Ljava/lang/String;)I
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/jshell/MemoryFileManager;
0 2 1 option Ljava/lang/String;
MethodParameters:
Name Flags
option
public boolean handleOption(java.lang.String, java.util.Iterator<java.lang.String>);
descriptor: (Ljava/lang/String;Ljava/util/Iterator;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=9, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield jdk.jshell.MemoryFileManager.proc:Ljdk/jshell/JShell;
iconst_2
ldc "handleOption: current: %s\n"
iconst_1
anewarray java.lang.Object
dup
iconst_0
new java.lang.StringBuilder
dup
aload 1
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
1: ldc ", remaining: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aastore
2: invokevirtual jdk.jshell.JShell.debug:(ILjava/lang/String;[Ljava/lang/Object;)V
3: aload 0
getfield jdk.jshell.MemoryFileManager.stdFileManager:Ljavax/tools/StandardJavaFileManager;
aload 1
aload 2
invokeinterface javax.tools.StandardJavaFileManager.handleOption:(Ljava/lang/String;Ljava/util/Iterator;)Z
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljdk/jshell/MemoryFileManager;
0 4 1 current Ljava/lang/String;
0 4 2 remaining Ljava/util/Iterator<Ljava/lang/String;>;
Signature: (Ljava/lang/String;Ljava/util/Iterator<Ljava/lang/String;>;)Z
MethodParameters:
Name Flags
current
remaining
public boolean hasLocation(javax.tools.JavaFileManager$Location);
descriptor: (Ljavax/tools/JavaFileManager$Location;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield jdk.jshell.MemoryFileManager.proc:Ljdk/jshell/JShell;
iconst_2
ldc "hasLocation: location: %s\n"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
invokevirtual jdk.jshell.JShell.debug:(ILjava/lang/String;[Ljava/lang/Object;)V
1: aload 0
getfield jdk.jshell.MemoryFileManager.stdFileManager:Ljavax/tools/StandardJavaFileManager;
aload 1
invokeinterface javax.tools.StandardJavaFileManager.hasLocation:(Ljavax/tools/JavaFileManager$Location;)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/jshell/MemoryFileManager;
0 2 1 location Ljavax/tools/JavaFileManager$Location;
MethodParameters:
Name Flags
location
void registerClassFileCreationListener(jdk.jshell.MemoryFileManager$ClassFileCreationListener);
descriptor: (Ljdk/jshell/MemoryFileManager$ClassFileCreationListener;)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield jdk.jshell.MemoryFileManager.classListener:Ljdk/jshell/MemoryFileManager$ClassFileCreationListener;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/jshell/MemoryFileManager;
0 2 1 listen Ljdk/jshell/MemoryFileManager$ClassFileCreationListener;
MethodParameters:
Name Flags
listen
public javax.tools.JavaFileObject getJavaFileForInput(javax.tools.JavaFileManager$Location, java.lang.String, javax.tools.JavaFileObject$Kind);
descriptor: (Ljavax/tools/JavaFileManager$Location;Ljava/lang/String;Ljavax/tools/JavaFileObject$Kind;)Ljavax/tools/JavaFileObject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield jdk.jshell.MemoryFileManager.stdFileManager:Ljavax/tools/StandardJavaFileManager;
aload 1
aload 2
aload 3
invokeinterface javax.tools.StandardJavaFileManager.getJavaFileForInput:(Ljavax/tools/JavaFileManager$Location;Ljava/lang/String;Ljavax/tools/JavaFileObject$Kind;)Ljavax/tools/JavaFileObject;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/jshell/MemoryFileManager;
0 1 1 location Ljavax/tools/JavaFileManager$Location;
0 1 2 className Ljava/lang/String;
0 1 3 kind Ljavax/tools/JavaFileObject$Kind;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
location
className
kind
public javax.tools.JavaFileObject getJavaFileForOutput(javax.tools.JavaFileManager$Location, java.lang.String, javax.tools.JavaFileObject$Kind, javax.tools.FileObject);
descriptor: (Ljavax/tools/JavaFileManager$Location;Ljava/lang/String;Ljavax/tools/JavaFileObject$Kind;Ljavax/tools/FileObject;)Ljavax/tools/JavaFileObject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=6, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: new jdk.jshell.MemoryFileManager$OutputMemoryJavaFileObject
dup
aload 2
aload 3
invokespecial jdk.jshell.MemoryFileManager$OutputMemoryJavaFileObject.<init>:(Ljava/lang/String;Ljavax/tools/JavaFileObject$Kind;)V
astore 5
start local 5 1: aload 0
getfield jdk.jshell.MemoryFileManager.classObjects:Ljava/util/Map;
aload 2
aload 5
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
2: aload 0
getfield jdk.jshell.MemoryFileManager.proc:Ljdk/jshell/JShell;
iconst_2
ldc "Set out file: %s = %s\n"
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 2
aastore
dup
iconst_1
aload 5
aastore
invokevirtual jdk.jshell.JShell.debug:(ILjava/lang/String;[Ljava/lang/Object;)V
3: aload 0
getfield jdk.jshell.MemoryFileManager.classListener:Ljdk/jshell/MemoryFileManager$ClassFileCreationListener;
ifnull 5
4: aload 0
getfield jdk.jshell.MemoryFileManager.classListener:Ljdk/jshell/MemoryFileManager$ClassFileCreationListener;
aload 5
aload 1
aload 2
aload 3
aload 4
invokeinterface jdk.jshell.MemoryFileManager$ClassFileCreationListener.newClassFile:(Ljdk/jshell/MemoryFileManager$OutputMemoryJavaFileObject;Ljavax/tools/JavaFileManager$Location;Ljava/lang/String;Ljavax/tools/JavaFileObject$Kind;Ljavax/tools/FileObject;)V
5: StackMap locals: jdk.jshell.MemoryFileManager$OutputMemoryJavaFileObject
StackMap stack:
aload 5
areturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljdk/jshell/MemoryFileManager;
0 6 1 location Ljavax/tools/JavaFileManager$Location;
0 6 2 className Ljava/lang/String;
0 6 3 kind Ljavax/tools/JavaFileObject$Kind;
0 6 4 sibling Ljavax/tools/FileObject;
1 6 5 fo Ljdk/jshell/MemoryFileManager$OutputMemoryJavaFileObject;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
location
className
kind
sibling
public javax.tools.FileObject getFileForInput(javax.tools.JavaFileManager$Location, java.lang.String, java.lang.String);
descriptor: (Ljavax/tools/JavaFileManager$Location;Ljava/lang/String;Ljava/lang/String;)Ljavax/tools/FileObject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield jdk.jshell.MemoryFileManager.proc:Ljdk/jshell/JShell;
iconst_2
ldc "getFileForInput location=%s packageName=%s\n"
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
dup
iconst_1
aload 2
aastore
invokevirtual jdk.jshell.JShell.debug:(ILjava/lang/String;[Ljava/lang/Object;)V
1: aload 0
getfield jdk.jshell.MemoryFileManager.stdFileManager:Ljavax/tools/StandardJavaFileManager;
aload 1
aload 2
aload 3
invokeinterface javax.tools.StandardJavaFileManager.getFileForInput:(Ljavax/tools/JavaFileManager$Location;Ljava/lang/String;Ljava/lang/String;)Ljavax/tools/FileObject;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/jshell/MemoryFileManager;
0 2 1 location Ljavax/tools/JavaFileManager$Location;
0 2 2 packageName Ljava/lang/String;
0 2 3 relativeName Ljava/lang/String;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
location
packageName
relativeName
public javax.tools.FileObject getFileForOutput(javax.tools.JavaFileManager$Location, java.lang.String, java.lang.String, javax.tools.FileObject);
descriptor: (Ljavax/tools/JavaFileManager$Location;Ljava/lang/String;Ljava/lang/String;Ljavax/tools/FileObject;)Ljavax/tools/FileObject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: new java.lang.UnsupportedOperationException
dup
new java.lang.StringBuilder
dup
ldc "getFileForOutput: location: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
1: ldc ", packageName: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
2: ldc ", relativeName: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
3: ldc ", sibling: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
4: invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
athrow
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljdk/jshell/MemoryFileManager;
0 5 1 location Ljavax/tools/JavaFileManager$Location;
0 5 2 packageName Ljava/lang/String;
0 5 3 relativeName Ljava/lang/String;
0 5 4 sibling Ljavax/tools/FileObject;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
location
packageName
relativeName
sibling
public javax.tools.JavaFileManager$Location getLocationForModule(javax.tools.JavaFileManager$Location, java.lang.String);
descriptor: (Ljavax/tools/JavaFileManager$Location;Ljava/lang/String;)Ljavax/tools/JavaFileManager$Location;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield jdk.jshell.MemoryFileManager.stdFileManager:Ljavax/tools/StandardJavaFileManager;
aload 1
aload 2
invokeinterface javax.tools.StandardJavaFileManager.getLocationForModule:(Ljavax/tools/JavaFileManager$Location;Ljava/lang/String;)Ljavax/tools/JavaFileManager$Location;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/jshell/MemoryFileManager;
0 1 1 location Ljavax/tools/JavaFileManager$Location;
0 1 2 moduleName Ljava/lang/String;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
location
moduleName
public javax.tools.JavaFileManager$Location getLocationForModule(javax.tools.JavaFileManager$Location, javax.tools.JavaFileObject);
descriptor: (Ljavax/tools/JavaFileManager$Location;Ljavax/tools/JavaFileObject;)Ljavax/tools/JavaFileManager$Location;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield jdk.jshell.MemoryFileManager.stdFileManager:Ljavax/tools/StandardJavaFileManager;
aload 1
aload 2
invokeinterface javax.tools.StandardJavaFileManager.getLocationForModule:(Ljavax/tools/JavaFileManager$Location;Ljavax/tools/JavaFileObject;)Ljavax/tools/JavaFileManager$Location;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/jshell/MemoryFileManager;
0 1 1 location Ljavax/tools/JavaFileManager$Location;
0 1 2 fo Ljavax/tools/JavaFileObject;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
location
fo
public java.lang.String inferModuleName(javax.tools.JavaFileManager$Location);
descriptor: (Ljavax/tools/JavaFileManager$Location;)Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield jdk.jshell.MemoryFileManager.stdFileManager:Ljavax/tools/StandardJavaFileManager;
aload 1
invokeinterface javax.tools.StandardJavaFileManager.inferModuleName:(Ljavax/tools/JavaFileManager$Location;)Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/jshell/MemoryFileManager;
0 1 1 location Ljavax/tools/JavaFileManager$Location;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
location
public java.lang.Iterable<java.util.Set<javax.tools.JavaFileManager$Location>> listLocationsForModules(javax.tools.JavaFileManager$Location);
descriptor: (Ljavax/tools/JavaFileManager$Location;)Ljava/lang/Iterable;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield jdk.jshell.MemoryFileManager.stdFileManager:Ljavax/tools/StandardJavaFileManager;
aload 1
invokeinterface javax.tools.StandardJavaFileManager.listLocationsForModules:(Ljavax/tools/JavaFileManager$Location;)Ljava/lang/Iterable;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/jshell/MemoryFileManager;
0 1 1 location Ljavax/tools/JavaFileManager$Location;
Exceptions:
throws java.io.IOException
Signature: (Ljavax/tools/JavaFileManager$Location;)Ljava/lang/Iterable<Ljava/util/Set<Ljavax/tools/JavaFileManager$Location;>;>;
MethodParameters:
Name Flags
location
public boolean contains(javax.tools.JavaFileManager$Location, javax.tools.FileObject);
descriptor: (Ljavax/tools/JavaFileManager$Location;Ljavax/tools/FileObject;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield jdk.jshell.MemoryFileManager.stdFileManager:Ljavax/tools/StandardJavaFileManager;
aload 1
aload 2
invokeinterface javax.tools.StandardJavaFileManager.contains:(Ljavax/tools/JavaFileManager$Location;Ljavax/tools/FileObject;)Z
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/jshell/MemoryFileManager;
0 1 1 location Ljavax/tools/JavaFileManager$Location;
0 1 2 file Ljavax/tools/FileObject;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
location
file
public void flush();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=0, locals=1, args_size=1
start local 0 0: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/jshell/MemoryFileManager;
Exceptions:
throws java.io.IOException
public void close();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=0, locals=1, args_size=1
start local 0 0: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/jshell/MemoryFileManager;
Exceptions:
throws java.io.IOException
private java.util.Iterator lambda$0(java.lang.Iterable);
descriptor: (Ljava/lang/Iterable;)Ljava/util/Iterator;
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=4, locals=2, args_size=2
start local 0 0: new jdk.jshell.MemoryFileManager$1
dup
aload 0
aload 1
invokespecial jdk.jshell.MemoryFileManager$1.<init>:(Ljdk/jshell/MemoryFileManager;Ljava/lang/Iterable;)V
1: areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/jshell/MemoryFileManager;
}
SourceFile: "MemoryFileManager.java"
NestMembers:
jdk.jshell.MemoryFileManager$1 jdk.jshell.MemoryFileManager$ClassFileCreationListener jdk.jshell.MemoryFileManager$MemoryJavaFileObject jdk.jshell.MemoryFileManager$OutputMemoryJavaFileObject jdk.jshell.MemoryFileManager$SourceMemoryJavaFileObject
InnerClasses:
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
public abstract Location = javax.tools.JavaFileManager$Location of javax.tools.JavaFileManager
public final Kind = javax.tools.JavaFileObject$Kind of javax.tools.JavaFileObject
jdk.jshell.MemoryFileManager$1
abstract ClassFileCreationListener = jdk.jshell.MemoryFileManager$ClassFileCreationListener of jdk.jshell.MemoryFileManager
abstract MemoryJavaFileObject = jdk.jshell.MemoryFileManager$MemoryJavaFileObject of jdk.jshell.MemoryFileManager
OutputMemoryJavaFileObject = jdk.jshell.MemoryFileManager$OutputMemoryJavaFileObject of jdk.jshell.MemoryFileManager
SourceMemoryJavaFileObject = jdk.jshell.MemoryFileManager$SourceMemoryJavaFileObject of jdk.jshell.MemoryFileManager