public class com.sun.tools.sjavac.comp.PubAPIs
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.sun.tools.sjavac.comp.PubAPIs
  super_class: java.lang.Object
{
  protected static final com.sun.tools.javac.util.Context$Key<com.sun.tools.sjavac.comp.PubAPIs> pubApisKey;
    descriptor: Lcom/sun/tools/javac/util/Context$Key;
    flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
    Signature: Lcom/sun/tools/javac/util/Context$Key<Lcom/sun/tools/sjavac/comp/PubAPIs;>;

  protected com.sun.tools.javac.util.Log log;
    descriptor: Lcom/sun/tools/javac/util/Log;
    flags: (0x0004) ACC_PROTECTED

  protected java.util.Map<com.sun.tools.javac.code.Symbol$ClassSymbol, com.sun.tools.sjavac.pubapi.PubApi> publicApiPerClass;
    descriptor: Ljava/util/Map;
    flags: (0x0004) ACC_PROTECTED
    Signature: Ljava/util/Map<Lcom/sun/tools/javac/code/Symbol$ClassSymbol;Lcom/sun/tools/sjavac/pubapi/PubApi;>;

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 49
            new com.sun.tools.javac.util.Context$Key
            dup
            invokespecial com.sun.tools.javac.util.Context$Key.<init>:()V
            putstatic com.sun.tools.sjavac.comp.PubAPIs.pubApisKey:Lcom/sun/tools/javac/util/Context$Key;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static com.sun.tools.sjavac.comp.PubAPIs instance(com.sun.tools.javac.util.Context);
    descriptor: (Lcom/sun/tools/javac/util/Context;)Lcom/sun/tools/sjavac/comp/PubAPIs;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // com.sun.tools.javac.util.Context context
         0: .line 60
            aload 0 /* context */
            getstatic com.sun.tools.sjavac.comp.PubAPIs.pubApisKey:Lcom/sun/tools/javac/util/Context$Key;
            invokevirtual com.sun.tools.javac.util.Context.get:(Lcom/sun/tools/javac/util/Context$Key;)Ljava/lang/Object;
            checkcast com.sun.tools.sjavac.comp.PubAPIs
            astore 1 /* instance */
        start local 1 // com.sun.tools.sjavac.comp.PubAPIs instance
         1: .line 61
            aload 1 /* instance */
            ifnonnull 3
         2: .line 62
            new com.sun.tools.sjavac.comp.PubAPIs
            dup
            aload 0 /* context */
            invokespecial com.sun.tools.sjavac.comp.PubAPIs.<init>:(Lcom/sun/tools/javac/util/Context;)V
            astore 1 /* instance */
         3: .line 63
      StackMap locals: com.sun.tools.sjavac.comp.PubAPIs
      StackMap stack:
            aload 1 /* instance */
            areturn
        end local 1 // com.sun.tools.sjavac.comp.PubAPIs instance
        end local 0 // com.sun.tools.javac.util.Context context
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0   context  Lcom/sun/tools/javac/util/Context;
            1    4     1  instance  Lcom/sun/tools/sjavac/comp/PubAPIs;
    MethodParameters:
         Name  Flags
      context  

  private void <init>(com.sun.tools.javac.util.Context);
    descriptor: (Lcom/sun/tools/javac/util/Context;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.sun.tools.sjavac.comp.PubAPIs this
        start local 1 // com.sun.tools.javac.util.Context context
         0: .line 66
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 57
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield com.sun.tools.sjavac.comp.PubAPIs.publicApiPerClass:Ljava/util/Map;
         2: .line 67
            aload 1 /* context */
            getstatic com.sun.tools.sjavac.comp.PubAPIs.pubApisKey:Lcom/sun/tools/javac/util/Context$Key;
            aload 0 /* this */
            invokevirtual com.sun.tools.javac.util.Context.put:(Lcom/sun/tools/javac/util/Context$Key;Ljava/lang/Object;)V
         3: .line 68
            aload 0 /* this */
            aload 1 /* context */
            invokestatic com.sun.tools.javac.util.Log.instance:(Lcom/sun/tools/javac/util/Context;)Lcom/sun/tools/javac/util/Log;
            putfield com.sun.tools.sjavac.comp.PubAPIs.log:Lcom/sun/tools/javac/util/Log;
         4: .line 69
            return
        end local 1 // com.sun.tools.javac.util.Context context
        end local 0 // com.sun.tools.sjavac.comp.PubAPIs this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0     this  Lcom/sun/tools/sjavac/comp/PubAPIs;
            0    5     1  context  Lcom/sun/tools/javac/util/Context;
    MethodParameters:
         Name  Flags
      context  

  public java.util.Map<java.lang.String, com.sun.tools.sjavac.pubapi.PubApi> getPubapis(java.util.Collection<javax.tools.JavaFileObject>, boolean);
    descriptor: (Ljava/util/Collection;Z)Ljava/util/Map;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=9, args_size=3
        start local 0 // com.sun.tools.sjavac.comp.PubAPIs this
        start local 1 // java.util.Collection explicitJFOs
        start local 2 // boolean explicits
         0: .line 78
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 3 /* result */
        start local 3 // java.util.Map result
         1: .line 79
            aload 0 /* this */
            getfield com.sun.tools.sjavac.comp.PubAPIs.publicApiPerClass:Ljava/util/Map;
            invokeinterface java.util.Map.keySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 5
            goto 9
      StackMap locals: com.sun.tools.sjavac.comp.PubAPIs java.util.Collection int java.util.Map top java.util.Iterator
      StackMap stack:
         2: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.sun.tools.javac.code.Symbol$ClassSymbol
            astore 4 /* cs */
        start local 4 // com.sun.tools.javac.code.Symbol$ClassSymbol cs
         3: .line 81
            aload 1 /* explicitJFOs */
            aload 4 /* cs */
            getfield com.sun.tools.javac.code.Symbol$ClassSymbol.sourcefile:Ljavax/tools/JavaFileObject;
            invokeinterface java.util.Collection.contains:(Ljava/lang/Object;)Z
            istore 6 /* amongExplicits */
        start local 6 // boolean amongExplicits
         4: .line 82
            iload 2 /* explicits */
            iload 6 /* amongExplicits */
            if_icmpeq 6
         5: .line 83
            goto 9
         6: .line 85
      StackMap locals: com.sun.tools.sjavac.comp.PubAPIs java.util.Collection int java.util.Map com.sun.tools.javac.code.Symbol$ClassSymbol java.util.Iterator int
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc ":"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 4 /* cs */
            invokevirtual com.sun.tools.javac.code.Symbol$ClassSymbol.packge:()Lcom/sun/tools/javac/code/Symbol$PackageSymbol;
            getfield com.sun.tools.javac.code.Symbol$PackageSymbol.fullname:Lcom/sun/tools/javac/util/Name;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 7 /* pkg */
        start local 7 // java.lang.String pkg
         7: .line 86
            aload 3 /* result */
            aload 7 /* pkg */
            new com.sun.tools.sjavac.pubapi.PubApi
            dup
            invokespecial com.sun.tools.sjavac.pubapi.PubApi.<init>:()V
            invokeinterface java.util.Map.getOrDefault:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.sun.tools.sjavac.pubapi.PubApi
            astore 8 /* currentPubApi */
        start local 8 // com.sun.tools.sjavac.pubapi.PubApi currentPubApi
         8: .line 87
            aload 3 /* result */
            aload 7 /* pkg */
            aload 8 /* currentPubApi */
            aload 0 /* this */
            getfield com.sun.tools.sjavac.comp.PubAPIs.publicApiPerClass:Ljava/util/Map;
            aload 4 /* cs */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.sun.tools.sjavac.pubapi.PubApi
            invokestatic com.sun.tools.sjavac.pubapi.PubApi.mergeTypes:(Lcom/sun/tools/sjavac/pubapi/PubApi;Lcom/sun/tools/sjavac/pubapi/PubApi;)Lcom/sun/tools/sjavac/pubapi/PubApi;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 8 // com.sun.tools.sjavac.pubapi.PubApi currentPubApi
        end local 7 // java.lang.String pkg
        end local 6 // boolean amongExplicits
        end local 4 // com.sun.tools.javac.code.Symbol$ClassSymbol cs
         9: .line 79
      StackMap locals: com.sun.tools.sjavac.comp.PubAPIs java.util.Collection int java.util.Map top java.util.Iterator
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
        10: .line 90
            aload 3 /* result */
            areturn
        end local 3 // java.util.Map result
        end local 2 // boolean explicits
        end local 1 // java.util.Collection explicitJFOs
        end local 0 // com.sun.tools.sjavac.comp.PubAPIs this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   11     0            this  Lcom/sun/tools/sjavac/comp/PubAPIs;
            0   11     1    explicitJFOs  Ljava/util/Collection<Ljavax/tools/JavaFileObject;>;
            0   11     2       explicits  Z
            1   11     3          result  Ljava/util/Map<Ljava/lang/String;Lcom/sun/tools/sjavac/pubapi/PubApi;>;
            3    9     4              cs  Lcom/sun/tools/javac/code/Symbol$ClassSymbol;
            4    9     6  amongExplicits  Z
            7    9     7             pkg  Ljava/lang/String;
            8    9     8   currentPubApi  Lcom/sun/tools/sjavac/pubapi/PubApi;
    Signature: (Ljava/util/Collection<Ljavax/tools/JavaFileObject;>;Z)Ljava/util/Map<Ljava/lang/String;Lcom/sun/tools/sjavac/pubapi/PubApi;>;
    MethodParameters:
              Name  Flags
      explicitJFOs  
      explicits     

  public void visitPubapi(javax.lang.model.element.Element);
    descriptor: (Ljavax/lang/model/element/Element;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // com.sun.tools.sjavac.comp.PubAPIs this
        start local 1 // javax.lang.model.element.Element e
         0: .line 101
            aload 1 /* e */
            ifnonnull 2
         1: .line 102
            return
         2: .line 104
      StackMap locals:
      StackMap stack:
            new com.sun.tools.sjavac.comp.PubapiVisitor
            dup
            invokespecial com.sun.tools.sjavac.comp.PubapiVisitor.<init>:()V
            astore 2 /* v */
        start local 2 // com.sun.tools.sjavac.comp.PubapiVisitor v
         3: .line 105
            aload 2 /* v */
            aload 1 /* e */
            invokevirtual com.sun.tools.sjavac.comp.PubapiVisitor.visit:(Ljavax/lang/model/element/Element;)Ljava/lang/Object;
            pop
         4: .line 106
            aload 0 /* this */
            getfield com.sun.tools.sjavac.comp.PubAPIs.publicApiPerClass:Ljava/util/Map;
            aload 1 /* e */
            checkcast com.sun.tools.javac.code.Symbol$ClassSymbol
            aload 2 /* v */
            invokevirtual com.sun.tools.sjavac.comp.PubapiVisitor.getCollectedPubApi:()Lcom/sun/tools/sjavac/pubapi/PubApi;
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         5: .line 107
            return
        end local 2 // com.sun.tools.sjavac.comp.PubapiVisitor v
        end local 1 // javax.lang.model.element.Element e
        end local 0 // com.sun.tools.sjavac.comp.PubAPIs this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lcom/sun/tools/sjavac/comp/PubAPIs;
            0    6     1     e  Ljavax/lang/model/element/Element;
            3    6     2     v  Lcom/sun/tools/sjavac/comp/PubapiVisitor;
    MethodParameters:
      Name  Flags
      e     
}
SourceFile: "PubAPIs.java"
InnerClasses:
  public ClassSymbol = com.sun.tools.javac.code.Symbol$ClassSymbol of com.sun.tools.javac.code.Symbol
  public PackageSymbol = com.sun.tools.javac.code.Symbol$PackageSymbol of com.sun.tools.javac.code.Symbol
  public Key = com.sun.tools.javac.util.Context$Key of com.sun.tools.javac.util.Context