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