public class com.sun.tools.javac.comp.ArgumentAttr extends com.sun.tools.javac.tree.JCTree$Visitor
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.sun.tools.javac.comp.ArgumentAttr
  super_class: com.sun.tools.javac.tree.JCTree$Visitor
{
  protected static final com.sun.tools.javac.util.Context$Key<com.sun.tools.javac.comp.ArgumentAttr> methodAttrKey;
    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/javac/comp/ArgumentAttr;>;

  private final com.sun.tools.javac.comp.DeferredAttr deferredAttr;
    descriptor: Lcom/sun/tools/javac/comp/DeferredAttr;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final com.sun.tools.javac.comp.Attr attr;
    descriptor: Lcom/sun/tools/javac/comp/Attr;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final com.sun.tools.javac.code.Symtab syms;
    descriptor: Lcom/sun/tools/javac/code/Symtab;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final com.sun.tools.javac.util.Log log;
    descriptor: Lcom/sun/tools/javac/util/Log;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private com.sun.tools.javac.comp.Env<com.sun.tools.javac.comp.AttrContext> env;
    descriptor: Lcom/sun/tools/javac/comp/Env;
    flags: (0x0002) ACC_PRIVATE
    Signature: Lcom/sun/tools/javac/comp/Env<Lcom/sun/tools/javac/comp/AttrContext;>;

  com.sun.tools.javac.code.Type result;
    descriptor: Lcom/sun/tools/javac/code/Type;
    flags: (0x0000) 

  java.util.Map<com.sun.tools.javac.comp.ArgumentAttr$UniquePos, com.sun.tools.javac.comp.ArgumentAttr$ArgumentType<?>> argumentTypeCache;
    descriptor: Ljava/util/Map;
    flags: (0x0000) 
    Signature: Ljava/util/Map<Lcom/sun/tools/javac/comp/ArgumentAttr$UniquePos;Lcom/sun/tools/javac/comp/ArgumentAttr$ArgumentType<*>;>;

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

  public static com.sun.tools.javac.comp.ArgumentAttr instance(com.sun.tools.javac.util.Context);
    descriptor: (Lcom/sun/tools/javac/util/Context;)Lcom/sun/tools/javac/comp/ArgumentAttr;
    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 114
            aload 0 /* context */
            getstatic com.sun.tools.javac.comp.ArgumentAttr.methodAttrKey: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.javac.comp.ArgumentAttr
            astore 1 /* instance */
        start local 1 // com.sun.tools.javac.comp.ArgumentAttr instance
         1: .line 115
            aload 1 /* instance */
            ifnonnull 3
         2: .line 116
            new com.sun.tools.javac.comp.ArgumentAttr
            dup
            aload 0 /* context */
            invokespecial com.sun.tools.javac.comp.ArgumentAttr.<init>:(Lcom/sun/tools/javac/util/Context;)V
            astore 1 /* instance */
         3: .line 117
      StackMap locals: com.sun.tools.javac.comp.ArgumentAttr
      StackMap stack:
            aload 1 /* instance */
            areturn
        end local 1 // com.sun.tools.javac.comp.ArgumentAttr 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/javac/comp/ArgumentAttr;
    MethodParameters:
         Name  Flags
      context  

  protected void <init>(com.sun.tools.javac.util.Context);
    descriptor: (Lcom/sun/tools/javac/util/Context;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.sun.tools.javac.comp.ArgumentAttr this
        start local 1 // com.sun.tools.javac.util.Context context
         0: .line 120
            aload 0 /* this */
            invokespecial com.sun.tools.javac.tree.JCTree$Visitor.<init>:()V
         1: .line 111
            aload 0 /* this */
            new java.util.LinkedHashMap
            dup
            invokespecial java.util.LinkedHashMap.<init>:()V
            putfield com.sun.tools.javac.comp.ArgumentAttr.argumentTypeCache:Ljava/util/Map;
         2: .line 121
            aload 1 /* context */
            getstatic com.sun.tools.javac.comp.ArgumentAttr.methodAttrKey: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 122
            aload 0 /* this */
            aload 1 /* context */
            invokestatic com.sun.tools.javac.comp.DeferredAttr.instance:(Lcom/sun/tools/javac/util/Context;)Lcom/sun/tools/javac/comp/DeferredAttr;
            putfield com.sun.tools.javac.comp.ArgumentAttr.deferredAttr:Lcom/sun/tools/javac/comp/DeferredAttr;
         4: .line 123
            aload 0 /* this */
            aload 1 /* context */
            invokestatic com.sun.tools.javac.comp.Attr.instance:(Lcom/sun/tools/javac/util/Context;)Lcom/sun/tools/javac/comp/Attr;
            putfield com.sun.tools.javac.comp.ArgumentAttr.attr:Lcom/sun/tools/javac/comp/Attr;
         5: .line 124
            aload 0 /* this */
            aload 1 /* context */
            invokestatic com.sun.tools.javac.code.Symtab.instance:(Lcom/sun/tools/javac/util/Context;)Lcom/sun/tools/javac/code/Symtab;
            putfield com.sun.tools.javac.comp.ArgumentAttr.syms:Lcom/sun/tools/javac/code/Symtab;
         6: .line 125
            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.javac.comp.ArgumentAttr.log:Lcom/sun/tools/javac/util/Log;
         7: .line 126
            return
        end local 1 // com.sun.tools.javac.util.Context context
        end local 0 // com.sun.tools.javac.comp.ArgumentAttr this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    8     0     this  Lcom/sun/tools/javac/comp/ArgumentAttr;
            0    8     1  context  Lcom/sun/tools/javac/util/Context;
    MethodParameters:
         Name  Flags
      context  

  void setResult(com.sun.tools.javac.tree.JCTree$JCExpression, com.sun.tools.javac.code.Type);
    descriptor: (Lcom/sun/tools/javac/tree/JCTree$JCExpression;Lcom/sun/tools/javac/code/Type;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // com.sun.tools.javac.comp.ArgumentAttr this
        start local 1 // com.sun.tools.javac.tree.JCTree$JCExpression tree
        start local 2 // com.sun.tools.javac.code.Type type
         0: .line 132
            aload 0 /* this */
            aload 2 /* type */
            putfield com.sun.tools.javac.comp.ArgumentAttr.result:Lcom/sun/tools/javac/code/Type;
         1: .line 133
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.ArgumentAttr.env:Lcom/sun/tools/javac/comp/Env;
            getfield com.sun.tools.javac.comp.Env.info:Ljava/lang/Object;
            checkcast com.sun.tools.javac.comp.AttrContext
            getfield com.sun.tools.javac.comp.AttrContext.isSpeculative:Z
            ifeq 3
         2: .line 136
            aload 1 /* tree */
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.ArgumentAttr.result:Lcom/sun/tools/javac/code/Type;
            putfield com.sun.tools.javac.tree.JCTree$JCExpression.type:Lcom/sun/tools/javac/code/Type;
         3: .line 138
      StackMap locals:
      StackMap stack:
            return
        end local 2 // com.sun.tools.javac.code.Type type
        end local 1 // com.sun.tools.javac.tree.JCTree$JCExpression tree
        end local 0 // com.sun.tools.javac.comp.ArgumentAttr this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lcom/sun/tools/javac/comp/ArgumentAttr;
            0    4     1  tree  Lcom/sun/tools/javac/tree/JCTree$JCExpression;
            0    4     2  type  Lcom/sun/tools/javac/code/Type;
    MethodParameters:
      Name  Flags
      tree  
      type  

  com.sun.tools.javac.code.Type checkSpeculative(com.sun.tools.javac.tree.JCTree$JCExpression, com.sun.tools.javac.comp.Attr$ResultInfo);
    descriptor: (Lcom/sun/tools/javac/tree/JCTree$JCExpression;Lcom/sun/tools/javac/comp/Attr$ResultInfo;)Lcom/sun/tools/javac/code/Type;
    flags: (0x0000) 
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // com.sun.tools.javac.comp.ArgumentAttr this
        start local 1 // com.sun.tools.javac.tree.JCTree$JCExpression expr
        start local 2 // com.sun.tools.javac.comp.Attr$ResultInfo resultInfo
         0: .line 145
            aload 0 /* this */
            aload 1 /* expr */
            aload 1 /* expr */
            getfield com.sun.tools.javac.tree.JCTree$JCExpression.type:Lcom/sun/tools/javac/code/Type;
            aload 2 /* resultInfo */
            invokevirtual com.sun.tools.javac.comp.ArgumentAttr.checkSpeculative:(Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticPosition;Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/comp/Attr$ResultInfo;)Lcom/sun/tools/javac/code/Type;
            areturn
        end local 2 // com.sun.tools.javac.comp.Attr$ResultInfo resultInfo
        end local 1 // com.sun.tools.javac.tree.JCTree$JCExpression expr
        end local 0 // com.sun.tools.javac.comp.ArgumentAttr this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Lcom/sun/tools/javac/comp/ArgumentAttr;
            0    1     1        expr  Lcom/sun/tools/javac/tree/JCTree$JCExpression;
            0    1     2  resultInfo  Lcom/sun/tools/javac/comp/Attr$ResultInfo;
    MethodParameters:
            Name  Flags
      expr        
      resultInfo  

  com.sun.tools.javac.code.Type checkSpeculative(com.sun.tools.javac.util.JCDiagnostic$DiagnosticPosition, com.sun.tools.javac.code.Type, com.sun.tools.javac.comp.Attr$ResultInfo);
    descriptor: (Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticPosition;Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/comp/Attr$ResultInfo;)Lcom/sun/tools/javac/code/Type;
    flags: (0x0000) 
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // com.sun.tools.javac.comp.ArgumentAttr this
        start local 1 // com.sun.tools.javac.util.JCDiagnostic$DiagnosticPosition pos
        start local 2 // com.sun.tools.javac.code.Type t
        start local 3 // com.sun.tools.javac.comp.Attr$ResultInfo resultInfo
         0: .line 153
            aload 2 /* t */
            getstatic com.sun.tools.javac.code.TypeTag.DEFERRED:Lcom/sun/tools/javac/code/TypeTag;
            invokevirtual com.sun.tools.javac.code.Type.hasTag:(Lcom/sun/tools/javac/code/TypeTag;)Z
            ifeq 2
         1: .line 154
            aload 2 /* t */
            checkcast com.sun.tools.javac.comp.DeferredAttr$DeferredType
            aload 3 /* resultInfo */
            invokevirtual com.sun.tools.javac.comp.DeferredAttr$DeferredType.check:(Lcom/sun/tools/javac/comp/Attr$ResultInfo;)Lcom/sun/tools/javac/code/Type;
            areturn
         2: .line 156
      StackMap locals:
      StackMap stack:
            aload 3 /* resultInfo */
            aload 1 /* pos */
            aload 2 /* t */
            invokevirtual com.sun.tools.javac.comp.Attr$ResultInfo.check:(Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticPosition;Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
            areturn
        end local 3 // com.sun.tools.javac.comp.Attr$ResultInfo resultInfo
        end local 2 // com.sun.tools.javac.code.Type t
        end local 1 // com.sun.tools.javac.util.JCDiagnostic$DiagnosticPosition pos
        end local 0 // com.sun.tools.javac.comp.ArgumentAttr this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    3     0        this  Lcom/sun/tools/javac/comp/ArgumentAttr;
            0    3     1         pos  Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticPosition;
            0    3     2           t  Lcom/sun/tools/javac/code/Type;
            0    3     3  resultInfo  Lcom/sun/tools/javac/comp/Attr$ResultInfo;
    MethodParameters:
            Name  Flags
      pos         
      t           
      resultInfo  

  com.sun.tools.javac.comp.ArgumentAttr$LocalCacheContext withLocalCacheContext();
    descriptor: ()Lcom/sun/tools/javac/comp/ArgumentAttr$LocalCacheContext;
    flags: (0x0000) 
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // com.sun.tools.javac.comp.ArgumentAttr this
         0: .line 166
            new com.sun.tools.javac.comp.ArgumentAttr$LocalCacheContext
            dup
            aload 0 /* this */
            invokespecial com.sun.tools.javac.comp.ArgumentAttr$LocalCacheContext.<init>:(Lcom/sun/tools/javac/comp/ArgumentAttr;)V
            areturn
        end local 0 // com.sun.tools.javac.comp.ArgumentAttr this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/javac/comp/ArgumentAttr;

  com.sun.tools.javac.code.Type attribArg(com.sun.tools.javac.tree.JCTree, com.sun.tools.javac.comp.Env<com.sun.tools.javac.comp.AttrContext>);
    descriptor: (Lcom/sun/tools/javac/tree/JCTree;Lcom/sun/tools/javac/comp/Env;)Lcom/sun/tools/javac/code/Type;
    flags: (0x0000) 
    Code:
      stack=2, locals=6, args_size=3
        start local 0 // com.sun.tools.javac.comp.ArgumentAttr this
        start local 1 // com.sun.tools.javac.tree.JCTree tree
        start local 2 // com.sun.tools.javac.comp.Env env
         0: .line 190
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.ArgumentAttr.env:Lcom/sun/tools/javac/comp/Env;
            astore 3 /* prevEnv */
        start local 3 // com.sun.tools.javac.comp.Env prevEnv
         1: .line 192
            aload 0 /* this */
            aload 2 /* env */
            putfield com.sun.tools.javac.comp.ArgumentAttr.env:Lcom/sun/tools/javac/comp/Env;
         2: .line 193
            aload 1 /* tree */
            aload 0 /* this */
            invokevirtual com.sun.tools.javac.tree.JCTree.accept:(Lcom/sun/tools/javac/tree/JCTree$Visitor;)V
         3: .line 194
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.ArgumentAttr.result:Lcom/sun/tools/javac/code/Type;
            astore 5
         4: .line 196
            aload 0 /* this */
            aload 3 /* prevEnv */
            putfield com.sun.tools.javac.comp.ArgumentAttr.env:Lcom/sun/tools/javac/comp/Env;
         5: .line 194
            aload 5
            areturn
         6: .line 195
      StackMap locals: com.sun.tools.javac.comp.ArgumentAttr com.sun.tools.javac.tree.JCTree com.sun.tools.javac.comp.Env com.sun.tools.javac.comp.Env
      StackMap stack: java.lang.Throwable
            astore 4
         7: .line 196
            aload 0 /* this */
            aload 3 /* prevEnv */
            putfield com.sun.tools.javac.comp.ArgumentAttr.env:Lcom/sun/tools/javac/comp/Env;
         8: .line 197
            aload 4
            athrow
        end local 3 // com.sun.tools.javac.comp.Env prevEnv
        end local 2 // com.sun.tools.javac.comp.Env env
        end local 1 // com.sun.tools.javac.tree.JCTree tree
        end local 0 // com.sun.tools.javac.comp.ArgumentAttr this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    9     0     this  Lcom/sun/tools/javac/comp/ArgumentAttr;
            0    9     1     tree  Lcom/sun/tools/javac/tree/JCTree;
            0    9     2      env  Lcom/sun/tools/javac/comp/Env<Lcom/sun/tools/javac/comp/AttrContext;>;
            1    9     3  prevEnv  Lcom/sun/tools/javac/comp/Env<Lcom/sun/tools/javac/comp/AttrContext;>;
      Exception table:
        from    to  target  type
           1     4       6  any
    Signature: (Lcom/sun/tools/javac/tree/JCTree;Lcom/sun/tools/javac/comp/Env<Lcom/sun/tools/javac/comp/AttrContext;>;)Lcom/sun/tools/javac/code/Type;
    MethodParameters:
      Name  Flags
      tree  
      env   

  public void visitTree(com.sun.tools.javac.tree.JCTree);
    descriptor: (Lcom/sun/tools/javac/tree/JCTree;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.tools.javac.comp.ArgumentAttr this
        start local 1 // com.sun.tools.javac.tree.JCTree that
         0: .line 203
            aload 1 /* that */
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.ArgumentAttr.attr:Lcom/sun/tools/javac/comp/Attr;
            invokevirtual com.sun.tools.javac.tree.JCTree.accept:(Lcom/sun/tools/javac/tree/JCTree$Visitor;)V
         1: .line 204
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.ArgumentAttr.attr:Lcom/sun/tools/javac/comp/Attr;
            getfield com.sun.tools.javac.comp.Attr.result:Lcom/sun/tools/javac/code/Type;
            putfield com.sun.tools.javac.comp.ArgumentAttr.result:Lcom/sun/tools/javac/code/Type;
         2: .line 205
            return
        end local 1 // com.sun.tools.javac.tree.JCTree that
        end local 0 // com.sun.tools.javac.comp.ArgumentAttr this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/sun/tools/javac/comp/ArgumentAttr;
            0    3     1  that  Lcom/sun/tools/javac/tree/JCTree;
    MethodParameters:
      Name  Flags
      that  

  <T extends com.sun.tools.javac.tree.JCTree$JCExpression, Z extends com.sun.tools.javac.comp.ArgumentAttr$ArgumentType<T>> void processArg(T, java.util.function.Function<T, Z>);
    descriptor: (Lcom/sun/tools/javac/tree/JCTree$JCExpression;Ljava/util/function/Function;)V
    flags: (0x0000) 
    Code:
      stack=6, locals=4, args_size=3
        start local 0 // com.sun.tools.javac.comp.ArgumentAttr this
        start local 1 // com.sun.tools.javac.tree.JCTree$JCExpression that
        start local 2 // java.util.function.Function argumentTypeFactory
         0: .line 214
            new com.sun.tools.javac.comp.ArgumentAttr$UniquePos
            dup
            aload 0 /* this */
            aload 1 /* that */
            invokespecial com.sun.tools.javac.comp.ArgumentAttr$UniquePos.<init>:(Lcom/sun/tools/javac/comp/ArgumentAttr;Lcom/sun/tools/javac/tree/JCTree;)V
            astore 3 /* pos */
        start local 3 // com.sun.tools.javac.comp.ArgumentAttr$UniquePos pos
         1: .line 215
            aload 0 /* this */
            aload 1 /* that */
            aload 0 /* this */
            aload 1 /* that */
            aload 3 /* pos */
            aload 2 /* argumentTypeFactory */
            invokedynamic get(Lcom/sun/tools/javac/comp/ArgumentAttr;Lcom/sun/tools/javac/tree/JCTree$JCExpression;Lcom/sun/tools/javac/comp/ArgumentAttr$UniquePos;Ljava/util/function/Function;)Ljava/util/function/Supplier;
              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;
                  com/sun/tools/javac/comp/ArgumentAttr.lambda$0(Lcom/sun/tools/javac/tree/JCTree$JCExpression;Lcom/sun/tools/javac/comp/ArgumentAttr$UniquePos;Ljava/util/function/Function;)Lcom/sun/tools/javac/comp/ArgumentAttr$ArgumentType; (7)
                  ()Lcom/sun/tools/javac/comp/ArgumentAttr$ArgumentType;
            invokevirtual com.sun.tools.javac.comp.ArgumentAttr.processArg:(Lcom/sun/tools/javac/tree/JCTree$JCExpression;Ljava/util/function/Supplier;)V
         2: .line 224
            return
        end local 3 // com.sun.tools.javac.comp.ArgumentAttr$UniquePos pos
        end local 2 // java.util.function.Function argumentTypeFactory
        end local 1 // com.sun.tools.javac.tree.JCTree$JCExpression that
        end local 0 // com.sun.tools.javac.comp.ArgumentAttr this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0    3     0                 this  Lcom/sun/tools/javac/comp/ArgumentAttr;
            0    3     1                 that  TT;
            0    3     2  argumentTypeFactory  Ljava/util/function/Function<TT;TZ;>;
            1    3     3                  pos  Lcom/sun/tools/javac/comp/ArgumentAttr$UniquePos;
    Signature: <T:Lcom/sun/tools/javac/tree/JCTree$JCExpression;Z:Lcom/sun/tools/javac/comp/ArgumentAttr$ArgumentType<TT;>;>(TT;Ljava/util/function/Function<TT;TZ;>;)V
    MethodParameters:
                     Name  Flags
      that                 
      argumentTypeFactory  

  <T extends com.sun.tools.javac.tree.JCTree$JCExpression, Z extends com.sun.tools.javac.comp.ArgumentAttr$ArgumentType<T>> void processArg(T, java.util.function.Supplier<Z>);
    descriptor: (Lcom/sun/tools/javac/tree/JCTree$JCExpression;Ljava/util/function/Supplier;)V
    flags: (0x0000) 
    Code:
      stack=5, locals=6, args_size=3
        start local 0 // com.sun.tools.javac.comp.ArgumentAttr this
        start local 1 // com.sun.tools.javac.tree.JCTree$JCExpression that
        start local 2 // java.util.function.Supplier argumentTypeFactory
         0: .line 232
            new com.sun.tools.javac.comp.ArgumentAttr$UniquePos
            dup
            aload 0 /* this */
            aload 1 /* that */
            invokespecial com.sun.tools.javac.comp.ArgumentAttr$UniquePos.<init>:(Lcom/sun/tools/javac/comp/ArgumentAttr;Lcom/sun/tools/javac/tree/JCTree;)V
            astore 3 /* pos */
        start local 3 // com.sun.tools.javac.comp.ArgumentAttr$UniquePos pos
         1: .line 233
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.ArgumentAttr.argumentTypeCache:Ljava/util/Map;
            aload 3 /* pos */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.sun.tools.javac.comp.ArgumentAttr$ArgumentType
            astore 4 /* cached */
        start local 4 // com.sun.tools.javac.comp.ArgumentAttr$ArgumentType cached
         2: .line 234
            aload 4 /* cached */
            ifnull 5
         3: .line 236
            aload 0 /* this */
            aload 1 /* that */
            aload 4 /* cached */
            aload 1 /* that */
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.ArgumentAttr.env:Lcom/sun/tools/javac/comp/Env;
            invokevirtual com.sun.tools.javac.comp.ArgumentAttr$ArgumentType.dup:(Lcom/sun/tools/javac/tree/JCTree$JCExpression;Lcom/sun/tools/javac/comp/Env;)Lcom/sun/tools/javac/comp/ArgumentAttr$ArgumentType;
            invokevirtual com.sun.tools.javac.comp.ArgumentAttr.setResult:(Lcom/sun/tools/javac/tree/JCTree$JCExpression;Lcom/sun/tools/javac/code/Type;)V
         4: .line 237
            goto 8
         5: .line 238
      StackMap locals: com.sun.tools.javac.comp.ArgumentAttr$UniquePos com.sun.tools.javac.comp.ArgumentAttr$ArgumentType
      StackMap stack:
            aload 2 /* argumentTypeFactory */
            invokeinterface java.util.function.Supplier.get:()Ljava/lang/Object;
            checkcast com.sun.tools.javac.comp.ArgumentAttr$ArgumentType
            astore 5 /* res */
        start local 5 // com.sun.tools.javac.comp.ArgumentAttr$ArgumentType res
         6: .line 239
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.ArgumentAttr.argumentTypeCache:Ljava/util/Map;
            aload 3 /* pos */
            aload 5 /* res */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
         7: .line 240
            aload 0 /* this */
            aload 1 /* that */
            aload 5 /* res */
            invokevirtual com.sun.tools.javac.comp.ArgumentAttr.setResult:(Lcom/sun/tools/javac/tree/JCTree$JCExpression;Lcom/sun/tools/javac/code/Type;)V
        end local 5 // com.sun.tools.javac.comp.ArgumentAttr$ArgumentType res
         8: .line 242
      StackMap locals:
      StackMap stack:
            return
        end local 4 // com.sun.tools.javac.comp.ArgumentAttr$ArgumentType cached
        end local 3 // com.sun.tools.javac.comp.ArgumentAttr$UniquePos pos
        end local 2 // java.util.function.Supplier argumentTypeFactory
        end local 1 // com.sun.tools.javac.tree.JCTree$JCExpression that
        end local 0 // com.sun.tools.javac.comp.ArgumentAttr this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0    9     0                 this  Lcom/sun/tools/javac/comp/ArgumentAttr;
            0    9     1                 that  TT;
            0    9     2  argumentTypeFactory  Ljava/util/function/Supplier<TZ;>;
            1    9     3                  pos  Lcom/sun/tools/javac/comp/ArgumentAttr$UniquePos;
            2    9     4               cached  TZ;
            6    8     5                  res  TZ;
    Signature: <T:Lcom/sun/tools/javac/tree/JCTree$JCExpression;Z:Lcom/sun/tools/javac/comp/ArgumentAttr$ArgumentType<TT;>;>(TT;Ljava/util/function/Supplier<TZ;>;)V
    MethodParameters:
                     Name  Flags
      that                 
      argumentTypeFactory  

  public void visitParens(com.sun.tools.javac.tree.JCTree$JCParens);
    descriptor: (Lcom/sun/tools/javac/tree/JCTree$JCParens;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // com.sun.tools.javac.comp.ArgumentAttr this
        start local 1 // com.sun.tools.javac.tree.JCTree$JCParens that
         0: .line 246
            aload 0 /* this */
            aload 1 /* that */
            aload 0 /* this */
            aload 1 /* that */
            invokedynamic apply(Lcom/sun/tools/javac/comp/ArgumentAttr;Lcom/sun/tools/javac/tree/JCTree$JCParens;)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/javac/comp/ArgumentAttr.lambda$1(Lcom/sun/tools/javac/tree/JCTree$JCParens;Lcom/sun/tools/javac/tree/JCTree$JCParens;)Lcom/sun/tools/javac/comp/ArgumentAttr$ParensType; (7)
                  (Lcom/sun/tools/javac/tree/JCTree$JCParens;)Lcom/sun/tools/javac/comp/ArgumentAttr$ParensType;
            invokevirtual com.sun.tools.javac.comp.ArgumentAttr.processArg:(Lcom/sun/tools/javac/tree/JCTree$JCExpression;Ljava/util/function/Function;)V
         1: .line 247
            return
        end local 1 // com.sun.tools.javac.tree.JCTree$JCParens that
        end local 0 // com.sun.tools.javac.comp.ArgumentAttr this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/sun/tools/javac/comp/ArgumentAttr;
            0    2     1  that  Lcom/sun/tools/javac/tree/JCTree$JCParens;
    MethodParameters:
      Name  Flags
      that  

  public void visitConditional(com.sun.tools.javac.tree.JCTree$JCConditional);
    descriptor: (Lcom/sun/tools/javac/tree/JCTree$JCConditional;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // com.sun.tools.javac.comp.ArgumentAttr this
        start local 1 // com.sun.tools.javac.tree.JCTree$JCConditional that
         0: .line 251
            aload 0 /* this */
            aload 1 /* that */
            aload 0 /* this */
            aload 1 /* that */
            invokedynamic apply(Lcom/sun/tools/javac/comp/ArgumentAttr;Lcom/sun/tools/javac/tree/JCTree$JCConditional;)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/javac/comp/ArgumentAttr.lambda$2(Lcom/sun/tools/javac/tree/JCTree$JCConditional;Lcom/sun/tools/javac/tree/JCTree$JCConditional;)Lcom/sun/tools/javac/comp/ArgumentAttr$ConditionalType; (7)
                  (Lcom/sun/tools/javac/tree/JCTree$JCConditional;)Lcom/sun/tools/javac/comp/ArgumentAttr$ConditionalType;
            invokevirtual com.sun.tools.javac.comp.ArgumentAttr.processArg:(Lcom/sun/tools/javac/tree/JCTree$JCExpression;Ljava/util/function/Function;)V
         1: .line 252
            return
        end local 1 // com.sun.tools.javac.tree.JCTree$JCConditional that
        end local 0 // com.sun.tools.javac.comp.ArgumentAttr this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/sun/tools/javac/comp/ArgumentAttr;
            0    2     1  that  Lcom/sun/tools/javac/tree/JCTree$JCConditional;
    MethodParameters:
      Name  Flags
      that  

  public void visitReference(com.sun.tools.javac.tree.JCTree$JCMemberReference);
    descriptor: (Lcom/sun/tools/javac/tree/JCTree$JCMemberReference;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=7, args_size=2
        start local 0 // com.sun.tools.javac.comp.ArgumentAttr this
        start local 1 // com.sun.tools.javac.tree.JCTree$JCMemberReference tree
         0: .line 257
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.ArgumentAttr.env:Lcom/sun/tools/javac/comp/Env;
            aload 1 /* tree */
            invokevirtual com.sun.tools.javac.comp.Env.dup:(Lcom/sun/tools/javac/tree/JCTree;)Lcom/sun/tools/javac/comp/Env;
            astore 2 /* localEnv */
        start local 2 // com.sun.tools.javac.comp.Env localEnv
         1: .line 259
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.ArgumentAttr.deferredAttr:Lcom/sun/tools/javac/comp/DeferredAttr;
            aload 1 /* tree */
            invokevirtual com.sun.tools.javac.tree.JCTree$JCMemberReference.getQualifierExpression:()Lcom/sun/tools/javac/tree/JCTree$JCExpression;
            aload 2 /* localEnv */
         2: .line 260
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.ArgumentAttr.attr:Lcom/sun/tools/javac/comp/Attr;
            aload 1 /* tree */
            invokevirtual com.sun.tools.javac.comp.Attr.memberReferenceQualifierResult:(Lcom/sun/tools/javac/tree/JCTree$JCMemberReference;)Lcom/sun/tools/javac/comp/Attr$ResultInfo;
         3: .line 261
            aload 0 /* this */
            invokevirtual com.sun.tools.javac.comp.ArgumentAttr.withLocalCacheContext:()Lcom/sun/tools/javac/comp/ArgumentAttr$LocalCacheContext;
         4: .line 259
            invokevirtual com.sun.tools.javac.comp.DeferredAttr.attribSpeculative:(Lcom/sun/tools/javac/tree/JCTree;Lcom/sun/tools/javac/comp/Env;Lcom/sun/tools/javac/comp/Attr$ResultInfo;Lcom/sun/tools/javac/comp/ArgumentAttr$LocalCacheContext;)Lcom/sun/tools/javac/tree/JCTree;
            checkcast com.sun.tools.javac.tree.JCTree$JCExpression
            astore 3 /* exprTree */
        start local 3 // com.sun.tools.javac.tree.JCTree$JCExpression exprTree
         5: .line 262
            new com.sun.tools.javac.tree.TreeCopier
            dup
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.ArgumentAttr.attr:Lcom/sun/tools/javac/comp/Attr;
            getfield com.sun.tools.javac.comp.Attr.make:Lcom/sun/tools/javac/tree/TreeMaker;
            invokespecial com.sun.tools.javac.tree.TreeCopier.<init>:(Lcom/sun/tools/javac/tree/TreeMaker;)V
            aload 1 /* tree */
            invokevirtual com.sun.tools.javac.tree.TreeCopier.copy:(Lcom/sun/tools/javac/tree/JCTree;)Lcom/sun/tools/javac/tree/JCTree;
            checkcast com.sun.tools.javac.tree.JCTree$JCMemberReference
            astore 4 /* mref2 */
        start local 4 // com.sun.tools.javac.tree.JCTree$JCMemberReference mref2
         6: .line 263
            aload 4 /* mref2 */
            aload 3 /* exprTree */
            putfield com.sun.tools.javac.tree.JCTree$JCMemberReference.expr:Lcom/sun/tools/javac/tree/JCTree$JCExpression;
         7: .line 264
            aload 3 /* exprTree */
            invokestatic com.sun.tools.javac.tree.TreeInfo.symbol:(Lcom/sun/tools/javac/tree/JCTree;)Lcom/sun/tools/javac/code/Symbol;
            astore 5 /* lhsSym */
        start local 5 // com.sun.tools.javac.code.Symbol lhsSym
         8: .line 265
            aload 2 /* localEnv */
            getfield com.sun.tools.javac.comp.Env.info:Ljava/lang/Object;
            checkcast com.sun.tools.javac.comp.AttrContext
            aload 5 /* lhsSym */
            ifnull 9
            aload 5 /* lhsSym */
            getfield com.sun.tools.javac.code.Symbol.name:Lcom/sun/tools/javac/util/Name;
            aload 5 /* lhsSym */
            getfield com.sun.tools.javac.code.Symbol.name:Lcom/sun/tools/javac/util/Name;
            getfield com.sun.tools.javac.util.Name.table:Lcom/sun/tools/javac/util/Name$Table;
            getfield com.sun.tools.javac.util.Name$Table.names:Lcom/sun/tools/javac/util/Names;
            getfield com.sun.tools.javac.util.Names._super:Lcom/sun/tools/javac/util/Name;
            if_acmpne 9
            iconst_1
            goto 10
      StackMap locals: com.sun.tools.javac.comp.ArgumentAttr com.sun.tools.javac.tree.JCTree$JCMemberReference com.sun.tools.javac.comp.Env com.sun.tools.javac.tree.JCTree$JCExpression com.sun.tools.javac.tree.JCTree$JCMemberReference com.sun.tools.javac.code.Symbol
      StackMap stack: com.sun.tools.javac.comp.AttrContext
         9: iconst_0
      StackMap locals: com.sun.tools.javac.comp.ArgumentAttr com.sun.tools.javac.tree.JCTree$JCMemberReference com.sun.tools.javac.comp.Env com.sun.tools.javac.tree.JCTree$JCExpression com.sun.tools.javac.tree.JCTree$JCMemberReference com.sun.tools.javac.code.Symbol
      StackMap stack: com.sun.tools.javac.comp.AttrContext int
        10: putfield com.sun.tools.javac.comp.AttrContext.selectSuper:Z
        11: .line 267
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.ArgumentAttr.attr:Lcom/sun/tools/javac/comp/Attr;
            getfield com.sun.tools.javac.comp.Attr.rs:Lcom/sun/tools/javac/comp/Resolve;
            aload 1 /* tree */
            aload 2 /* localEnv */
            aload 4 /* mref2 */
        12: .line 268
            aload 3 /* exprTree */
            getfield com.sun.tools.javac.tree.JCTree$JCExpression.type:Lcom/sun/tools/javac/code/Type;
            aload 1 /* tree */
            getfield com.sun.tools.javac.tree.JCTree$JCMemberReference.name:Lcom/sun/tools/javac/util/Name;
        13: .line 267
            invokevirtual com.sun.tools.javac.comp.Resolve.getMemberReference:(Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticPosition;Lcom/sun/tools/javac/comp/Env;Lcom/sun/tools/javac/tree/JCTree$JCMemberReference;Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/util/Name;)Lcom/sun/tools/javac/code/Symbol;
        14: .line 266
            astore 6 /* res */
        start local 6 // com.sun.tools.javac.code.Symbol res
        15: .line 269
            aload 6 /* res */
            getfield com.sun.tools.javac.code.Symbol.kind:Lcom/sun/tools/javac/code/Kinds$Kind;
            invokevirtual com.sun.tools.javac.code.Kinds$Kind.isResolutionError:()Z
            ifne 17
        16: .line 270
            aload 1 /* tree */
            aload 6 /* res */
            putfield com.sun.tools.javac.tree.JCTree$JCMemberReference.sym:Lcom/sun/tools/javac/code/Symbol;
        17: .line 272
      StackMap locals: com.sun.tools.javac.code.Symbol
      StackMap stack:
            aload 6 /* res */
            getfield com.sun.tools.javac.code.Symbol.kind:Lcom/sun/tools/javac/code/Kinds$Kind;
            invokevirtual com.sun.tools.javac.code.Kinds$Kind.isResolutionTargetError:()Z
            ifne 22
        18: .line 273
            aload 6 /* res */
            getfield com.sun.tools.javac.code.Symbol.type:Lcom/sun/tools/javac/code/Type;
            ifnull 19
            aload 6 /* res */
            getfield com.sun.tools.javac.code.Symbol.type:Lcom/sun/tools/javac/code/Type;
            getstatic com.sun.tools.javac.code.TypeTag.FORALL:Lcom/sun/tools/javac/code/TypeTag;
            invokevirtual com.sun.tools.javac.code.Type.hasTag:(Lcom/sun/tools/javac/code/TypeTag;)Z
            ifne 22
        19: .line 274
      StackMap locals:
      StackMap stack:
            aload 6 /* res */
            invokevirtual com.sun.tools.javac.code.Symbol.flags:()J
            ldc 17179869184
            land
            lconst_0
            lcmp
            ifne 22
        20: .line 275
            aload 3 /* exprTree */
            aload 1 /* tree */
            getfield com.sun.tools.javac.tree.JCTree$JCMemberReference.name:Lcom/sun/tools/javac/util/Name;
            getfield com.sun.tools.javac.util.Name.table:Lcom/sun/tools/javac/util/Name$Table;
            getfield com.sun.tools.javac.util.Name$Table.names:Lcom/sun/tools/javac/util/Names;
            invokestatic com.sun.tools.javac.tree.TreeInfo.isStaticSelector:(Lcom/sun/tools/javac/tree/JCTree;Lcom/sun/tools/javac/util/Names;)Z
            ifeq 24
        21: .line 276
            aload 3 /* exprTree */
            getfield com.sun.tools.javac.tree.JCTree$JCExpression.type:Lcom/sun/tools/javac/code/Type;
            invokevirtual com.sun.tools.javac.code.Type.isRaw:()Z
            ifeq 24
            aload 3 /* exprTree */
            getfield com.sun.tools.javac.tree.JCTree$JCExpression.type:Lcom/sun/tools/javac/code/Type;
            getstatic com.sun.tools.javac.code.TypeTag.ARRAY:Lcom/sun/tools/javac/code/TypeTag;
            invokevirtual com.sun.tools.javac.code.Type.hasTag:(Lcom/sun/tools/javac/code/TypeTag;)Z
            ifne 24
        22: .line 277
      StackMap locals:
      StackMap stack:
            aload 1 /* tree */
            getstatic com.sun.tools.javac.tree.JCTree$JCMemberReference$OverloadKind.OVERLOADED:Lcom/sun/tools/javac/tree/JCTree$JCMemberReference$OverloadKind;
            invokevirtual com.sun.tools.javac.tree.JCTree$JCMemberReference.setOverloadKind:(Lcom/sun/tools/javac/tree/JCTree$JCMemberReference$OverloadKind;)V
        23: .line 278
            goto 25
        24: .line 279
      StackMap locals:
      StackMap stack:
            aload 1 /* tree */
            getstatic com.sun.tools.javac.tree.JCTree$JCMemberReference$OverloadKind.UNOVERLOADED:Lcom/sun/tools/javac/tree/JCTree$JCMemberReference$OverloadKind;
            invokevirtual com.sun.tools.javac.tree.JCTree$JCMemberReference.setOverloadKind:(Lcom/sun/tools/javac/tree/JCTree$JCMemberReference$OverloadKind;)V
        25: .line 282
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* tree */
            new com.sun.tools.javac.comp.DeferredAttr$DeferredType
            dup
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.ArgumentAttr.deferredAttr:Lcom/sun/tools/javac/comp/DeferredAttr;
            dup
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            pop
            aload 1 /* tree */
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.ArgumentAttr.env:Lcom/sun/tools/javac/comp/Env;
            invokespecial com.sun.tools.javac.comp.DeferredAttr$DeferredType.<init>:(Lcom/sun/tools/javac/comp/DeferredAttr;Lcom/sun/tools/javac/tree/JCTree$JCExpression;Lcom/sun/tools/javac/comp/Env;)V
            invokevirtual com.sun.tools.javac.comp.ArgumentAttr.setResult:(Lcom/sun/tools/javac/tree/JCTree$JCExpression;Lcom/sun/tools/javac/code/Type;)V
        26: .line 283
            return
        end local 6 // com.sun.tools.javac.code.Symbol res
        end local 5 // com.sun.tools.javac.code.Symbol lhsSym
        end local 4 // com.sun.tools.javac.tree.JCTree$JCMemberReference mref2
        end local 3 // com.sun.tools.javac.tree.JCTree$JCExpression exprTree
        end local 2 // com.sun.tools.javac.comp.Env localEnv
        end local 1 // com.sun.tools.javac.tree.JCTree$JCMemberReference tree
        end local 0 // com.sun.tools.javac.comp.ArgumentAttr this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   27     0      this  Lcom/sun/tools/javac/comp/ArgumentAttr;
            0   27     1      tree  Lcom/sun/tools/javac/tree/JCTree$JCMemberReference;
            1   27     2  localEnv  Lcom/sun/tools/javac/comp/Env<Lcom/sun/tools/javac/comp/AttrContext;>;
            5   27     3  exprTree  Lcom/sun/tools/javac/tree/JCTree$JCExpression;
            6   27     4     mref2  Lcom/sun/tools/javac/tree/JCTree$JCMemberReference;
            8   27     5    lhsSym  Lcom/sun/tools/javac/code/Symbol;
           15   27     6       res  Lcom/sun/tools/javac/code/Symbol;
    MethodParameters:
      Name  Flags
      tree  

  public void visitLambda(com.sun.tools.javac.tree.JCTree$JCLambda);
    descriptor: (Lcom/sun/tools/javac/tree/JCTree$JCLambda;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=2, args_size=2
        start local 0 // com.sun.tools.javac.comp.ArgumentAttr this
        start local 1 // com.sun.tools.javac.tree.JCTree$JCLambda that
         0: .line 287
            aload 1 /* that */
            getfield com.sun.tools.javac.tree.JCTree$JCLambda.paramKind:Lcom/sun/tools/javac/tree/JCTree$JCLambda$ParameterKind;
            getstatic com.sun.tools.javac.tree.JCTree$JCLambda$ParameterKind.EXPLICIT:Lcom/sun/tools/javac/tree/JCTree$JCLambda$ParameterKind;
            if_acmpne 3
         1: .line 289
            aload 0 /* this */
            aload 1 /* that */
            aload 0 /* this */
            aload 1 /* that */
            invokedynamic get(Lcom/sun/tools/javac/comp/ArgumentAttr;Lcom/sun/tools/javac/tree/JCTree$JCLambda;)Ljava/util/function/Supplier;
              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;
                  com/sun/tools/javac/comp/ArgumentAttr.lambda$3(Lcom/sun/tools/javac/tree/JCTree$JCLambda;)Lcom/sun/tools/javac/comp/ArgumentAttr$ExplicitLambdaType; (7)
                  ()Lcom/sun/tools/javac/comp/ArgumentAttr$ExplicitLambdaType;
            invokevirtual com.sun.tools.javac.comp.ArgumentAttr.processArg:(Lcom/sun/tools/javac/tree/JCTree$JCExpression;Ljava/util/function/Supplier;)V
         2: .line 294
            goto 4
         3: .line 296
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* that */
            new com.sun.tools.javac.comp.DeferredAttr$DeferredType
            dup
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.ArgumentAttr.deferredAttr:Lcom/sun/tools/javac/comp/DeferredAttr;
            dup
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            pop
            aload 1 /* that */
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.ArgumentAttr.env:Lcom/sun/tools/javac/comp/Env;
            invokespecial com.sun.tools.javac.comp.DeferredAttr$DeferredType.<init>:(Lcom/sun/tools/javac/comp/DeferredAttr;Lcom/sun/tools/javac/tree/JCTree$JCExpression;Lcom/sun/tools/javac/comp/Env;)V
            invokevirtual com.sun.tools.javac.comp.ArgumentAttr.setResult:(Lcom/sun/tools/javac/tree/JCTree$JCExpression;Lcom/sun/tools/javac/code/Type;)V
         4: .line 298
      StackMap locals:
      StackMap stack:
            return
        end local 1 // com.sun.tools.javac.tree.JCTree$JCLambda that
        end local 0 // com.sun.tools.javac.comp.ArgumentAttr this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lcom/sun/tools/javac/comp/ArgumentAttr;
            0    5     1  that  Lcom/sun/tools/javac/tree/JCTree$JCLambda;
    MethodParameters:
      Name  Flags
      that  

  public void visitApply(com.sun.tools.javac.tree.JCTree$JCMethodInvocation);
    descriptor: (Lcom/sun/tools/javac/tree/JCTree$JCMethodInvocation;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=2, args_size=2
        start local 0 // com.sun.tools.javac.comp.ArgumentAttr this
        start local 1 // com.sun.tools.javac.tree.JCTree$JCMethodInvocation that
         0: .line 302
            aload 1 /* that */
            invokevirtual com.sun.tools.javac.tree.JCTree$JCMethodInvocation.getTypeArguments:()Lcom/sun/tools/javac/util/List;
            invokevirtual com.sun.tools.javac.util.List.isEmpty:()Z
            ifeq 3
         1: .line 303
            aload 0 /* this */
            aload 1 /* that */
            aload 0 /* this */
            aload 1 /* that */
            invokedynamic apply(Lcom/sun/tools/javac/comp/ArgumentAttr;Lcom/sun/tools/javac/tree/JCTree$JCMethodInvocation;)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/javac/comp/ArgumentAttr.lambda$4(Lcom/sun/tools/javac/tree/JCTree$JCMethodInvocation;Lcom/sun/tools/javac/tree/JCTree$JCMethodInvocation;)Lcom/sun/tools/javac/comp/ArgumentAttr$ResolvedMethodType; (7)
                  (Lcom/sun/tools/javac/tree/JCTree$JCMethodInvocation;)Lcom/sun/tools/javac/comp/ArgumentAttr$ResolvedMethodType;
            invokevirtual com.sun.tools.javac.comp.ArgumentAttr.processArg:(Lcom/sun/tools/javac/tree/JCTree$JCExpression;Ljava/util/function/Function;)V
         2: .line 304
            goto 4
         3: .line 306
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* that */
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.ArgumentAttr.attr:Lcom/sun/tools/javac/comp/Attr;
            aload 1 /* that */
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.ArgumentAttr.env:Lcom/sun/tools/javac/comp/Env;
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.ArgumentAttr.attr:Lcom/sun/tools/javac/comp/Attr;
            getfield com.sun.tools.javac.comp.Attr.unknownExprInfo:Lcom/sun/tools/javac/comp/Attr$ResultInfo;
            invokevirtual com.sun.tools.javac.comp.Attr.attribTree:(Lcom/sun/tools/javac/tree/JCTree;Lcom/sun/tools/javac/comp/Env;Lcom/sun/tools/javac/comp/Attr$ResultInfo;)Lcom/sun/tools/javac/code/Type;
            invokevirtual com.sun.tools.javac.comp.ArgumentAttr.setResult:(Lcom/sun/tools/javac/tree/JCTree$JCExpression;Lcom/sun/tools/javac/code/Type;)V
         4: .line 308
      StackMap locals:
      StackMap stack:
            return
        end local 1 // com.sun.tools.javac.tree.JCTree$JCMethodInvocation that
        end local 0 // com.sun.tools.javac.comp.ArgumentAttr this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lcom/sun/tools/javac/comp/ArgumentAttr;
            0    5     1  that  Lcom/sun/tools/javac/tree/JCTree$JCMethodInvocation;
    MethodParameters:
      Name  Flags
      that  

  public void visitNewClass(com.sun.tools.javac.tree.JCTree$JCNewClass);
    descriptor: (Lcom/sun/tools/javac/tree/JCTree$JCNewClass;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=2, args_size=2
        start local 0 // com.sun.tools.javac.comp.ArgumentAttr this
        start local 1 // com.sun.tools.javac.tree.JCTree$JCNewClass that
         0: .line 312
            aload 1 /* that */
            invokestatic com.sun.tools.javac.tree.TreeInfo.isDiamond:(Lcom/sun/tools/javac/tree/JCTree;)Z
            ifeq 3
         1: .line 313
            aload 0 /* this */
            aload 1 /* that */
            aload 0 /* this */
            aload 1 /* that */
            invokedynamic apply(Lcom/sun/tools/javac/comp/ArgumentAttr;Lcom/sun/tools/javac/tree/JCTree$JCNewClass;)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/javac/comp/ArgumentAttr.lambda$5(Lcom/sun/tools/javac/tree/JCTree$JCNewClass;Lcom/sun/tools/javac/tree/JCTree$JCNewClass;)Lcom/sun/tools/javac/comp/ArgumentAttr$ResolvedConstructorType; (7)
                  (Lcom/sun/tools/javac/tree/JCTree$JCNewClass;)Lcom/sun/tools/javac/comp/ArgumentAttr$ResolvedConstructorType;
            invokevirtual com.sun.tools.javac.comp.ArgumentAttr.processArg:(Lcom/sun/tools/javac/tree/JCTree$JCExpression;Ljava/util/function/Function;)V
         2: .line 314
            goto 4
         3: .line 316
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* that */
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.ArgumentAttr.attr:Lcom/sun/tools/javac/comp/Attr;
            aload 1 /* that */
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.ArgumentAttr.env:Lcom/sun/tools/javac/comp/Env;
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.ArgumentAttr.attr:Lcom/sun/tools/javac/comp/Attr;
            getfield com.sun.tools.javac.comp.Attr.unknownExprInfo:Lcom/sun/tools/javac/comp/Attr$ResultInfo;
            invokevirtual com.sun.tools.javac.comp.Attr.attribTree:(Lcom/sun/tools/javac/tree/JCTree;Lcom/sun/tools/javac/comp/Env;Lcom/sun/tools/javac/comp/Attr$ResultInfo;)Lcom/sun/tools/javac/code/Type;
            invokevirtual com.sun.tools.javac.comp.ArgumentAttr.setResult:(Lcom/sun/tools/javac/tree/JCTree$JCExpression;Lcom/sun/tools/javac/code/Type;)V
         4: .line 318
      StackMap locals:
      StackMap stack:
            return
        end local 1 // com.sun.tools.javac.tree.JCTree$JCNewClass that
        end local 0 // com.sun.tools.javac.comp.ArgumentAttr this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lcom/sun/tools/javac/comp/ArgumentAttr;
            0    5     1  that  Lcom/sun/tools/javac/tree/JCTree$JCNewClass;
    MethodParameters:
      Name  Flags
      that  

  private com.sun.tools.javac.comp.ArgumentAttr$ArgumentType lambda$0(com.sun.tools.javac.tree.JCTree$JCExpression, com.sun.tools.javac.comp.ArgumentAttr$UniquePos, java.util.function.Function);
    descriptor: (Lcom/sun/tools/javac/tree/JCTree$JCExpression;Lcom/sun/tools/javac/comp/ArgumentAttr$UniquePos;Ljava/util/function/Function;)Lcom/sun/tools/javac/comp/ArgumentAttr$ArgumentType;
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=8, locals=5, args_size=4
        start local 0 // com.sun.tools.javac.comp.ArgumentAttr this
         0: .line 216
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.ArgumentAttr.deferredAttr:Lcom/sun/tools/javac/comp/DeferredAttr;
            aload 1
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.ArgumentAttr.env:Lcom/sun/tools/javac/comp/Env;
            new com.sun.tools.javac.comp.ArgumentAttr$2
            dup
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.ArgumentAttr.attr:Lcom/sun/tools/javac/comp/Attr;
            dup
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            pop
            aload 2
            invokespecial com.sun.tools.javac.comp.ArgumentAttr$2.<init>:(Lcom/sun/tools/javac/comp/ArgumentAttr;Lcom/sun/tools/javac/comp/Attr;Lcom/sun/tools/javac/comp/ArgumentAttr$UniquePos;)V
            invokevirtual com.sun.tools.javac.comp.DeferredAttr.attribSpeculative:(Lcom/sun/tools/javac/tree/JCTree;Lcom/sun/tools/javac/comp/Env;Lcom/sun/tools/javac/comp/Attr$ResultInfo;)Lcom/sun/tools/javac/tree/JCTree;
            checkcast com.sun.tools.javac.tree.JCTree$JCExpression
            astore 4 /* speculativeTree */
        start local 4 // com.sun.tools.javac.tree.JCTree$JCExpression speculativeTree
         1: .line 222
            aload 3
            aload 4 /* speculativeTree */
            invokeinterface java.util.function.Function.apply:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast com.sun.tools.javac.comp.ArgumentAttr$ArgumentType
            areturn
        end local 4 // com.sun.tools.javac.tree.JCTree$JCExpression speculativeTree
        end local 0 // com.sun.tools.javac.comp.ArgumentAttr this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    2     0             this  Lcom/sun/tools/javac/comp/ArgumentAttr;
            1    2     4  speculativeTree  TT;

  private com.sun.tools.javac.comp.ArgumentAttr$ParensType lambda$1(com.sun.tools.javac.tree.JCTree$JCParens, com.sun.tools.javac.tree.JCTree$JCParens);
    descriptor: (Lcom/sun/tools/javac/tree/JCTree$JCParens;Lcom/sun/tools/javac/tree/JCTree$JCParens;)Lcom/sun/tools/javac/comp/ArgumentAttr$ParensType;
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=6, locals=3, args_size=3
        start local 0 // com.sun.tools.javac.comp.ArgumentAttr this
        start local 2 // com.sun.tools.javac.tree.JCTree$JCParens speculativeTree
         0: .line 246
            new com.sun.tools.javac.comp.ArgumentAttr$ParensType
            dup
            aload 0 /* this */
            aload 1
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.ArgumentAttr.env:Lcom/sun/tools/javac/comp/Env;
            aload 2 /* speculativeTree */
            invokespecial com.sun.tools.javac.comp.ArgumentAttr$ParensType.<init>:(Lcom/sun/tools/javac/comp/ArgumentAttr;Lcom/sun/tools/javac/tree/JCTree$JCExpression;Lcom/sun/tools/javac/comp/Env;Lcom/sun/tools/javac/tree/JCTree$JCParens;)V
            areturn
        end local 2 // com.sun.tools.javac.tree.JCTree$JCParens speculativeTree
        end local 0 // com.sun.tools.javac.comp.ArgumentAttr this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    1     0             this  Lcom/sun/tools/javac/comp/ArgumentAttr;
            0    1     2  speculativeTree  Lcom/sun/tools/javac/tree/JCTree$JCParens;

  private com.sun.tools.javac.comp.ArgumentAttr$ConditionalType lambda$2(com.sun.tools.javac.tree.JCTree$JCConditional, com.sun.tools.javac.tree.JCTree$JCConditional);
    descriptor: (Lcom/sun/tools/javac/tree/JCTree$JCConditional;Lcom/sun/tools/javac/tree/JCTree$JCConditional;)Lcom/sun/tools/javac/comp/ArgumentAttr$ConditionalType;
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=6, locals=3, args_size=3
        start local 0 // com.sun.tools.javac.comp.ArgumentAttr this
        start local 2 // com.sun.tools.javac.tree.JCTree$JCConditional speculativeTree
         0: .line 251
            new com.sun.tools.javac.comp.ArgumentAttr$ConditionalType
            dup
            aload 0 /* this */
            aload 1
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.ArgumentAttr.env:Lcom/sun/tools/javac/comp/Env;
            aload 2 /* speculativeTree */
            invokespecial com.sun.tools.javac.comp.ArgumentAttr$ConditionalType.<init>:(Lcom/sun/tools/javac/comp/ArgumentAttr;Lcom/sun/tools/javac/tree/JCTree$JCExpression;Lcom/sun/tools/javac/comp/Env;Lcom/sun/tools/javac/tree/JCTree$JCConditional;)V
            areturn
        end local 2 // com.sun.tools.javac.tree.JCTree$JCConditional speculativeTree
        end local 0 // com.sun.tools.javac.comp.ArgumentAttr this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    1     0             this  Lcom/sun/tools/javac/comp/ArgumentAttr;
            0    1     2  speculativeTree  Lcom/sun/tools/javac/tree/JCTree$JCConditional;

  private com.sun.tools.javac.comp.ArgumentAttr$ExplicitLambdaType lambda$3(com.sun.tools.javac.tree.JCTree$JCLambda);
    descriptor: (Lcom/sun/tools/javac/tree/JCTree$JCLambda;)Lcom/sun/tools/javac/comp/ArgumentAttr$ExplicitLambdaType;
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=6, locals=3, args_size=2
        start local 0 // com.sun.tools.javac.comp.ArgumentAttr this
         0: .line 291
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.ArgumentAttr.deferredAttr:Lcom/sun/tools/javac/comp/DeferredAttr;
            aload 1
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.ArgumentAttr.env:Lcom/sun/tools/javac/comp/Env;
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.ArgumentAttr.attr:Lcom/sun/tools/javac/comp/Attr;
            getfield com.sun.tools.javac.comp.Attr.methodAttrInfo:Lcom/sun/tools/javac/comp/Attr$ResultInfo;
            invokevirtual com.sun.tools.javac.comp.DeferredAttr.attribSpeculativeLambda:(Lcom/sun/tools/javac/tree/JCTree$JCLambda;Lcom/sun/tools/javac/comp/Env;Lcom/sun/tools/javac/comp/Attr$ResultInfo;)Lcom/sun/tools/javac/tree/JCTree$JCLambda;
         1: .line 290
            astore 2 /* speculativeLambda */
        start local 2 // com.sun.tools.javac.tree.JCTree$JCLambda speculativeLambda
         2: .line 292
            new com.sun.tools.javac.comp.ArgumentAttr$ExplicitLambdaType
            dup
            aload 0 /* this */
            aload 1
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.ArgumentAttr.env:Lcom/sun/tools/javac/comp/Env;
            aload 2 /* speculativeLambda */
            invokespecial com.sun.tools.javac.comp.ArgumentAttr$ExplicitLambdaType.<init>:(Lcom/sun/tools/javac/comp/ArgumentAttr;Lcom/sun/tools/javac/tree/JCTree$JCLambda;Lcom/sun/tools/javac/comp/Env;Lcom/sun/tools/javac/tree/JCTree$JCLambda;)V
            areturn
        end local 2 // com.sun.tools.javac.tree.JCTree$JCLambda speculativeLambda
        end local 0 // com.sun.tools.javac.comp.ArgumentAttr this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    3     0               this  Lcom/sun/tools/javac/comp/ArgumentAttr;
            2    3     2  speculativeLambda  Lcom/sun/tools/javac/tree/JCTree$JCLambda;

  private com.sun.tools.javac.comp.ArgumentAttr$ResolvedMethodType lambda$4(com.sun.tools.javac.tree.JCTree$JCMethodInvocation, com.sun.tools.javac.tree.JCTree$JCMethodInvocation);
    descriptor: (Lcom/sun/tools/javac/tree/JCTree$JCMethodInvocation;Lcom/sun/tools/javac/tree/JCTree$JCMethodInvocation;)Lcom/sun/tools/javac/comp/ArgumentAttr$ResolvedMethodType;
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=6, locals=3, args_size=3
        start local 0 // com.sun.tools.javac.comp.ArgumentAttr this
        start local 2 // com.sun.tools.javac.tree.JCTree$JCMethodInvocation speculativeTree
         0: .line 303
            new com.sun.tools.javac.comp.ArgumentAttr$ResolvedMethodType
            dup
            aload 0 /* this */
            aload 1
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.ArgumentAttr.env:Lcom/sun/tools/javac/comp/Env;
            aload 2 /* speculativeTree */
            invokespecial com.sun.tools.javac.comp.ArgumentAttr$ResolvedMethodType.<init>:(Lcom/sun/tools/javac/comp/ArgumentAttr;Lcom/sun/tools/javac/tree/JCTree$JCExpression;Lcom/sun/tools/javac/comp/Env;Lcom/sun/tools/javac/tree/JCTree$JCMethodInvocation;)V
            areturn
        end local 2 // com.sun.tools.javac.tree.JCTree$JCMethodInvocation speculativeTree
        end local 0 // com.sun.tools.javac.comp.ArgumentAttr this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    1     0             this  Lcom/sun/tools/javac/comp/ArgumentAttr;
            0    1     2  speculativeTree  Lcom/sun/tools/javac/tree/JCTree$JCMethodInvocation;

  private com.sun.tools.javac.comp.ArgumentAttr$ResolvedConstructorType lambda$5(com.sun.tools.javac.tree.JCTree$JCNewClass, com.sun.tools.javac.tree.JCTree$JCNewClass);
    descriptor: (Lcom/sun/tools/javac/tree/JCTree$JCNewClass;Lcom/sun/tools/javac/tree/JCTree$JCNewClass;)Lcom/sun/tools/javac/comp/ArgumentAttr$ResolvedConstructorType;
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=6, locals=3, args_size=3
        start local 0 // com.sun.tools.javac.comp.ArgumentAttr this
        start local 2 // com.sun.tools.javac.tree.JCTree$JCNewClass speculativeTree
         0: .line 313
            new com.sun.tools.javac.comp.ArgumentAttr$ResolvedConstructorType
            dup
            aload 0 /* this */
            aload 1
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.ArgumentAttr.env:Lcom/sun/tools/javac/comp/Env;
            aload 2 /* speculativeTree */
            invokespecial com.sun.tools.javac.comp.ArgumentAttr$ResolvedConstructorType.<init>:(Lcom/sun/tools/javac/comp/ArgumentAttr;Lcom/sun/tools/javac/tree/JCTree$JCExpression;Lcom/sun/tools/javac/comp/Env;Lcom/sun/tools/javac/tree/JCTree$JCNewClass;)V
            areturn
        end local 2 // com.sun.tools.javac.tree.JCTree$JCNewClass speculativeTree
        end local 0 // com.sun.tools.javac.comp.ArgumentAttr this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    1     0             this  Lcom/sun/tools/javac/comp/ArgumentAttr;
            0    1     2  speculativeTree  Lcom/sun/tools/javac/tree/JCTree$JCNewClass;
}
SourceFile: "ArgumentAttr.java"
NestMembers:
  com.sun.tools.javac.comp.ArgumentAttr$1  com.sun.tools.javac.comp.ArgumentAttr$2  com.sun.tools.javac.comp.ArgumentAttr$3  com.sun.tools.javac.comp.ArgumentAttr$ArgumentType  com.sun.tools.javac.comp.ArgumentAttr$ConditionalType  com.sun.tools.javac.comp.ArgumentAttr$ExplicitLambdaType  com.sun.tools.javac.comp.ArgumentAttr$ExplicitLambdaType$1  com.sun.tools.javac.comp.ArgumentAttr$ExplicitLambdaType$2  com.sun.tools.javac.comp.ArgumentAttr$LocalCacheContext  com.sun.tools.javac.comp.ArgumentAttr$ParensType  com.sun.tools.javac.comp.ArgumentAttr$ResolvedConstructorType  com.sun.tools.javac.comp.ArgumentAttr$ResolvedMemberType  com.sun.tools.javac.comp.ArgumentAttr$ResolvedMethodType  com.sun.tools.javac.comp.ArgumentAttr$UniquePos
InnerClasses:
  public final Kind = com.sun.tools.javac.code.Kinds$Kind of com.sun.tools.javac.code.Kinds
  com.sun.tools.javac.comp.ArgumentAttr$2
  abstract ArgumentType = com.sun.tools.javac.comp.ArgumentAttr$ArgumentType of com.sun.tools.javac.comp.ArgumentAttr
  ConditionalType = com.sun.tools.javac.comp.ArgumentAttr$ConditionalType of com.sun.tools.javac.comp.ArgumentAttr
  ExplicitLambdaType = com.sun.tools.javac.comp.ArgumentAttr$ExplicitLambdaType of com.sun.tools.javac.comp.ArgumentAttr
  LocalCacheContext = com.sun.tools.javac.comp.ArgumentAttr$LocalCacheContext of com.sun.tools.javac.comp.ArgumentAttr
  ParensType = com.sun.tools.javac.comp.ArgumentAttr$ParensType of com.sun.tools.javac.comp.ArgumentAttr
  ResolvedConstructorType = com.sun.tools.javac.comp.ArgumentAttr$ResolvedConstructorType of com.sun.tools.javac.comp.ArgumentAttr
  abstract ResolvedMemberType = com.sun.tools.javac.comp.ArgumentAttr$ResolvedMemberType of com.sun.tools.javac.comp.ArgumentAttr
  ResolvedMethodType = com.sun.tools.javac.comp.ArgumentAttr$ResolvedMethodType of com.sun.tools.javac.comp.ArgumentAttr
  UniquePos = com.sun.tools.javac.comp.ArgumentAttr$UniquePos of com.sun.tools.javac.comp.ArgumentAttr
  ResultInfo = com.sun.tools.javac.comp.Attr$ResultInfo of com.sun.tools.javac.comp.Attr
  public DeferredType = com.sun.tools.javac.comp.DeferredAttr$DeferredType of com.sun.tools.javac.comp.DeferredAttr
  public JCConditional = com.sun.tools.javac.tree.JCTree$JCConditional of com.sun.tools.javac.tree.JCTree
  public abstract JCExpression = com.sun.tools.javac.tree.JCTree$JCExpression of com.sun.tools.javac.tree.JCTree
  public JCLambda = com.sun.tools.javac.tree.JCTree$JCLambda of com.sun.tools.javac.tree.JCTree
  public final ParameterKind = com.sun.tools.javac.tree.JCTree$JCLambda$ParameterKind of com.sun.tools.javac.tree.JCTree$JCLambda
  public JCMemberReference = com.sun.tools.javac.tree.JCTree$JCMemberReference of com.sun.tools.javac.tree.JCTree
  public final OverloadKind = com.sun.tools.javac.tree.JCTree$JCMemberReference$OverloadKind of com.sun.tools.javac.tree.JCTree$JCMemberReference
  public JCMethodInvocation = com.sun.tools.javac.tree.JCTree$JCMethodInvocation of com.sun.tools.javac.tree.JCTree
  public JCNewClass = com.sun.tools.javac.tree.JCTree$JCNewClass of com.sun.tools.javac.tree.JCTree
  public JCParens = com.sun.tools.javac.tree.JCTree$JCParens of com.sun.tools.javac.tree.JCTree
  public abstract Visitor = com.sun.tools.javac.tree.JCTree$Visitor of com.sun.tools.javac.tree.JCTree
  public Key = com.sun.tools.javac.util.Context$Key of com.sun.tools.javac.util.Context
  public abstract DiagnosticPosition = com.sun.tools.javac.util.JCDiagnostic$DiagnosticPosition of com.sun.tools.javac.util.JCDiagnostic
  public abstract Table = com.sun.tools.javac.util.Name$Table of com.sun.tools.javac.util.Name
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles