class com.sun.tools.javac.launcher.Main$MemoryFileManager extends javax.tools.ForwardingJavaFileManager<javax.tools.JavaFileManager>
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: com.sun.tools.javac.launcher.Main$MemoryFileManager
super_class: javax.tools.ForwardingJavaFileManager
{
private final java.util.Map<java.lang.String, byte[]> map;
descriptor: Ljava/util/Map;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Map<Ljava/lang/String;[B>;
void <init>(java.util.Map<java.lang.String, byte[]>, javax.tools.JavaFileManager);
descriptor: (Ljava/util/Map;Ljavax/tools/JavaFileManager;)V
flags: (0x0000)
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 2
invokespecial javax.tools.ForwardingJavaFileManager.<init>:(Ljavax/tools/JavaFileManager;)V
1: aload 0
aload 1
putfield com.sun.tools.javac.launcher.Main$MemoryFileManager.map:Ljava/util/Map;
2: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/sun/tools/javac/launcher/Main$MemoryFileManager;
0 3 1 map Ljava/util/Map<Ljava/lang/String;[B>;
0 3 2 delegate Ljavax/tools/JavaFileManager;
Signature: (Ljava/util/Map<Ljava/lang/String;[B>;Ljavax/tools/JavaFileManager;)V
MethodParameters:
Name Flags
map
delegate
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=5, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 1
getstatic javax.tools.StandardLocation.CLASS_OUTPUT:Ljavax/tools/StandardLocation;
if_acmpne 2
aload 3
getstatic javax.tools.JavaFileObject$Kind.CLASS:Ljavax/tools/JavaFileObject$Kind;
if_acmpne 2
1: aload 0
aload 2
invokevirtual com.sun.tools.javac.launcher.Main$MemoryFileManager.createInMemoryClassFile:(Ljava/lang/String;)Ljavax/tools/JavaFileObject;
areturn
2: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 2
aload 3
aload 4
invokespecial javax.tools.ForwardingJavaFileManager.getJavaFileForOutput:(Ljavax/tools/JavaFileManager$Location;Ljava/lang/String;Ljavax/tools/JavaFileObject$Kind;Ljavax/tools/FileObject;)Ljavax/tools/JavaFileObject;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/sun/tools/javac/launcher/Main$MemoryFileManager;
0 3 1 location Ljavax/tools/JavaFileManager$Location;
0 3 2 className Ljava/lang/String;
0 3 3 kind Ljavax/tools/JavaFileObject$Kind;
0 3 4 sibling Ljavax/tools/FileObject;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
location
className
kind
sibling
private javax.tools.JavaFileObject createInMemoryClassFile(java.lang.String);
descriptor: (Ljava/lang/String;)Ljavax/tools/JavaFileObject;
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=3, args_size=2
start local 0 start local 1 0: new java.lang.StringBuilder
dup
ldc "memory:///"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
bipush 46
bipush 47
invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ".class"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic java.net.URI.create:(Ljava/lang/String;)Ljava/net/URI;
astore 2
start local 2 1: new com.sun.tools.javac.launcher.Main$MemoryFileManager$1
dup
aload 0
aload 2
getstatic javax.tools.JavaFileObject$Kind.CLASS:Ljavax/tools/JavaFileObject$Kind;
aload 1
invokespecial com.sun.tools.javac.launcher.Main$MemoryFileManager$1.<init>:(Lcom/sun/tools/javac/launcher/Main$MemoryFileManager;Ljava/net/URI;Ljavax/tools/JavaFileObject$Kind;Ljava/lang/String;)V
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/sun/tools/javac/launcher/Main$MemoryFileManager;
0 2 1 className Ljava/lang/String;
1 2 2 uri Ljava/net/URI;
MethodParameters:
Name Flags
className
}
Signature: Ljavax/tools/ForwardingJavaFileManager<Ljavax/tools/JavaFileManager;>;
SourceFile: "Main.java"
NestHost: com.sun.tools.javac.launcher.Main
InnerClasses:
private MemoryFileManager = com.sun.tools.javac.launcher.Main$MemoryFileManager of com.sun.tools.javac.launcher.Main
com.sun.tools.javac.launcher.Main$MemoryFileManager$1
public abstract Location = javax.tools.JavaFileManager$Location of javax.tools.JavaFileManager
public final Kind = javax.tools.JavaFileObject$Kind of javax.tools.JavaFileObject