public class com.sun.tools.sjavac.comp.PubapiVisitor extends javax.lang.model.util.ElementScanner14<java.lang.Void, java.lang.Void>
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.sun.tools.sjavac.comp.PubapiVisitor
  super_class: javax.lang.model.util.ElementScanner14
{
  private com.sun.tools.sjavac.pubapi.PubApi collectedApi;
    descriptor: Lcom/sun/tools/sjavac/pubapi/PubApi;
    flags: (0x0002) ACC_PRIVATE

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.sun.tools.sjavac.comp.PubapiVisitor this
         0: .line 56
            aload 0 /* this */
            invokespecial javax.lang.model.util.ElementScanner14.<init>:()V
         1: .line 58
            aload 0 /* this */
            new com.sun.tools.sjavac.pubapi.PubApi
            dup
            invokespecial com.sun.tools.sjavac.pubapi.PubApi.<init>:()V
            putfield com.sun.tools.sjavac.comp.PubapiVisitor.collectedApi:Lcom/sun/tools/sjavac/pubapi/PubApi;
         2: .line 56
            return
        end local 0 // com.sun.tools.sjavac.comp.PubapiVisitor this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/sun/tools/sjavac/comp/PubapiVisitor;

  private boolean isNonPrivate(javax.lang.model.element.Element);
    descriptor: (Ljavax/lang/model/element/Element;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.tools.sjavac.comp.PubapiVisitor this
        start local 1 // javax.lang.model.element.Element e
         0: .line 61
            aload 1 /* e */
            invokeinterface javax.lang.model.element.Element.getModifiers:()Ljava/util/Set;
            getstatic javax.lang.model.element.Modifier.PRIVATE:Ljavax/lang/model/element/Modifier;
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifeq 1
            iconst_0
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_1
      StackMap locals:
      StackMap stack: int
         2: ireturn
        end local 1 // javax.lang.model.element.Element e
        end local 0 // com.sun.tools.sjavac.comp.PubapiVisitor this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/sun/tools/sjavac/comp/PubapiVisitor;
            0    3     1     e  Ljavax/lang/model/element/Element;
    MethodParameters:
      Name  Flags
      e     

  public java.lang.Void visitType(javax.lang.model.element.TypeElement, java.lang.Void);
    descriptor: (Ljavax/lang/model/element/TypeElement;Ljava/lang/Void;)Ljava/lang/Void;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=6, args_size=3
        start local 0 // com.sun.tools.sjavac.comp.PubapiVisitor this
        start local 1 // javax.lang.model.element.TypeElement e
        start local 2 // java.lang.Void p
         0: .line 66
            aload 0 /* this */
            aload 1 /* e */
            invokevirtual com.sun.tools.sjavac.comp.PubapiVisitor.isNonPrivate:(Ljavax/lang/model/element/Element;)Z
            ifeq 12
         1: .line 67
            aload 0 /* this */
            getfield com.sun.tools.sjavac.comp.PubapiVisitor.collectedApi:Lcom/sun/tools/sjavac/pubapi/PubApi;
            astore 3 /* prevApi */
        start local 3 // com.sun.tools.sjavac.pubapi.PubApi prevApi
         2: .line 68
            aload 0 /* this */
            new com.sun.tools.sjavac.pubapi.PubApi
            dup
            invokespecial com.sun.tools.sjavac.pubapi.PubApi.<init>:()V
            putfield com.sun.tools.sjavac.comp.PubapiVisitor.collectedApi:Lcom/sun/tools/sjavac/pubapi/PubApi;
         3: .line 69
            aload 0 /* this */
            aload 1 /* e */
            aload 2 /* p */
            invokespecial javax.lang.model.util.ElementScanner14.visitType:(Ljavax/lang/model/element/TypeElement;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         4: .line 70
            aload 0 /* this */
            aload 1 /* e */
            invokevirtual com.sun.tools.sjavac.comp.PubapiVisitor.isAnonymous:(Ljavax/lang/model/element/TypeElement;)Z
            ifne 11
         5: .line 71
            aload 1 /* e */
            checkcast com.sun.tools.javac.code.Symbol$ClassSymbol
            getfield com.sun.tools.javac.code.Symbol$ClassSymbol.flatname:Lcom/sun/tools/javac/util/Name;
            invokevirtual com.sun.tools.javac.util.Name.toString:()Ljava/lang/String;
            astore 4 /* name */
        start local 4 // java.lang.String name
         6: .line 72
            new com.sun.tools.sjavac.pubapi.PubType
            dup
            aload 1 /* e */
            invokeinterface javax.lang.model.element.TypeElement.getModifiers:()Ljava/util/Set;
         7: .line 73
            aload 4 /* name */
         8: .line 75
            aload 0 /* this */
            getfield com.sun.tools.sjavac.comp.PubapiVisitor.collectedApi:Lcom/sun/tools/sjavac/pubapi/PubApi;
         9: .line 72
            invokespecial com.sun.tools.sjavac.pubapi.PubType.<init>:(Ljava/util/Set;Ljava/lang/String;Lcom/sun/tools/sjavac/pubapi/PubApi;)V
            astore 5 /* t */
        start local 5 // com.sun.tools.sjavac.pubapi.PubType t
        10: .line 76
            aload 3 /* prevApi */
            getfield com.sun.tools.sjavac.pubapi.PubApi.types:Ljava/util/Map;
            aload 5 /* t */
            getfield com.sun.tools.sjavac.pubapi.PubType.fqName:Ljava/lang/String;
            aload 5 /* t */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 5 // com.sun.tools.sjavac.pubapi.PubType t
        end local 4 // java.lang.String name
        11: .line 78
      StackMap locals: com.sun.tools.sjavac.pubapi.PubApi
      StackMap stack:
            aload 0 /* this */
            aload 3 /* prevApi */
            putfield com.sun.tools.sjavac.comp.PubapiVisitor.collectedApi:Lcom/sun/tools/sjavac/pubapi/PubApi;
        end local 3 // com.sun.tools.sjavac.pubapi.PubApi prevApi
        12: .line 80
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 2 // java.lang.Void p
        end local 1 // javax.lang.model.element.TypeElement e
        end local 0 // com.sun.tools.sjavac.comp.PubapiVisitor this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   13     0     this  Lcom/sun/tools/sjavac/comp/PubapiVisitor;
            0   13     1        e  Ljavax/lang/model/element/TypeElement;
            0   13     2        p  Ljava/lang/Void;
            2   12     3  prevApi  Lcom/sun/tools/sjavac/pubapi/PubApi;
            6   11     4     name  Ljava/lang/String;
           10   11     5        t  Lcom/sun/tools/sjavac/pubapi/PubType;
    MethodParameters:
      Name  Flags
      e     
      p     

  private boolean isAnonymous(javax.lang.model.element.TypeElement);
    descriptor: (Ljavax/lang/model/element/TypeElement;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // com.sun.tools.sjavac.comp.PubapiVisitor this
        start local 1 // javax.lang.model.element.TypeElement e
         0: .line 84
            aload 1 /* e */
            invokeinterface javax.lang.model.element.TypeElement.getQualifiedName:()Ljavax/lang/model/element/Name;
            invokeinterface javax.lang.model.element.Name.length:()I
            ifne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 1 // javax.lang.model.element.TypeElement e
        end local 0 // com.sun.tools.sjavac.comp.PubapiVisitor this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/sun/tools/sjavac/comp/PubapiVisitor;
            0    2     1     e  Ljavax/lang/model/element/TypeElement;
    MethodParameters:
      Name  Flags
      e     

  private static java.lang.String encodeChar(int);
    descriptor: (I)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=1, args_size=1
        start local 0 // int c
         0: .line 88
            ldc "\\u%04x"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            iload 0 /* c */
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            aastore
            invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
            areturn
        end local 0 // int c
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     c  I
    MethodParameters:
      Name  Flags
      c     

  public java.lang.Void visitVariable(javax.lang.model.element.VariableElement, java.lang.Void);
    descriptor: (Ljavax/lang/model/element/VariableElement;Ljava/lang/Void;)Ljava/lang/Void;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=6, args_size=3
        start local 0 // com.sun.tools.sjavac.comp.PubapiVisitor this
        start local 1 // javax.lang.model.element.VariableElement e
        start local 2 // java.lang.Void p
         0: .line 93
            aload 0 /* this */
            aload 1 /* e */
            invokevirtual com.sun.tools.sjavac.comp.PubapiVisitor.isNonPrivate:(Ljavax/lang/model/element/Element;)Z
            ifeq 19
         1: .line 94
            aload 1 /* e */
            invokeinterface javax.lang.model.element.VariableElement.getConstantValue:()Ljava/lang/Object;
            astore 3 /* constVal */
        start local 3 // java.lang.Object constVal
         2: .line 95
            aconst_null
            astore 4 /* constValStr */
        start local 4 // java.lang.String constValStr
         3: .line 99
            aload 3 /* constVal */
            ifnull 13
         4: .line 100
            aload 1 /* e */
            invokeinterface javax.lang.model.element.VariableElement.asType:()Ljavax/lang/model/type/TypeMirror;
            invokeinterface javax.lang.model.type.TypeMirror.toString:()Ljava/lang/String;
            ldc "char"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 8
         5: .line 102
            aload 3 /* constVal */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            iconst_0
            invokevirtual java.lang.String.charAt:(I)C
            istore 5 /* c */
        start local 5 // char c
         6: .line 103
            new java.lang.StringBuilder
            dup
            ldc "'"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            iload 5 /* c */
            invokestatic com.sun.tools.sjavac.comp.PubapiVisitor.encodeChar:(I)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "'"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 4 /* constValStr */
        end local 5 // char c
         7: .line 104
            goto 13
         8: .line 105
      StackMap locals: java.lang.Object java.lang.String
      StackMap stack:
            aload 3 /* constVal */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
         9: .line 106
            invokevirtual java.lang.String.chars:()Ljava/util/stream/IntStream;
        10: .line 107
            invokedynamic apply()Ljava/util/function/IntFunction;
              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:
                  (I)Ljava/lang/Object;
                  com/sun/tools/sjavac/comp/PubapiVisitor.encodeChar(I)Ljava/lang/String; (6)
                  (I)Ljava/lang/String;
            invokeinterface java.util.stream.IntStream.mapToObj:(Ljava/util/function/IntFunction;)Ljava/util/stream/Stream;
        11: .line 108
            ldc ""
            ldc "\""
            ldc "\""
            invokestatic java.util.stream.Collectors.joining:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/util/stream/Collector;
            invokeinterface java.util.stream.Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;
            checkcast java.lang.String
        12: .line 105
            astore 4 /* constValStr */
        13: .line 112
      StackMap locals:
      StackMap stack:
            new com.sun.tools.sjavac.pubapi.PubVar
            dup
            aload 1 /* e */
            invokeinterface javax.lang.model.element.VariableElement.getModifiers:()Ljava/util/Set;
        14: .line 113
            aload 1 /* e */
            invokeinterface javax.lang.model.element.VariableElement.asType:()Ljavax/lang/model/type/TypeMirror;
            invokestatic com.sun.tools.sjavac.pubapi.TypeDesc.fromType:(Ljavax/lang/model/type/TypeMirror;)Lcom/sun/tools/sjavac/pubapi/TypeDesc;
        15: .line 114
            aload 1 /* e */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
        16: .line 115
            aload 4 /* constValStr */
        17: .line 112
            invokespecial com.sun.tools.sjavac.pubapi.PubVar.<init>:(Ljava/util/Set;Lcom/sun/tools/sjavac/pubapi/TypeDesc;Ljava/lang/String;Ljava/lang/String;)V
            astore 5 /* v */
        start local 5 // com.sun.tools.sjavac.pubapi.PubVar v
        18: .line 116
            aload 0 /* this */
            getfield com.sun.tools.sjavac.comp.PubapiVisitor.collectedApi:Lcom/sun/tools/sjavac/pubapi/PubApi;
            getfield com.sun.tools.sjavac.pubapi.PubApi.variables:Ljava/util/Map;
            aload 5 /* v */
            getfield com.sun.tools.sjavac.pubapi.PubVar.identifier:Ljava/lang/String;
            aload 5 /* v */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 5 // com.sun.tools.sjavac.pubapi.PubVar v
        end local 4 // java.lang.String constValStr
        end local 3 // java.lang.Object constVal
        19: .line 124
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 2 // java.lang.Void p
        end local 1 // javax.lang.model.element.VariableElement e
        end local 0 // com.sun.tools.sjavac.comp.PubapiVisitor this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   20     0         this  Lcom/sun/tools/sjavac/comp/PubapiVisitor;
            0   20     1            e  Ljavax/lang/model/element/VariableElement;
            0   20     2            p  Ljava/lang/Void;
            2   19     3     constVal  Ljava/lang/Object;
            3   19     4  constValStr  Ljava/lang/String;
            6    7     5            c  C
           18   19     5            v  Lcom/sun/tools/sjavac/pubapi/PubVar;
    MethodParameters:
      Name  Flags
      e     
      p     

  public java.lang.Void visitRecordComponent(javax.lang.model.element.RecordComponentElement, java.lang.Void);
    descriptor: (Ljavax/lang/model/element/RecordComponentElement;Ljava/lang/Void;)Ljava/lang/Void;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=4, args_size=3
        start local 0 // com.sun.tools.sjavac.comp.PubapiVisitor this
        start local 1 // javax.lang.model.element.RecordComponentElement e
        start local 2 // java.lang.Void p
         0: .line 130
            new com.sun.tools.sjavac.pubapi.PubVar
            dup
            aload 1 /* e */
            invokeinterface javax.lang.model.element.RecordComponentElement.getModifiers:()Ljava/util/Set;
         1: .line 131
            aload 1 /* e */
            invokeinterface javax.lang.model.element.RecordComponentElement.asType:()Ljavax/lang/model/type/TypeMirror;
            invokestatic com.sun.tools.sjavac.pubapi.TypeDesc.fromType:(Ljavax/lang/model/type/TypeMirror;)Lcom/sun/tools/sjavac/pubapi/TypeDesc;
         2: .line 132
            aload 1 /* e */
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
         3: .line 133
            aconst_null
         4: .line 130
            invokespecial com.sun.tools.sjavac.pubapi.PubVar.<init>:(Ljava/util/Set;Lcom/sun/tools/sjavac/pubapi/TypeDesc;Ljava/lang/String;Ljava/lang/String;)V
            astore 3 /* v */
        start local 3 // com.sun.tools.sjavac.pubapi.PubVar v
         5: .line 134
            aload 0 /* this */
            getfield com.sun.tools.sjavac.comp.PubapiVisitor.collectedApi:Lcom/sun/tools/sjavac/pubapi/PubApi;
            getfield com.sun.tools.sjavac.pubapi.PubApi.recordComponents:Ljava/util/Map;
            aload 3 /* v */
            getfield com.sun.tools.sjavac.pubapi.PubVar.identifier:Ljava/lang/String;
            aload 3 /* v */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         6: .line 135
            aconst_null
            areturn
        end local 3 // com.sun.tools.sjavac.pubapi.PubVar v
        end local 2 // java.lang.Void p
        end local 1 // javax.lang.model.element.RecordComponentElement e
        end local 0 // com.sun.tools.sjavac.comp.PubapiVisitor this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lcom/sun/tools/sjavac/comp/PubapiVisitor;
            0    7     1     e  Ljavax/lang/model/element/RecordComponentElement;
            0    7     2     p  Ljava/lang/Void;
            5    7     3     v  Lcom/sun/tools/sjavac/pubapi/PubVar;
    MethodParameters:
      Name  Flags
      e     
      p     

  public java.lang.Void visitExecutable(javax.lang.model.element.ExecutableElement, java.lang.Void);
    descriptor: (Ljavax/lang/model/element/ExecutableElement;Ljava/lang/Void;)Ljava/lang/Void;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=9, locals=4, args_size=3
        start local 0 // com.sun.tools.sjavac.comp.PubapiVisitor this
        start local 1 // javax.lang.model.element.ExecutableElement e
        start local 2 // java.lang.Void p
         0: .line 140
            aload 0 /* this */
            aload 1 /* e */
            invokevirtual com.sun.tools.sjavac.comp.PubapiVisitor.isNonPrivate:(Ljavax/lang/model/element/Element;)Z
            ifeq 9
         1: .line 141
            new com.sun.tools.sjavac.pubapi.PubMethod
            dup
            aload 1 /* e */
            invokeinterface javax.lang.model.element.ExecutableElement.getModifiers:()Ljava/util/Set;
         2: .line 142
            aload 0 /* this */
            aload 1 /* e */
            invokeinterface javax.lang.model.element.ExecutableElement.getTypeParameters:()Ljava/util/List;
            invokevirtual com.sun.tools.sjavac.comp.PubapiVisitor.getTypeParameters:(Ljava/util/List;)Ljava/util/List;
         3: .line 143
            aload 1 /* e */
            invokeinterface javax.lang.model.element.ExecutableElement.getReturnType:()Ljavax/lang/model/type/TypeMirror;
            invokestatic com.sun.tools.sjavac.pubapi.TypeDesc.fromType:(Ljavax/lang/model/type/TypeMirror;)Lcom/sun/tools/sjavac/pubapi/TypeDesc;
         4: .line 144
            aload 1 /* e */
            invokeinterface javax.lang.model.element.ExecutableElement.getSimpleName:()Ljavax/lang/model/element/Name;
            invokeinterface javax.lang.model.element.Name.toString:()Ljava/lang/String;
         5: .line 145
            aload 0 /* this */
            aload 0 /* this */
            aload 1 /* e */
            invokevirtual com.sun.tools.sjavac.comp.PubapiVisitor.getParamTypes:(Ljavax/lang/model/element/ExecutableElement;)Ljava/util/List;
            invokevirtual com.sun.tools.sjavac.comp.PubapiVisitor.getTypeDescs:(Ljava/util/List;)Ljava/util/List;
         6: .line 146
            aload 0 /* this */
            aload 1 /* e */
            invokeinterface javax.lang.model.element.ExecutableElement.getThrownTypes:()Ljava/util/List;
            invokevirtual com.sun.tools.sjavac.comp.PubapiVisitor.getTypeDescs:(Ljava/util/List;)Ljava/util/List;
         7: .line 141
            invokespecial com.sun.tools.sjavac.pubapi.PubMethod.<init>:(Ljava/util/Set;Ljava/util/List;Lcom/sun/tools/sjavac/pubapi/TypeDesc;Ljava/lang/String;Ljava/util/List;Ljava/util/List;)V
            astore 3 /* m */
        start local 3 // com.sun.tools.sjavac.pubapi.PubMethod m
         8: .line 147
            aload 0 /* this */
            getfield com.sun.tools.sjavac.comp.PubapiVisitor.collectedApi:Lcom/sun/tools/sjavac/pubapi/PubApi;
            getfield com.sun.tools.sjavac.pubapi.PubApi.methods:Ljava/util/Map;
            aload 3 /* m */
            invokevirtual com.sun.tools.sjavac.pubapi.PubMethod.asSignatureString:()Ljava/lang/String;
            aload 3 /* m */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 3 // com.sun.tools.sjavac.pubapi.PubMethod m
         9: .line 149
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 2 // java.lang.Void p
        end local 1 // javax.lang.model.element.ExecutableElement e
        end local 0 // com.sun.tools.sjavac.comp.PubapiVisitor this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   10     0  this  Lcom/sun/tools/sjavac/comp/PubapiVisitor;
            0   10     1     e  Ljavax/lang/model/element/ExecutableElement;
            0   10     2     p  Ljava/lang/Void;
            8    9     3     m  Lcom/sun/tools/sjavac/pubapi/PubMethod;
    MethodParameters:
      Name  Flags
      e     
      p     

  private java.util.List<com.sun.tools.sjavac.pubapi.PubApiTypeParam> getTypeParameters(java.util.List<? extends javax.lang.model.element.TypeParameterElement>);
    descriptor: (Ljava/util/List;)Ljava/util/List;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.tools.sjavac.comp.PubapiVisitor this
        start local 1 // java.util.List elements
         0: .line 153
            aload 1 /* elements */
            invokeinterface java.util.List.stream:()Ljava/util/stream/Stream;
         1: .line 154
            aload 0 /* this */
            invokedynamic apply(Lcom/sun/tools/sjavac/comp/PubapiVisitor;)Ljava/util/function/Function;
              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/lang/Object;)Ljava/lang/Object;
                  com/sun/tools/sjavac/comp/PubapiVisitor.lambda$1(Ljavax/lang/model/element/TypeParameterElement;)Lcom/sun/tools/sjavac/pubapi/PubApiTypeParam; (7)
                  (Ljavax/lang/model/element/TypeParameterElement;)Lcom/sun/tools/sjavac/pubapi/PubApiTypeParam;
            invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
         2: .line 155
            invokestatic java.util.stream.Collectors.toList:()Ljava/util/stream/Collector;
            invokeinterface java.util.stream.Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;
            checkcast java.util.List
         3: .line 153
            areturn
        end local 1 // java.util.List elements
        end local 0 // com.sun.tools.sjavac.comp.PubapiVisitor this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0      this  Lcom/sun/tools/sjavac/comp/PubapiVisitor;
            0    4     1  elements  Ljava/util/List<+Ljavax/lang/model/element/TypeParameterElement;>;
    Signature: (Ljava/util/List<+Ljavax/lang/model/element/TypeParameterElement;>;)Ljava/util/List<Lcom/sun/tools/sjavac/pubapi/PubApiTypeParam;>;
    MethodParameters:
          Name  Flags
      elements  

  private java.util.List<javax.lang.model.type.TypeMirror> getParamTypes(javax.lang.model.element.ExecutableElement);
    descriptor: (Ljavax/lang/model/element/ExecutableElement;)Ljava/util/List;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.tools.sjavac.comp.PubapiVisitor this
        start local 1 // javax.lang.model.element.ExecutableElement e
         0: .line 159
            aload 1 /* e */
            invokeinterface javax.lang.model.element.ExecutableElement.getParameters:()Ljava/util/List;
         1: .line 160
            invokeinterface java.util.List.stream:()Ljava/util/stream/Stream;
         2: .line 161
            invokedynamic apply()Ljava/util/function/Function;
              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/lang/Object;)Ljava/lang/Object;
                  javax/lang/model/element/VariableElement.asType()Ljavax/lang/model/type/TypeMirror; (9 itf)
                  (Ljavax/lang/model/element/VariableElement;)Ljavax/lang/model/type/TypeMirror;
            invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
         3: .line 162
            invokestatic java.util.stream.Collectors.toList:()Ljava/util/stream/Collector;
            invokeinterface java.util.stream.Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;
            checkcast java.util.List
         4: .line 159
            areturn
        end local 1 // javax.lang.model.element.ExecutableElement e
        end local 0 // com.sun.tools.sjavac.comp.PubapiVisitor this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lcom/sun/tools/sjavac/comp/PubapiVisitor;
            0    5     1     e  Ljavax/lang/model/element/ExecutableElement;
    Signature: (Ljavax/lang/model/element/ExecutableElement;)Ljava/util/List<Ljavax/lang/model/type/TypeMirror;>;
    MethodParameters:
      Name  Flags
      e     

  private java.util.List<com.sun.tools.sjavac.pubapi.TypeDesc> getTypeDescs(java.util.List<? extends javax.lang.model.type.TypeMirror>);
    descriptor: (Ljava/util/List;)Ljava/util/List;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.tools.sjavac.comp.PubapiVisitor this
        start local 1 // java.util.List list
         0: .line 166
            aload 1 /* list */
            invokeinterface java.util.List.stream:()Ljava/util/stream/Stream;
         1: .line 167
            invokedynamic apply()Ljava/util/function/Function;
              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/lang/Object;)Ljava/lang/Object;
                  com/sun/tools/sjavac/pubapi/TypeDesc.fromType(Ljavax/lang/model/type/TypeMirror;)Lcom/sun/tools/sjavac/pubapi/TypeDesc; (6)
                  (Ljavax/lang/model/type/TypeMirror;)Lcom/sun/tools/sjavac/pubapi/TypeDesc;
            invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
         2: .line 168
            invokestatic java.util.stream.Collectors.toList:()Ljava/util/stream/Collector;
            invokeinterface java.util.stream.Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;
            checkcast java.util.List
         3: .line 166
            areturn
        end local 1 // java.util.List list
        end local 0 // com.sun.tools.sjavac.comp.PubapiVisitor this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lcom/sun/tools/sjavac/comp/PubapiVisitor;
            0    4     1  list  Ljava/util/List<+Ljavax/lang/model/type/TypeMirror;>;
    Signature: (Ljava/util/List<+Ljavax/lang/model/type/TypeMirror;>;)Ljava/util/List<Lcom/sun/tools/sjavac/pubapi/TypeDesc;>;
    MethodParameters:
      Name  Flags
      list  

  public com.sun.tools.sjavac.pubapi.PubApi getCollectedPubApi();
    descriptor: ()Lcom/sun/tools/sjavac/pubapi/PubApi;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.tools.sjavac.comp.PubapiVisitor this
         0: .line 172
            aload 0 /* this */
            getfield com.sun.tools.sjavac.comp.PubapiVisitor.collectedApi:Lcom/sun/tools/sjavac/pubapi/PubApi;
            areturn
        end local 0 // com.sun.tools.sjavac.comp.PubapiVisitor this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/sjavac/comp/PubapiVisitor;

  public java.lang.Object visitVariable(javax.lang.model.element.VariableElement, java.lang.Object);
    descriptor: (Ljavax/lang/model/element/VariableElement;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=3, locals=3, args_size=3
         0: .line 1
            aload 0
            aload 1
            aload 2
            checkcast java.lang.Void
            invokevirtual com.sun.tools.sjavac.comp.PubapiVisitor.visitVariable:(Ljavax/lang/model/element/VariableElement;Ljava/lang/Void;)Ljava/lang/Void;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public java.lang.Object visitExecutable(javax.lang.model.element.ExecutableElement, java.lang.Object);
    descriptor: (Ljavax/lang/model/element/ExecutableElement;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=3, locals=3, args_size=3
         0: .line 1
            aload 0
            aload 1
            aload 2
            checkcast java.lang.Void
            invokevirtual com.sun.tools.sjavac.comp.PubapiVisitor.visitExecutable:(Ljavax/lang/model/element/ExecutableElement;Ljava/lang/Void;)Ljava/lang/Void;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public java.lang.Object visitRecordComponent(javax.lang.model.element.RecordComponentElement, java.lang.Object);
    descriptor: (Ljavax/lang/model/element/RecordComponentElement;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=3, locals=3, args_size=3
         0: .line 1
            aload 0
            aload 1
            aload 2
            checkcast java.lang.Void
            invokevirtual com.sun.tools.sjavac.comp.PubapiVisitor.visitRecordComponent:(Ljavax/lang/model/element/RecordComponentElement;Ljava/lang/Void;)Ljava/lang/Void;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public java.lang.Object visitType(javax.lang.model.element.TypeElement, java.lang.Object);
    descriptor: (Ljavax/lang/model/element/TypeElement;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=3, locals=3, args_size=3
         0: .line 1
            aload 0
            aload 1
            aload 2
            checkcast java.lang.Void
            invokevirtual com.sun.tools.sjavac.comp.PubapiVisitor.visitType:(Ljavax/lang/model/element/TypeElement;Ljava/lang/Void;)Ljava/lang/Void;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private com.sun.tools.sjavac.pubapi.PubApiTypeParam lambda$1(javax.lang.model.element.TypeParameterElement);
    descriptor: (Ljavax/lang/model/element/TypeParameterElement;)Lcom/sun/tools/sjavac/pubapi/PubApiTypeParam;
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // com.sun.tools.sjavac.comp.PubapiVisitor this
        start local 1 // javax.lang.model.element.TypeParameterElement e
         0: .line 154
            new com.sun.tools.sjavac.pubapi.PubApiTypeParam
            dup
            aload 1 /* e */
            invokeinterface javax.lang.model.element.TypeParameterElement.getSimpleName:()Ljavax/lang/model/element/Name;
            invokeinterface javax.lang.model.element.Name.toString:()Ljava/lang/String;
            aload 0 /* this */
            aload 1 /* e */
            invokeinterface javax.lang.model.element.TypeParameterElement.getBounds:()Ljava/util/List;
            invokevirtual com.sun.tools.sjavac.comp.PubapiVisitor.getTypeDescs:(Ljava/util/List;)Ljava/util/List;
            invokespecial com.sun.tools.sjavac.pubapi.PubApiTypeParam.<init>:(Ljava/lang/String;Ljava/util/List;)V
            areturn
        end local 1 // javax.lang.model.element.TypeParameterElement e
        end local 0 // com.sun.tools.sjavac.comp.PubapiVisitor this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/sjavac/comp/PubapiVisitor;
            0    1     1     e  Ljavax/lang/model/element/TypeParameterElement;
}
Signature: Ljavax/lang/model/util/ElementScanner14<Ljava/lang/Void;Ljava/lang/Void;>;
SourceFile: "PubapiVisitor.java"
InnerClasses:
  public ClassSymbol = com.sun.tools.javac.code.Symbol$ClassSymbol of com.sun.tools.javac.code.Symbol
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles