public class com.sun.tools.sjavac.PubApiExtractor
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.sun.tools.sjavac.PubApiExtractor
super_class: java.lang.Object
{
final com.sun.tools.javac.util.Context context;
descriptor: Lcom/sun/tools/javac/util/Context;
flags: (0x0010) ACC_FINAL
final javax.tools.JavaCompiler$CompilationTask task;
descriptor: Ljavax/tools/JavaCompiler$CompilationTask;
flags: (0x0010) ACC_FINAL
final com.sun.tools.sjavac.comp.SmartFileManager fileManager;
descriptor: Lcom/sun/tools/sjavac/comp/SmartFileManager;
flags: (0x0010) ACC_FINAL
public void <init>(com.sun.tools.sjavac.options.Options);
descriptor: (Lcom/sun/tools/sjavac/options/Options;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=9, locals=4, args_size=2
start local 0 // com.sun.tools.sjavac.PubApiExtractor this
start local 1 // com.sun.tools.sjavac.options.Options options
0: .line 61
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
1: .line 62
invokestatic com.sun.tools.javac.api.JavacTool.create:()Lcom/sun/tools/javac/api/JavacTool;
astore 2 /* compiler */
start local 2 // com.sun.tools.javac.api.JavacTool compiler
2: .line 63
aload 0 /* this */
new com.sun.tools.sjavac.comp.SmartFileManager
dup
aload 2 /* compiler */
aconst_null
aconst_null
aconst_null
invokevirtual com.sun.tools.javac.api.JavacTool.getStandardFileManager:(Ljavax/tools/DiagnosticListener;Ljava/util/Locale;Ljava/nio/charset/Charset;)Lcom/sun/tools/javac/file/JavacFileManager;
invokespecial com.sun.tools.sjavac.comp.SmartFileManager.<init>:(Ljavax/tools/JavaFileManager;)V
putfield com.sun.tools.sjavac.PubApiExtractor.fileManager:Lcom/sun/tools/sjavac/comp/SmartFileManager;
3: .line 64
aload 0 /* this */
new com.sun.tools.javac.util.Context
dup
invokespecial com.sun.tools.javac.util.Context.<init>:()V
putfield com.sun.tools.sjavac.PubApiExtractor.context:Lcom/sun/tools/javac/util/Context;
4: .line 65
aload 1 /* options */
invokevirtual com.sun.tools.sjavac.options.Options.prepJavacArgs:()[Ljava/lang/String;
astore 3 /* args */
start local 3 // java.lang.String[] args
5: .line 66
aload 0 /* this */
aload 2 /* compiler */
new java.io.PrintWriter
dup
getstatic java.lang.System.err:Ljava/io/PrintStream;
invokespecial java.io.PrintWriter.<init>:(Ljava/io/OutputStream;)V
6: .line 67
aload 0 /* this */
getfield com.sun.tools.sjavac.PubApiExtractor.fileManager:Lcom/sun/tools/sjavac/comp/SmartFileManager;
7: .line 68
aconst_null
8: .line 69
aload 3 /* args */
invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
9: .line 70
aconst_null
10: .line 71
aconst_null
11: .line 72
aload 0 /* this */
getfield com.sun.tools.sjavac.PubApiExtractor.context:Lcom/sun/tools/javac/util/Context;
12: .line 66
invokevirtual com.sun.tools.javac.api.JavacTool.getTask:(Ljava/io/Writer;Ljavax/tools/JavaFileManager;Ljavax/tools/DiagnosticListener;Ljava/lang/Iterable;Ljava/lang/Iterable;Ljava/lang/Iterable;Lcom/sun/tools/javac/util/Context;)Lcom/sun/source/util/JavacTask;
putfield com.sun.tools.sjavac.PubApiExtractor.task:Ljavax/tools/JavaCompiler$CompilationTask;
13: .line 76
aload 0 /* this */
getfield com.sun.tools.sjavac.PubApiExtractor.context:Lcom/sun/tools/javac/util/Context;
invokestatic com.sun.tools.javac.main.JavaCompiler.instance:(Lcom/sun/tools/javac/util/Context;)Lcom/sun/tools/javac/main/JavaCompiler;
pop
14: .line 79
return
end local 3 // java.lang.String[] args
end local 2 // com.sun.tools.javac.api.JavacTool compiler
end local 1 // com.sun.tools.sjavac.options.Options options
end local 0 // com.sun.tools.sjavac.PubApiExtractor this
LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lcom/sun/tools/sjavac/PubApiExtractor;
0 15 1 options Lcom/sun/tools/sjavac/options/Options;
2 15 2 compiler Lcom/sun/tools/javac/api/JavacTool;
5 15 3 args [Ljava/lang/String;
MethodParameters:
Name Flags
options
public com.sun.tools.sjavac.pubapi.PubApi getPubApi(java.lang.String);
descriptor: (Ljava/lang/String;)Lcom/sun/tools/sjavac/pubapi/PubApi;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=8, args_size=2
start local 0 // com.sun.tools.sjavac.PubApiExtractor this
start local 1 // java.lang.String fullyQualifiedClassName
0: .line 82
aload 0 /* this */
getfield com.sun.tools.sjavac.PubApiExtractor.context:Lcom/sun/tools/javac/util/Context;
invokestatic com.sun.tools.javac.code.Symtab.instance:(Lcom/sun/tools/javac/util/Context;)Lcom/sun/tools/javac/code/Symtab;
astore 2 /* syms */
start local 2 // com.sun.tools.javac.code.Symtab syms
1: .line 83
aload 0 /* this */
getfield com.sun.tools.sjavac.PubApiExtractor.context:Lcom/sun/tools/javac/util/Context;
invokestatic com.sun.tools.javac.code.ClassFinder.instance:(Lcom/sun/tools/javac/util/Context;)Lcom/sun/tools/javac/code/ClassFinder;
astore 3 /* cr */
start local 3 // com.sun.tools.javac.code.ClassFinder cr
2: .line 84
aload 0 /* this */
getfield com.sun.tools.sjavac.PubApiExtractor.context:Lcom/sun/tools/javac/util/Context;
invokestatic com.sun.tools.javac.util.Names.instance:(Lcom/sun/tools/javac/util/Context;)Lcom/sun/tools/javac/util/Names;
astore 4 /* ns */
start local 4 // com.sun.tools.javac.util.Names ns
3: .line 85
aload 4 /* ns */
aload 1 /* fullyQualifiedClassName */
invokevirtual com.sun.tools.javac.util.Names.fromString:(Ljava/lang/String;)Lcom/sun/tools/javac/util/Name;
astore 5 /* n */
start local 5 // com.sun.tools.javac.util.Name n
4: .line 86
aload 3 /* cr */
aload 2 /* syms */
aload 5 /* n */
invokestatic com.sun.tools.javac.util.Convert.packagePart:(Lcom/sun/tools/javac/util/Name;)Lcom/sun/tools/javac/util/Name;
invokevirtual com.sun.tools.javac.code.Symtab.inferModule:(Lcom/sun/tools/javac/util/Name;)Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;
aload 5 /* n */
invokevirtual com.sun.tools.javac.code.ClassFinder.loadClass:(Lcom/sun/tools/javac/code/Symbol$ModuleSymbol;Lcom/sun/tools/javac/util/Name;)Lcom/sun/tools/javac/code/Symbol$ClassSymbol;
astore 6 /* cs */
start local 6 // com.sun.tools.javac.code.Symbol$ClassSymbol cs
5: .line 87
new com.sun.tools.sjavac.comp.PubapiVisitor
dup
invokespecial com.sun.tools.sjavac.comp.PubapiVisitor.<init>:()V
astore 7 /* v */
start local 7 // com.sun.tools.sjavac.comp.PubapiVisitor v
6: .line 88
aload 7 /* v */
aload 6 /* cs */
invokevirtual com.sun.tools.sjavac.comp.PubapiVisitor.visit:(Ljavax/lang/model/element/Element;)Ljava/lang/Object;
pop
7: .line 89
aload 7 /* v */
invokevirtual com.sun.tools.sjavac.comp.PubapiVisitor.getCollectedPubApi:()Lcom/sun/tools/sjavac/pubapi/PubApi;
areturn
end local 7 // com.sun.tools.sjavac.comp.PubapiVisitor v
end local 6 // com.sun.tools.javac.code.Symbol$ClassSymbol cs
end local 5 // com.sun.tools.javac.util.Name n
end local 4 // com.sun.tools.javac.util.Names ns
end local 3 // com.sun.tools.javac.code.ClassFinder cr
end local 2 // com.sun.tools.javac.code.Symtab syms
end local 1 // java.lang.String fullyQualifiedClassName
end local 0 // com.sun.tools.sjavac.PubApiExtractor this
LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/sun/tools/sjavac/PubApiExtractor;
0 8 1 fullyQualifiedClassName Ljava/lang/String;
1 8 2 syms Lcom/sun/tools/javac/code/Symtab;
2 8 3 cr Lcom/sun/tools/javac/code/ClassFinder;
3 8 4 ns Lcom/sun/tools/javac/util/Names;
4 8 5 n Lcom/sun/tools/javac/util/Name;
5 8 6 cs Lcom/sun/tools/javac/code/Symbol$ClassSymbol;
6 8 7 v Lcom/sun/tools/sjavac/comp/PubapiVisitor;
MethodParameters:
Name Flags
fullyQualifiedClassName
public void close();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 // com.sun.tools.sjavac.PubApiExtractor this
0: .line 93
aload 0 /* this */
getfield com.sun.tools.sjavac.PubApiExtractor.fileManager:Lcom/sun/tools/sjavac/comp/SmartFileManager;
invokevirtual com.sun.tools.sjavac.comp.SmartFileManager.close:()V
1: .line 94
return
end local 0 // com.sun.tools.sjavac.PubApiExtractor this
LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/sun/tools/sjavac/PubApiExtractor;
Exceptions:
throws java.io.IOException
}
SourceFile: "PubApiExtractor.java"
InnerClasses:
public ClassSymbol = com.sun.tools.javac.code.Symbol$ClassSymbol of com.sun.tools.javac.code.Symbol
public ModuleSymbol = com.sun.tools.javac.code.Symbol$ModuleSymbol of com.sun.tools.javac.code.Symbol
public abstract CompilationTask = javax.tools.JavaCompiler$CompilationTask of javax.tools.JavaCompiler