public class com.sun.tools.javac.comp.AttrRecover
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.sun.tools.javac.comp.AttrRecover
  super_class: java.lang.Object
{
  protected static final com.sun.tools.javac.util.Context$Key<com.sun.tools.javac.comp.AttrRecover> attrRepairKey;
    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/AttrRecover;>;

  final com.sun.tools.javac.comp.Attr attr;
    descriptor: Lcom/sun/tools/javac/comp/Attr;
    flags: (0x0010) ACC_FINAL

  final com.sun.tools.javac.comp.DeferredAttr deferredAttr;
    descriptor: Lcom/sun/tools/javac/comp/DeferredAttr;
    flags: (0x0010) ACC_FINAL

  final com.sun.tools.javac.util.Names names;
    descriptor: Lcom/sun/tools/javac/util/Names;
    flags: (0x0010) ACC_FINAL

  final com.sun.tools.javac.tree.TreeMaker make;
    descriptor: Lcom/sun/tools/javac/tree/TreeMaker;
    flags: (0x0010) ACC_FINAL

  final com.sun.tools.javac.code.Symtab syms;
    descriptor: Lcom/sun/tools/javac/code/Symtab;
    flags: (0x0010) ACC_FINAL

  final com.sun.tools.javac.code.Types types;
    descriptor: Lcom/sun/tools/javac/code/Types;
    flags: (0x0010) ACC_FINAL

  private final com.sun.tools.javac.util.ListBuffer<com.sun.tools.javac.comp.AttrRecover$RecoverTodo> recoveryTodo;
    descriptor: Lcom/sun/tools/javac/util/ListBuffer;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Lcom/sun/tools/javac/util/ListBuffer<Lcom/sun/tools/javac/comp/AttrRecover$RecoverTodo;>;

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=0, args_size=0
         0: .line 66
            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.AttrRecover.attrRepairKey:Lcom/sun/tools/javac/util/Context$Key;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public static com.sun.tools.javac.comp.AttrRecover instance(com.sun.tools.javac.util.Context);
    descriptor: (Lcom/sun/tools/javac/util/Context;)Lcom/sun/tools/javac/comp/AttrRecover;
    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 76
            aload 0 /* context */
            getstatic com.sun.tools.javac.comp.AttrRecover.attrRepairKey: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.AttrRecover
            astore 1 /* instance */
        start local 1 // com.sun.tools.javac.comp.AttrRecover instance
         1: .line 77
            aload 1 /* instance */
            ifnonnull 3
         2: .line 78
            new com.sun.tools.javac.comp.AttrRecover
            dup
            aload 0 /* context */
            invokespecial com.sun.tools.javac.comp.AttrRecover.<init>:(Lcom/sun/tools/javac/util/Context;)V
            astore 1 /* instance */
         3: .line 79
      StackMap locals: com.sun.tools.javac.comp.AttrRecover
      StackMap stack:
            aload 1 /* instance */
            areturn
        end local 1 // com.sun.tools.javac.comp.AttrRecover 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/AttrRecover;
    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.AttrRecover this
        start local 1 // com.sun.tools.javac.util.Context context
         0: .line 82
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 93
            aload 0 /* this */
            new com.sun.tools.javac.util.ListBuffer
            dup
            invokespecial com.sun.tools.javac.util.ListBuffer.<init>:()V
            putfield com.sun.tools.javac.comp.AttrRecover.recoveryTodo:Lcom/sun/tools/javac/util/ListBuffer;
         2: .line 83
            aload 1 /* context */
            getstatic com.sun.tools.javac.comp.AttrRecover.attrRepairKey: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 85
            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.AttrRecover.attr:Lcom/sun/tools/javac/comp/Attr;
         4: .line 86
            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.AttrRecover.deferredAttr:Lcom/sun/tools/javac/comp/DeferredAttr;
         5: .line 87
            aload 0 /* this */
            aload 1 /* context */
            invokestatic com.sun.tools.javac.util.Names.instance:(Lcom/sun/tools/javac/util/Context;)Lcom/sun/tools/javac/util/Names;
            putfield com.sun.tools.javac.comp.AttrRecover.names:Lcom/sun/tools/javac/util/Names;
         6: .line 88
            aload 0 /* this */
            aload 1 /* context */
            invokestatic com.sun.tools.javac.tree.TreeMaker.instance:(Lcom/sun/tools/javac/util/Context;)Lcom/sun/tools/javac/tree/TreeMaker;
            putfield com.sun.tools.javac.comp.AttrRecover.make:Lcom/sun/tools/javac/tree/TreeMaker;
         7: .line 89
            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.AttrRecover.syms:Lcom/sun/tools/javac/code/Symtab;
         8: .line 90
            aload 0 /* this */
            aload 1 /* context */
            invokestatic com.sun.tools.javac.code.Types.instance:(Lcom/sun/tools/javac/util/Context;)Lcom/sun/tools/javac/code/Types;
            putfield com.sun.tools.javac.comp.AttrRecover.types:Lcom/sun/tools/javac/code/Types;
         9: .line 91
            return
        end local 1 // com.sun.tools.javac.util.Context context
        end local 0 // com.sun.tools.javac.comp.AttrRecover this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   10     0     this  Lcom/sun/tools/javac/comp/AttrRecover;
            0   10     1  context  Lcom/sun/tools/javac/util/Context;
    MethodParameters:
         Name  Flags
      context  

  public void doRecovery();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=10, locals=14, args_size=1
        start local 0 // com.sun.tools.javac.comp.AttrRecover this
         0: .line 96
            goto 64
         1: .line 97
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.AttrRecover.recoveryTodo:Lcom/sun/tools/javac/util/ListBuffer;
            invokevirtual com.sun.tools.javac.util.ListBuffer.remove:()Ljava/lang/Object;
            checkcast com.sun.tools.javac.comp.AttrRecover$RecoverTodo
            astore 1 /* todo */
        start local 1 // com.sun.tools.javac.comp.AttrRecover$RecoverTodo todo
         2: .line 98
            new com.sun.tools.javac.util.ListBuffer
            dup
            invokespecial com.sun.tools.javac.util.ListBuffer.<init>:()V
            astore 2 /* rollback */
        start local 2 // com.sun.tools.javac.util.ListBuffer rollback
         3: .line 99
            iconst_0
            istore 3 /* repaired */
        start local 3 // boolean repaired
         4: .line 100
            aload 1 /* todo */
            getfield com.sun.tools.javac.comp.AttrRecover$RecoverTodo.env:Lcom/sun/tools/javac/comp/Env;
            getfield com.sun.tools.javac.comp.Env.tree:Lcom/sun/tools/javac/tree/JCTree;
            getstatic com.sun.tools.javac.tree.JCTree$Tag.APPLY:Lcom/sun/tools/javac/tree/JCTree$Tag;
            invokevirtual com.sun.tools.javac.tree.JCTree.hasTag:(Lcom/sun/tools/javac/tree/JCTree$Tag;)Z
            ifeq 49
         5: .line 101
            aload 1 /* todo */
            getfield com.sun.tools.javac.comp.AttrRecover$RecoverTodo.env:Lcom/sun/tools/javac/comp/Env;
            getfield com.sun.tools.javac.comp.Env.tree:Lcom/sun/tools/javac/tree/JCTree;
            checkcast com.sun.tools.javac.tree.JCTree$JCMethodInvocation
            astore 4 /* mit */
        start local 4 // com.sun.tools.javac.tree.JCTree$JCMethodInvocation mit
         6: .line 102
            aload 1 /* todo */
            getfield com.sun.tools.javac.comp.AttrRecover$RecoverTodo.candSym:Lcom/sun/tools/javac/code/Symbol;
            invokevirtual com.sun.tools.javac.code.Symbol.flags:()J
            ldc 17179869184
            land
            lconst_0
            lcmp
            ifeq 7
            iconst_1
            goto 8
      StackMap locals: com.sun.tools.javac.comp.AttrRecover com.sun.tools.javac.comp.AttrRecover$RecoverTodo com.sun.tools.javac.util.ListBuffer int com.sun.tools.javac.tree.JCTree$JCMethodInvocation
      StackMap stack:
         7: iconst_0
      StackMap locals:
      StackMap stack: int
         8: istore 5 /* vararg */
        start local 5 // boolean vararg
         9: .line 103
            iload 5 /* vararg */
            ifne 12
        10: .line 104
            aload 4 /* mit */
            getfield com.sun.tools.javac.tree.JCTree$JCMethodInvocation.args:Lcom/sun/tools/javac/util/List;
            invokevirtual com.sun.tools.javac.util.List.length:()I
            aload 1 /* todo */
            getfield com.sun.tools.javac.comp.AttrRecover$RecoverTodo.candSym:Lcom/sun/tools/javac/code/Symbol;
            getfield com.sun.tools.javac.code.Symbol.type:Lcom/sun/tools/javac/code/Type;
            invokevirtual com.sun.tools.javac.code.Type.getParameterTypes:()Lcom/sun/tools/javac/util/List;
            invokevirtual com.sun.tools.javac.util.List.length:()I
            if_icmple 12
        11: .line 105
            goto 49
        12: .line 107
      StackMap locals: int
      StackMap stack:
            aload 4 /* mit */
            getfield com.sun.tools.javac.tree.JCTree$JCMethodInvocation.args:Lcom/sun/tools/javac/util/List;
            astore 6 /* args */
        start local 6 // com.sun.tools.javac.util.List args
        13: .line 108
            aload 1 /* todo */
            getfield com.sun.tools.javac.comp.AttrRecover$RecoverTodo.candSym:Lcom/sun/tools/javac/code/Symbol;
            getfield com.sun.tools.javac.code.Symbol.type:Lcom/sun/tools/javac/code/Type;
            invokevirtual com.sun.tools.javac.code.Type.getParameterTypes:()Lcom/sun/tools/javac/util/List;
            astore 7 /* formals */
        start local 7 // com.sun.tools.javac.util.List formals
        14: .line 109
            goto 41
        15: .line 110
      StackMap locals: com.sun.tools.javac.util.List com.sun.tools.javac.util.List
      StackMap stack:
            aload 6 /* args */
            getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
            checkcast com.sun.tools.javac.tree.JCTree$JCExpression
            astore 8 /* arg */
        start local 8 // com.sun.tools.javac.tree.JCTree$JCExpression arg
        16: .line 111
            aload 7 /* formals */
            getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
            invokevirtual com.sun.tools.javac.util.List.nonEmpty:()Z
            ifne 17
            iload 5 /* vararg */
            ifne 18
        17: .line 112
      StackMap locals: com.sun.tools.javac.tree.JCTree$JCExpression
      StackMap stack:
            aload 7 /* formals */
            getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
            checkcast com.sun.tools.javac.code.Type
            goto 19
      StackMap locals:
      StackMap stack:
        18: aload 7 /* formals */
            getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
            checkcast com.sun.tools.javac.code.Type$ArrayType
            getfield com.sun.tools.javac.code.Type$ArrayType.elemtype:Lcom/sun/tools/javac/code/Type;
        19: .line 111
      StackMap locals:
      StackMap stack: com.sun.tools.javac.code.Type
            astore 9 /* formal */
        start local 9 // com.sun.tools.javac.code.Type formal
        20: .line 113
            aload 8 /* arg */
            getstatic com.sun.tools.javac.tree.JCTree$Tag.LAMBDA:Lcom/sun/tools/javac/tree/JCTree$Tag;
            invokevirtual com.sun.tools.javac.tree.JCTree$JCExpression.hasTag:(Lcom/sun/tools/javac/tree/JCTree$Tag;)Z
            ifeq 38
        21: .line 114
            aload 8 /* arg */
            checkcast com.sun.tools.javac.tree.JCTree$JCLambda
            astore 10 /* lambda */
        start local 10 // com.sun.tools.javac.tree.JCTree$JCLambda lambda
        22: .line 115
            aload 10 /* lambda */
            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.IMPLICIT:Lcom/sun/tools/javac/tree/JCTree$JCLambda$ParameterKind;
            if_acmpne 27
        23: .line 116
            aload 10 /* lambda */
            getfield com.sun.tools.javac.tree.JCTree$JCLambda.params:Lcom/sun/tools/javac/util/List;
            invokevirtual com.sun.tools.javac.util.List.iterator:()Ljava/util/Iterator;
            astore 12
            goto 26
      StackMap locals: com.sun.tools.javac.comp.AttrRecover com.sun.tools.javac.comp.AttrRecover$RecoverTodo com.sun.tools.javac.util.ListBuffer int com.sun.tools.javac.tree.JCTree$JCMethodInvocation int com.sun.tools.javac.util.List com.sun.tools.javac.util.List com.sun.tools.javac.tree.JCTree$JCExpression com.sun.tools.javac.code.Type com.sun.tools.javac.tree.JCTree$JCLambda top java.util.Iterator
      StackMap stack:
        24: aload 12
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.sun.tools.javac.tree.JCTree$JCVariableDecl
            astore 11 /* var */
        start local 11 // com.sun.tools.javac.tree.JCTree$JCVariableDecl var
        25: .line 117
            aload 11 /* var */
            aconst_null
            putfield com.sun.tools.javac.tree.JCTree$JCVariableDecl.vartype:Lcom/sun/tools/javac/tree/JCTree$JCExpression;
        end local 11 // com.sun.tools.javac.tree.JCTree$JCVariableDecl var
        26: .line 116
      StackMap locals:
      StackMap stack:
            aload 12
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 24
        27: .line 120
      StackMap locals: com.sun.tools.javac.comp.AttrRecover com.sun.tools.javac.comp.AttrRecover$RecoverTodo com.sun.tools.javac.util.ListBuffer int com.sun.tools.javac.tree.JCTree$JCMethodInvocation int com.sun.tools.javac.util.List com.sun.tools.javac.util.List com.sun.tools.javac.tree.JCTree$JCExpression com.sun.tools.javac.code.Type com.sun.tools.javac.tree.JCTree$JCLambda
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.AttrRecover.types:Lcom/sun/tools/javac/code/Types;
            aload 9 /* formal */
            invokevirtual com.sun.tools.javac.code.Types.isFunctionalInterface:(Lcom/sun/tools/javac/code/Type;)Z
            ifeq 37
        28: .line 121
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.AttrRecover.types:Lcom/sun/tools/javac/code/Types;
            aload 9 /* formal */
            invokevirtual com.sun.tools.javac.code.Types.findDescriptorType:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
            astore 11 /* functionalType */
        start local 11 // com.sun.tools.javac.code.Type functionalType
        29: .line 122
            aload 11 /* functionalType */
            invokevirtual com.sun.tools.javac.code.Type.getReturnType:()Lcom/sun/tools/javac/code/Type;
            getstatic com.sun.tools.javac.code.TypeTag.VOID:Lcom/sun/tools/javac/code/TypeTag;
            invokevirtual com.sun.tools.javac.code.Type.hasTag:(Lcom/sun/tools/javac/code/TypeTag;)Z
            istore 12 /* voidCompatible */
        start local 12 // boolean voidCompatible
        30: .line 123
            aload 10 /* lambda */
            new com.sun.tools.javac.comp.AttrRecover$1
            dup
            aload 0 /* this */
            iload 12 /* voidCompatible */
            aload 2 /* rollback */
            aload 10 /* lambda */
            invokespecial com.sun.tools.javac.comp.AttrRecover$1.<init>:(Lcom/sun/tools/javac/comp/AttrRecover;ZLcom/sun/tools/javac/util/ListBuffer;Lcom/sun/tools/javac/tree/JCTree$JCLambda;)V
        31: .line 158
            aload 10 /* lambda */
            getfield com.sun.tools.javac.tree.JCTree$JCLambda.body:Lcom/sun/tools/javac/tree/JCTree;
            invokevirtual com.sun.tools.javac.comp.AttrRecover$1.translate:(Lcom/sun/tools/javac/tree/JCTree;)Lcom/sun/tools/javac/tree/JCTree;
        32: .line 123
            putfield com.sun.tools.javac.tree.JCTree$JCLambda.body:Lcom/sun/tools/javac/tree/JCTree;
        33: .line 159
            iload 12 /* voidCompatible */
            ifne 37
        34: .line 160
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.AttrRecover.make:Lcom/sun/tools/javac/tree/TreeMaker;
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.AttrRecover.make:Lcom/sun/tools/javac/tree/TreeMaker;
            invokevirtual com.sun.tools.javac.tree.TreeMaker.Erroneous:()Lcom/sun/tools/javac/tree/JCTree$JCErroneous;
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.AttrRecover.syms:Lcom/sun/tools/javac/code/Symtab;
            getfield com.sun.tools.javac.code.Symtab.errType:Lcom/sun/tools/javac/code/Type;
            invokevirtual com.sun.tools.javac.tree.JCTree$JCErroneous.setType:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/tree/JCTree$JCExpression;
            invokevirtual com.sun.tools.javac.tree.TreeMaker.Return:(Lcom/sun/tools/javac/tree/JCTree$JCExpression;)Lcom/sun/tools/javac/tree/JCTree$JCReturn;
            astore 13 /* ret */
        start local 13 // com.sun.tools.javac.tree.JCTree$JCReturn ret
        35: .line 161
            aload 10 /* lambda */
            getfield com.sun.tools.javac.tree.JCTree$JCLambda.body:Lcom/sun/tools/javac/tree/JCTree;
            checkcast com.sun.tools.javac.tree.JCTree$JCBlock
            aload 10 /* lambda */
            getfield com.sun.tools.javac.tree.JCTree$JCLambda.body:Lcom/sun/tools/javac/tree/JCTree;
            checkcast com.sun.tools.javac.tree.JCTree$JCBlock
            getfield com.sun.tools.javac.tree.JCTree$JCBlock.stats:Lcom/sun/tools/javac/util/List;
            aload 13 /* ret */
            invokevirtual com.sun.tools.javac.util.List.append:(Ljava/lang/Object;)Lcom/sun/tools/javac/util/List;
            putfield com.sun.tools.javac.tree.JCTree$JCBlock.stats:Lcom/sun/tools/javac/util/List;
        36: .line 162
            aload 2 /* rollback */
            aload 10 /* lambda */
            aload 13 /* ret */
            invokedynamic run(Lcom/sun/tools/javac/tree/JCTree$JCLambda;Lcom/sun/tools/javac/tree/JCTree$JCReturn;)Ljava/lang/Runnable;
              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:
                  ()V
                  com/sun/tools/javac/comp/AttrRecover.lambda$0(Lcom/sun/tools/javac/tree/JCTree$JCLambda;Lcom/sun/tools/javac/tree/JCTree$JCReturn;)V (6)
                  ()V
            invokevirtual com.sun.tools.javac.util.ListBuffer.append:(Ljava/lang/Object;)Lcom/sun/tools/javac/util/ListBuffer;
            pop
        end local 13 // com.sun.tools.javac.tree.JCTree$JCReturn ret
        end local 12 // boolean voidCompatible
        end local 11 // com.sun.tools.javac.code.Type functionalType
        37: .line 167
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 3 /* repaired */
        end local 10 // com.sun.tools.javac.tree.JCTree$JCLambda lambda
        38: .line 169
      StackMap locals:
      StackMap stack:
            aload 6 /* args */
            getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
            astore 6 /* args */
        39: .line 170
            aload 7 /* formals */
            getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
            invokevirtual com.sun.tools.javac.util.List.nonEmpty:()Z
            ifne 40
            iload 5 /* vararg */
            ifne 41
        40: .line 171
      StackMap locals:
      StackMap stack:
            aload 7 /* formals */
            getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
            astore 7 /* formals */
        end local 9 // com.sun.tools.javac.code.Type formal
        end local 8 // com.sun.tools.javac.tree.JCTree$JCExpression arg
        41: .line 109
      StackMap locals:
      StackMap stack:
            aload 6 /* args */
            invokevirtual com.sun.tools.javac.util.List.nonEmpty:()Z
            ifeq 42
            aload 7 /* formals */
            invokevirtual com.sun.tools.javac.util.List.nonEmpty:()Z
            ifne 15
        42: .line 174
      StackMap locals:
      StackMap stack:
            aload 4 /* mit */
            getfield com.sun.tools.javac.tree.JCTree$JCMethodInvocation.args:Lcom/sun/tools/javac/util/List;
            astore 8 /* prevArgs */
        start local 8 // com.sun.tools.javac.util.List prevArgs
        43: .line 175
            goto 47
        44: .line 176
      StackMap locals: com.sun.tools.javac.util.List
      StackMap stack:
            aload 4 /* mit */
            aload 4 /* mit */
            getfield com.sun.tools.javac.tree.JCTree$JCMethodInvocation.args:Lcom/sun/tools/javac/util/List;
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.AttrRecover.make:Lcom/sun/tools/javac/tree/TreeMaker;
            invokevirtual com.sun.tools.javac.tree.TreeMaker.Erroneous:()Lcom/sun/tools/javac/tree/JCTree$JCErroneous;
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.AttrRecover.syms:Lcom/sun/tools/javac/code/Symtab;
            getfield com.sun.tools.javac.code.Symtab.errType:Lcom/sun/tools/javac/code/Type;
            invokevirtual com.sun.tools.javac.tree.JCTree$JCErroneous.setType:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/tree/JCTree$JCExpression;
            invokevirtual com.sun.tools.javac.util.List.append:(Ljava/lang/Object;)Lcom/sun/tools/javac/util/List;
            putfield com.sun.tools.javac.tree.JCTree$JCMethodInvocation.args:Lcom/sun/tools/javac/util/List;
        45: .line 177
            aload 7 /* formals */
            getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
            astore 7 /* formals */
        46: .line 178
            iconst_1
            istore 3 /* repaired */
        47: .line 175
      StackMap locals:
      StackMap stack:
            aload 7 /* formals */
            invokevirtual com.sun.tools.javac.util.List.nonEmpty:()Z
            ifne 44
        48: .line 180
            aload 2 /* rollback */
            aload 4 /* mit */
            aload 8 /* prevArgs */
            invokedynamic run(Lcom/sun/tools/javac/tree/JCTree$JCMethodInvocation;Lcom/sun/tools/javac/util/List;)Ljava/lang/Runnable;
              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:
                  ()V
                  com/sun/tools/javac/comp/AttrRecover.lambda$1(Lcom/sun/tools/javac/tree/JCTree$JCMethodInvocation;Lcom/sun/tools/javac/util/List;)V (6)
                  ()V
            invokevirtual com.sun.tools.javac.util.ListBuffer.append:(Ljava/lang/Object;)Lcom/sun/tools/javac/util/ListBuffer;
            pop
        end local 8 // com.sun.tools.javac.util.List prevArgs
        end local 7 // com.sun.tools.javac.util.List formals
        end local 6 // com.sun.tools.javac.util.List args
        end local 5 // boolean vararg
        end local 4 // com.sun.tools.javac.tree.JCTree$JCMethodInvocation mit
        49: .line 186
      StackMap locals: com.sun.tools.javac.comp.AttrRecover com.sun.tools.javac.comp.AttrRecover$RecoverTodo com.sun.tools.javac.util.ListBuffer int
      StackMap stack:
            iload 3 /* repaired */
            ifeq 62
        50: .line 187
            aload 1 /* todo */
            getfield com.sun.tools.javac.comp.AttrRecover$RecoverTodo.env:Lcom/sun/tools/javac/comp/Env;
            getfield com.sun.tools.javac.comp.Env.tree:Lcom/sun/tools/javac/tree/JCTree;
            invokestatic com.sun.tools.javac.tree.TreeInfo.args:(Lcom/sun/tools/javac/tree/JCTree;)Lcom/sun/tools/javac/util/List;
            astore 5 /* args */
        start local 5 // com.sun.tools.javac.util.List args
        51: .line 188
            aload 1 /* todo */
            getfield com.sun.tools.javac.comp.AttrRecover$RecoverTodo.resultInfo:Lcom/sun/tools/javac/comp/Attr$ResultInfo;
            getfield com.sun.tools.javac.comp.Attr$ResultInfo.pt:Lcom/sun/tools/javac/code/Type;
            invokevirtual com.sun.tools.javac.code.Type.getParameterTypes:()Lcom/sun/tools/javac/util/List;
            astore 6 /* pats */
        start local 6 // com.sun.tools.javac.util.List pats
        52: .line 189
            goto 54
        53: .line 190
      StackMap locals: com.sun.tools.javac.comp.AttrRecover com.sun.tools.javac.comp.AttrRecover$RecoverTodo com.sun.tools.javac.util.ListBuffer int top com.sun.tools.javac.util.List com.sun.tools.javac.util.List
      StackMap stack:
            aload 6 /* pats */
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.AttrRecover.syms:Lcom/sun/tools/javac/code/Symtab;
            getfield com.sun.tools.javac.code.Symtab.errType:Lcom/sun/tools/javac/code/Type;
            invokevirtual com.sun.tools.javac.util.List.append:(Ljava/lang/Object;)Lcom/sun/tools/javac/util/List;
            astore 6 /* pats */
        54: .line 189
      StackMap locals:
      StackMap stack:
            aload 6 /* pats */
            invokevirtual com.sun.tools.javac.util.List.length:()I
            aload 5 /* args */
            invokevirtual com.sun.tools.javac.util.List.length:()I
            if_icmplt 53
        55: .line 192
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.AttrRecover.attr:Lcom/sun/tools/javac/comp/Attr;
            aload 1 /* todo */
            getfield com.sun.tools.javac.comp.AttrRecover$RecoverTodo.site:Lcom/sun/tools/javac/code/Type;
            aload 1 /* todo */
            getfield com.sun.tools.javac.comp.AttrRecover$RecoverTodo.candSym:Lcom/sun/tools/javac/code/Symbol;
        56: .line 193
            new com.sun.tools.javac.comp.Attr$ResultInfo
            dup
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.AttrRecover.attr:Lcom/sun/tools/javac/comp/Attr;
            dup
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            pop
            aload 1 /* todo */
            getfield com.sun.tools.javac.comp.AttrRecover$RecoverTodo.resultInfo:Lcom/sun/tools/javac/comp/Attr$ResultInfo;
            getfield com.sun.tools.javac.comp.Attr$ResultInfo.pkind:Lcom/sun/tools/javac/code/Kinds$KindSelector;
            aload 1 /* todo */
            getfield com.sun.tools.javac.comp.AttrRecover$RecoverTodo.resultInfo:Lcom/sun/tools/javac/comp/Attr$ResultInfo;
            getfield com.sun.tools.javac.comp.Attr$ResultInfo.pt:Lcom/sun/tools/javac/code/Type;
            invokevirtual com.sun.tools.javac.code.Type.getReturnType:()Lcom/sun/tools/javac/code/Type;
            aload 1 /* todo */
            getfield com.sun.tools.javac.comp.AttrRecover$RecoverTodo.resultInfo:Lcom/sun/tools/javac/comp/Attr$ResultInfo;
            getfield com.sun.tools.javac.comp.Attr$ResultInfo.checkContext:Lcom/sun/tools/javac/comp/Check$CheckContext;
            aload 1 /* todo */
            getfield com.sun.tools.javac.comp.AttrRecover$RecoverTodo.resultInfo:Lcom/sun/tools/javac/comp/Attr$ResultInfo;
            getfield com.sun.tools.javac.comp.Attr$ResultInfo.checkMode:Lcom/sun/tools/javac/comp/Attr$CheckMode;
            invokespecial com.sun.tools.javac.comp.Attr$ResultInfo.<init>:(Lcom/sun/tools/javac/comp/Attr;Lcom/sun/tools/javac/code/Kinds$KindSelector;Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/comp/Check$CheckContext;Lcom/sun/tools/javac/comp/Attr$CheckMode;)V
        57: .line 194
            aload 1 /* todo */
            getfield com.sun.tools.javac.comp.AttrRecover$RecoverTodo.env:Lcom/sun/tools/javac/comp/Env;
            aload 5 /* args */
            aload 6 /* pats */
        58: .line 195
            aload 1 /* todo */
            getfield com.sun.tools.javac.comp.AttrRecover$RecoverTodo.resultInfo:Lcom/sun/tools/javac/comp/Attr$ResultInfo;
            getfield com.sun.tools.javac.comp.Attr$ResultInfo.pt:Lcom/sun/tools/javac/code/Type;
            invokevirtual com.sun.tools.javac.code.Type.getTypeArguments:()Lcom/sun/tools/javac/util/List;
        59: .line 192
            invokevirtual com.sun.tools.javac.comp.Attr.checkMethod:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Symbol;Lcom/sun/tools/javac/comp/Attr$ResultInfo;Lcom/sun/tools/javac/comp/Env;Lcom/sun/tools/javac/util/List;Lcom/sun/tools/javac/util/List;Lcom/sun/tools/javac/util/List;)Lcom/sun/tools/javac/code/Type;
            astore 4 /* owntype */
        start local 4 // com.sun.tools.javac.code.Type owntype
        60: .line 196
            aload 2 /* rollback */
            invokevirtual com.sun.tools.javac.util.ListBuffer.stream:()Ljava/util/stream/Stream;
            invokedynamic accept()Ljava/util/function/Consumer;
              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;)V
                  java/lang/Runnable.run()V (9 itf)
                  (Ljava/lang/Runnable;)V
            invokeinterface java.util.stream.Stream.forEach:(Ljava/util/function/Consumer;)V
        end local 6 // com.sun.tools.javac.util.List pats
        end local 5 // com.sun.tools.javac.util.List args
        61: .line 197
            goto 63
        end local 4 // com.sun.tools.javac.code.Type owntype
        62: .line 198
      StackMap locals: com.sun.tools.javac.comp.AttrRecover com.sun.tools.javac.comp.AttrRecover$RecoverTodo com.sun.tools.javac.util.ListBuffer int
      StackMap stack:
            aload 0 /* this */
            aload 1 /* todo */
            getfield com.sun.tools.javac.comp.AttrRecover$RecoverTodo.tree:Lcom/sun/tools/javac/tree/JCTree;
            aload 1 /* todo */
            getfield com.sun.tools.javac.comp.AttrRecover$RecoverTodo.site:Lcom/sun/tools/javac/code/Type;
            aload 1 /* todo */
            getfield com.sun.tools.javac.comp.AttrRecover$RecoverTodo.errSym:Lcom/sun/tools/javac/code/Symbol;
            aload 1 /* todo */
            getfield com.sun.tools.javac.comp.AttrRecover$RecoverTodo.env:Lcom/sun/tools/javac/comp/Env;
            aload 1 /* todo */
            getfield com.sun.tools.javac.comp.AttrRecover$RecoverTodo.resultInfo:Lcom/sun/tools/javac/comp/Attr$ResultInfo;
            invokevirtual com.sun.tools.javac.comp.AttrRecover.basicMethodInvocationRecovery:(Lcom/sun/tools/javac/tree/JCTree;Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Symbol;Lcom/sun/tools/javac/comp/Env;Lcom/sun/tools/javac/comp/Attr$ResultInfo;)Lcom/sun/tools/javac/code/Type;
            astore 4 /* owntype */
        start local 4 // com.sun.tools.javac.code.Type owntype
        63: .line 200
      StackMap locals: com.sun.tools.javac.code.Type
      StackMap stack:
            aload 1 /* todo */
            getfield com.sun.tools.javac.comp.AttrRecover$RecoverTodo.tree:Lcom/sun/tools/javac/tree/JCTree;
            aload 4 /* owntype */
            putfield com.sun.tools.javac.tree.JCTree.type:Lcom/sun/tools/javac/code/Type;
        end local 4 // com.sun.tools.javac.code.Type owntype
        end local 3 // boolean repaired
        end local 2 // com.sun.tools.javac.util.ListBuffer rollback
        end local 1 // com.sun.tools.javac.comp.AttrRecover$RecoverTodo todo
        64: .line 96
      StackMap locals: com.sun.tools.javac.comp.AttrRecover
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.AttrRecover.recoveryTodo:Lcom/sun/tools/javac/util/ListBuffer;
            invokevirtual com.sun.tools.javac.util.ListBuffer.nonEmpty:()Z
            ifne 1
        65: .line 202
            return
        end local 0 // com.sun.tools.javac.comp.AttrRecover this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   66     0            this  Lcom/sun/tools/javac/comp/AttrRecover;
            2   64     1            todo  Lcom/sun/tools/javac/comp/AttrRecover$RecoverTodo;
            3   64     2        rollback  Lcom/sun/tools/javac/util/ListBuffer<Ljava/lang/Runnable;>;
            4   64     3        repaired  Z
            6   49     4             mit  Lcom/sun/tools/javac/tree/JCTree$JCMethodInvocation;
            9   49     5          vararg  Z
           13   49     6            args  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/tree/JCTree$JCExpression;>;
           14   49     7         formals  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
           16   41     8             arg  Lcom/sun/tools/javac/tree/JCTree$JCExpression;
           20   41     9          formal  Lcom/sun/tools/javac/code/Type;
           22   38    10          lambda  Lcom/sun/tools/javac/tree/JCTree$JCLambda;
           25   26    11             var  Lcom/sun/tools/javac/tree/JCTree$JCVariableDecl;
           29   37    11  functionalType  Lcom/sun/tools/javac/code/Type;
           30   37    12  voidCompatible  Z
           35   37    13             ret  Lcom/sun/tools/javac/tree/JCTree$JCReturn;
           43   49     8        prevArgs  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/tree/JCTree$JCExpression;>;
           60   62     4         owntype  Lcom/sun/tools/javac/code/Type;
           63   64     4         owntype  Lcom/sun/tools/javac/code/Type;
           51   61     5            args  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/tree/JCTree$JCExpression;>;
           52   61     6            pats  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;

  com.sun.tools.javac.code.Type recoverMethodInvocation(com.sun.tools.javac.tree.JCTree, com.sun.tools.javac.code.Type, com.sun.tools.javac.code.Symbol, com.sun.tools.javac.comp.Env<com.sun.tools.javac.comp.AttrContext>, com.sun.tools.javac.comp.Attr$ResultInfo);
    descriptor: (Lcom/sun/tools/javac/tree/JCTree;Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Symbol;Lcom/sun/tools/javac/comp/Env;Lcom/sun/tools/javac/comp/Attr$ResultInfo;)Lcom/sun/tools/javac/code/Type;
    flags: (0x0000) 
    Code:
      stack=9, locals=6, args_size=6
        start local 0 // com.sun.tools.javac.comp.AttrRecover this
        start local 1 // com.sun.tools.javac.tree.JCTree tree
        start local 2 // com.sun.tools.javac.code.Type site
        start local 3 // com.sun.tools.javac.code.Symbol sym
        start local 4 // com.sun.tools.javac.comp.Env env
        start local 5 // com.sun.tools.javac.comp.Attr$ResultInfo resultInfo
         0: .line 209
            aload 3 /* sym */
            getfield com.sun.tools.javac.code.Symbol.flags_field:J
            ldc 1099511627776
            land
            lconst_0
            lcmp
            ifeq 3
            aload 4 /* 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.attributionMode:Lcom/sun/tools/javac/comp/DeferredAttr$AttributionMode;
            invokevirtual com.sun.tools.javac.comp.DeferredAttr$AttributionMode.recover:()Z
            ifeq 3
         1: .line 210
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.AttrRecover.recoveryTodo:Lcom/sun/tools/javac/util/ListBuffer;
            new com.sun.tools.javac.comp.AttrRecover$RecoverTodo
            dup
            aload 1 /* tree */
            aload 2 /* site */
            aload 3 /* sym */
            aload 3 /* sym */
            getfield com.sun.tools.javac.code.Symbol.type:Lcom/sun/tools/javac/code/Type;
            checkcast com.sun.tools.javac.comp.AttrRecover$RecoveryErrorType
            getfield com.sun.tools.javac.comp.AttrRecover$RecoveryErrorType.candidateSymbol:Lcom/sun/tools/javac/code/Symbol;
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.AttrRecover.attr:Lcom/sun/tools/javac/comp/Attr;
            aload 4 /* env */
            invokevirtual com.sun.tools.javac.comp.Attr.copyEnv:(Lcom/sun/tools/javac/comp/Env;)Lcom/sun/tools/javac/comp/Env;
            aload 5 /* resultInfo */
            invokespecial com.sun.tools.javac.comp.AttrRecover$RecoverTodo.<init>:(Lcom/sun/tools/javac/tree/JCTree;Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Symbol;Lcom/sun/tools/javac/code/Symbol;Lcom/sun/tools/javac/comp/Env;Lcom/sun/tools/javac/comp/Attr$ResultInfo;)V
            invokevirtual com.sun.tools.javac.util.ListBuffer.append:(Ljava/lang/Object;)Lcom/sun/tools/javac/util/ListBuffer;
            pop
         2: .line 211
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.AttrRecover.syms:Lcom/sun/tools/javac/code/Symtab;
            getfield com.sun.tools.javac.code.Symtab.errType:Lcom/sun/tools/javac/code/Type;
            areturn
         3: .line 213
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* tree */
            aload 2 /* site */
            aload 3 /* sym */
            aload 4 /* env */
            aload 5 /* resultInfo */
            invokevirtual com.sun.tools.javac.comp.AttrRecover.basicMethodInvocationRecovery:(Lcom/sun/tools/javac/tree/JCTree;Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Symbol;Lcom/sun/tools/javac/comp/Env;Lcom/sun/tools/javac/comp/Attr$ResultInfo;)Lcom/sun/tools/javac/code/Type;
            areturn
        end local 5 // com.sun.tools.javac.comp.Attr$ResultInfo resultInfo
        end local 4 // com.sun.tools.javac.comp.Env env
        end local 3 // com.sun.tools.javac.code.Symbol sym
        end local 2 // com.sun.tools.javac.code.Type site
        end local 1 // com.sun.tools.javac.tree.JCTree tree
        end local 0 // com.sun.tools.javac.comp.AttrRecover this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    4     0        this  Lcom/sun/tools/javac/comp/AttrRecover;
            0    4     1        tree  Lcom/sun/tools/javac/tree/JCTree;
            0    4     2        site  Lcom/sun/tools/javac/code/Type;
            0    4     3         sym  Lcom/sun/tools/javac/code/Symbol;
            0    4     4         env  Lcom/sun/tools/javac/comp/Env<Lcom/sun/tools/javac/comp/AttrContext;>;
            0    4     5  resultInfo  Lcom/sun/tools/javac/comp/Attr$ResultInfo;
    Signature: (Lcom/sun/tools/javac/tree/JCTree;Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Symbol;Lcom/sun/tools/javac/comp/Env<Lcom/sun/tools/javac/comp/AttrContext;>;Lcom/sun/tools/javac/comp/Attr$ResultInfo;)Lcom/sun/tools/javac/code/Type;
    MethodParameters:
            Name  Flags
      tree        
      site        
      sym         
      env         
      resultInfo  

  private com.sun.tools.javac.code.Type basicMethodInvocationRecovery(com.sun.tools.javac.tree.JCTree, com.sun.tools.javac.code.Type, com.sun.tools.javac.code.Symbol, com.sun.tools.javac.comp.Env<com.sun.tools.javac.comp.AttrContext>, com.sun.tools.javac.comp.Attr$ResultInfo);
    descriptor: (Lcom/sun/tools/javac/tree/JCTree;Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Symbol;Lcom/sun/tools/javac/comp/Env;Lcom/sun/tools/javac/comp/Attr$ResultInfo;)Lcom/sun/tools/javac/code/Type;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=8, args_size=6
        start local 0 // com.sun.tools.javac.comp.AttrRecover this
        start local 1 // com.sun.tools.javac.tree.JCTree tree
        start local 2 // com.sun.tools.javac.code.Type site
        start local 3 // com.sun.tools.javac.code.Symbol sym
        start local 4 // com.sun.tools.javac.comp.Env env
        start local 5 // com.sun.tools.javac.comp.Attr$ResultInfo resultInfo
         0: .line 222
            aload 5 /* resultInfo */
            getfield com.sun.tools.javac.comp.Attr$ResultInfo.pt:Lcom/sun/tools/javac/code/Type;
            new com.sun.tools.javac.comp.DeferredAttr$RecoveryDeferredTypeMap
            dup
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.AttrRecover.deferredAttr:Lcom/sun/tools/javac/comp/DeferredAttr;
            dup
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            pop
            getstatic com.sun.tools.javac.comp.DeferredAttr$AttrMode.SPECULATIVE:Lcom/sun/tools/javac/comp/DeferredAttr$AttrMode;
            aload 3 /* sym */
            aload 4 /* 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.pendingResolutionPhase:Lcom/sun/tools/javac/comp/Resolve$MethodResolutionPhase;
            invokespecial com.sun.tools.javac.comp.DeferredAttr$RecoveryDeferredTypeMap.<init>:(Lcom/sun/tools/javac/comp/DeferredAttr;Lcom/sun/tools/javac/comp/DeferredAttr$AttrMode;Lcom/sun/tools/javac/code/Symbol;Lcom/sun/tools/javac/comp/Resolve$MethodResolutionPhase;)V
            invokevirtual com.sun.tools.javac.code.Type.map:(Lcom/sun/tools/javac/code/Types$TypeMapping;)Lcom/sun/tools/javac/code/Type;
            astore 6 /* pt */
        start local 6 // com.sun.tools.javac.code.Type pt
         1: .line 223
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.AttrRecover.attr:Lcom/sun/tools/javac/comp/Attr;
            aload 1 /* tree */
            aload 2 /* site */
            aload 3 /* sym */
            aload 6 /* pt */
            aload 4 /* env */
            aload 5 /* resultInfo */
            invokevirtual com.sun.tools.javac.comp.Attr.checkIdInternal:(Lcom/sun/tools/javac/tree/JCTree;Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Symbol;Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/comp/Env;Lcom/sun/tools/javac/comp/Attr$ResultInfo;)Lcom/sun/tools/javac/code/Type;
            astore 7 /* owntype */
        start local 7 // com.sun.tools.javac.code.Type owntype
         2: .line 224
            aload 5 /* resultInfo */
            getfield com.sun.tools.javac.comp.Attr$ResultInfo.pt:Lcom/sun/tools/javac/code/Type;
            new com.sun.tools.javac.comp.DeferredAttr$RecoveryDeferredTypeMap
            dup
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.AttrRecover.deferredAttr:Lcom/sun/tools/javac/comp/DeferredAttr;
            dup
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            pop
            getstatic com.sun.tools.javac.comp.DeferredAttr$AttrMode.CHECK:Lcom/sun/tools/javac/comp/DeferredAttr$AttrMode;
            aload 3 /* sym */
            aload 4 /* 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.pendingResolutionPhase:Lcom/sun/tools/javac/comp/Resolve$MethodResolutionPhase;
            invokespecial com.sun.tools.javac.comp.DeferredAttr$RecoveryDeferredTypeMap.<init>:(Lcom/sun/tools/javac/comp/DeferredAttr;Lcom/sun/tools/javac/comp/DeferredAttr$AttrMode;Lcom/sun/tools/javac/code/Symbol;Lcom/sun/tools/javac/comp/Resolve$MethodResolutionPhase;)V
            invokevirtual com.sun.tools.javac.code.Type.map:(Lcom/sun/tools/javac/code/Types$TypeMapping;)Lcom/sun/tools/javac/code/Type;
            pop
         3: .line 225
            aload 7 /* owntype */
            areturn
        end local 7 // com.sun.tools.javac.code.Type owntype
        end local 6 // com.sun.tools.javac.code.Type pt
        end local 5 // com.sun.tools.javac.comp.Attr$ResultInfo resultInfo
        end local 4 // com.sun.tools.javac.comp.Env env
        end local 3 // com.sun.tools.javac.code.Symbol sym
        end local 2 // com.sun.tools.javac.code.Type site
        end local 1 // com.sun.tools.javac.tree.JCTree tree
        end local 0 // com.sun.tools.javac.comp.AttrRecover this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    4     0        this  Lcom/sun/tools/javac/comp/AttrRecover;
            0    4     1        tree  Lcom/sun/tools/javac/tree/JCTree;
            0    4     2        site  Lcom/sun/tools/javac/code/Type;
            0    4     3         sym  Lcom/sun/tools/javac/code/Symbol;
            0    4     4         env  Lcom/sun/tools/javac/comp/Env<Lcom/sun/tools/javac/comp/AttrContext;>;
            0    4     5  resultInfo  Lcom/sun/tools/javac/comp/Attr$ResultInfo;
            1    4     6          pt  Lcom/sun/tools/javac/code/Type;
            2    4     7     owntype  Lcom/sun/tools/javac/code/Type;
    Signature: (Lcom/sun/tools/javac/tree/JCTree;Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Symbol;Lcom/sun/tools/javac/comp/Env<Lcom/sun/tools/javac/comp/AttrContext;>;Lcom/sun/tools/javac/comp/Attr$ResultInfo;)Lcom/sun/tools/javac/code/Type;
    MethodParameters:
            Name  Flags
      tree        
      site        
      sym         
      env         
      resultInfo  

  void wrongMethodSymbolCandidate(com.sun.tools.javac.code.Symbol$TypeSymbol, com.sun.tools.javac.code.Symbol, com.sun.tools.javac.util.JCDiagnostic);
    descriptor: (Lcom/sun/tools/javac/code/Symbol$TypeSymbol;Lcom/sun/tools/javac/code/Symbol;Lcom/sun/tools/javac/util/JCDiagnostic;)V
    flags: (0x0000) 
    Code:
      stack=5, locals=12, args_size=4
        start local 0 // com.sun.tools.javac.comp.AttrRecover this
        start local 1 // com.sun.tools.javac.code.Symbol$TypeSymbol errSymbol
        start local 2 // com.sun.tools.javac.code.Symbol candSym
        start local 3 // com.sun.tools.javac.util.JCDiagnostic diag
         0: .line 229
            aload 3 /* diag */
            invokestatic com.sun.tools.javac.util.List.of:(Ljava/lang/Object;)Lcom/sun/tools/javac/util/List;
            astore 4 /* diags */
        start local 4 // com.sun.tools.javac.util.List diags
         1: .line 230
            iconst_0
            istore 5 /* recoverable */
        start local 5 // boolean recoverable
         2: .line 231
            goto 19
         3: .line 232
      StackMap locals: com.sun.tools.javac.util.List int
      StackMap stack:
            aload 4 /* diags */
            getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
            checkcast com.sun.tools.javac.util.JCDiagnostic
            astore 6 /* d */
        start local 6 // com.sun.tools.javac.util.JCDiagnostic d
         4: .line 233
            aload 4 /* diags */
            getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
            astore 4 /* diags */
         5: .line 234
            aload 6 /* d */
            invokevirtual com.sun.tools.javac.util.JCDiagnostic.getCode:()Ljava/lang/String;
            dup
            astore 7
            invokevirtual java.lang.String.hashCode:()I
            lookupswitch { // 4
          -1824826549: 6
          -1288879943: 7
            302711722: 8
           1780358827: 9
              default: 13
          }
      StackMap locals: com.sun.tools.javac.util.JCDiagnostic java.lang.String
      StackMap stack:
         6: aload 7
            ldc "compiler.misc.infer.arg.length.mismatch"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 10
            goto 13
      StackMap locals:
      StackMap stack:
         7: aload 7
            ldc "compiler.misc.missing.ret.val"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 10
            goto 13
      StackMap locals:
      StackMap stack:
         8: aload 7
            ldc "compiler.misc.unexpected.ret.val"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 10
            goto 13
      StackMap locals:
      StackMap stack:
         9: aload 7
            ldc "compiler.misc.arg.length.mismatch"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 10
            goto 13
        10: .line 239
      StackMap locals:
      StackMap stack:
            aload 1 /* errSymbol */
            new com.sun.tools.javac.comp.AttrRecover$RecoveryErrorType
            dup
            aload 1 /* errSymbol */
            getfield com.sun.tools.javac.code.Symbol$TypeSymbol.type:Lcom/sun/tools/javac/code/Type;
            checkcast com.sun.tools.javac.code.Type$ErrorType
            aload 2 /* candSym */
            invokespecial com.sun.tools.javac.comp.AttrRecover$RecoveryErrorType.<init>:(Lcom/sun/tools/javac/code/Type$ErrorType;Lcom/sun/tools/javac/code/Symbol;)V
            putfield com.sun.tools.javac.code.Symbol$TypeSymbol.type:Lcom/sun/tools/javac/code/Type;
        11: .line 240
            aload 1 /* errSymbol */
            dup
            getfield com.sun.tools.javac.code.Symbol$TypeSymbol.flags_field:J
            ldc 1099511627776
            lor
            putfield com.sun.tools.javac.code.Symbol$TypeSymbol.flags_field:J
        12: .line 241
            return
        13: .line 245
      StackMap locals:
      StackMap stack:
            aload 6 /* d */
            invokevirtual com.sun.tools.javac.util.JCDiagnostic.getArgs:()[Ljava/lang/Object;
            dup
            astore 11
            arraylength
            istore 10
            iconst_0
            istore 9
            goto 18
      StackMap locals: com.sun.tools.javac.comp.AttrRecover com.sun.tools.javac.code.Symbol$TypeSymbol com.sun.tools.javac.code.Symbol com.sun.tools.javac.util.JCDiagnostic com.sun.tools.javac.util.List int com.sun.tools.javac.util.JCDiagnostic top top int int java.lang.Object[]
      StackMap stack:
        14: aload 11
            iload 9
            aaload
            astore 8 /* a */
        start local 8 // java.lang.Object a
        15: .line 246
            aload 8 /* a */
            instanceof com.sun.tools.javac.util.JCDiagnostic
            ifeq 17
        16: .line 247
            aload 4 /* diags */
            aload 8 /* a */
            checkcast com.sun.tools.javac.util.JCDiagnostic
            invokevirtual com.sun.tools.javac.util.List.prepend:(Ljava/lang/Object;)Lcom/sun/tools/javac/util/List;
            astore 4 /* diags */
        end local 8 // java.lang.Object a
        17: .line 245
      StackMap locals:
      StackMap stack:
            iinc 9 1
      StackMap locals:
      StackMap stack:
        18: iload 9
            iload 10
            if_icmplt 14
        end local 6 // com.sun.tools.javac.util.JCDiagnostic d
        19: .line 231
      StackMap locals: com.sun.tools.javac.comp.AttrRecover com.sun.tools.javac.code.Symbol$TypeSymbol com.sun.tools.javac.code.Symbol com.sun.tools.javac.util.JCDiagnostic com.sun.tools.javac.util.List int
      StackMap stack:
            iload 5 /* recoverable */
            ifne 20
            aload 4 /* diags */
            invokevirtual com.sun.tools.javac.util.List.nonEmpty:()Z
            ifne 3
        20: .line 251
      StackMap locals:
      StackMap stack:
            return
        end local 5 // boolean recoverable
        end local 4 // com.sun.tools.javac.util.List diags
        end local 3 // com.sun.tools.javac.util.JCDiagnostic diag
        end local 2 // com.sun.tools.javac.code.Symbol candSym
        end local 1 // com.sun.tools.javac.code.Symbol$TypeSymbol errSymbol
        end local 0 // com.sun.tools.javac.comp.AttrRecover this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   21     0         this  Lcom/sun/tools/javac/comp/AttrRecover;
            0   21     1    errSymbol  Lcom/sun/tools/javac/code/Symbol$TypeSymbol;
            0   21     2      candSym  Lcom/sun/tools/javac/code/Symbol;
            0   21     3         diag  Lcom/sun/tools/javac/util/JCDiagnostic;
            1   21     4        diags  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/util/JCDiagnostic;>;
            2   21     5  recoverable  Z
            4   19     6            d  Lcom/sun/tools/javac/util/JCDiagnostic;
           15   17     8            a  Ljava/lang/Object;
    MethodParameters:
           Name  Flags
      errSymbol  
      candSym    
      diag       

  private static void lambda$0(com.sun.tools.javac.tree.JCTree$JCLambda, com.sun.tools.javac.tree.JCTree$JCReturn);
    descriptor: (Lcom/sun/tools/javac/tree/JCTree$JCLambda;Lcom/sun/tools/javac/tree/JCTree$JCReturn;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=2, args_size=2
         0: .line 163
            aload 0
            getfield com.sun.tools.javac.tree.JCTree$JCLambda.body:Lcom/sun/tools/javac/tree/JCTree;
            checkcast com.sun.tools.javac.tree.JCTree$JCBlock
            aload 0
            getfield com.sun.tools.javac.tree.JCTree$JCLambda.body:Lcom/sun/tools/javac/tree/JCTree;
            checkcast com.sun.tools.javac.tree.JCTree$JCBlock
            getfield com.sun.tools.javac.tree.JCTree$JCBlock.stats:Lcom/sun/tools/javac/util/List;
            aload 1
            invokestatic com.sun.tools.javac.util.List.filter:(Lcom/sun/tools/javac/util/List;Ljava/lang/Object;)Lcom/sun/tools/javac/util/List;
            putfield com.sun.tools.javac.tree.JCTree$JCBlock.stats:Lcom/sun/tools/javac/util/List;
         1: .line 164
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static void lambda$1(com.sun.tools.javac.tree.JCTree$JCMethodInvocation, com.sun.tools.javac.util.List);
    descriptor: (Lcom/sun/tools/javac/tree/JCTree$JCMethodInvocation;Lcom/sun/tools/javac/util/List;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=2
         0: .line 181
            aload 0
            aload 1
            putfield com.sun.tools.javac.tree.JCTree$JCMethodInvocation.args:Lcom/sun/tools/javac/util/List;
         1: .line 182
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
SourceFile: "AttrRecover.java"
NestMembers:
  com.sun.tools.javac.comp.AttrRecover$1  com.sun.tools.javac.comp.AttrRecover$1$1  com.sun.tools.javac.comp.AttrRecover$1$2  com.sun.tools.javac.comp.AttrRecover$RecoverTodo  com.sun.tools.javac.comp.AttrRecover$RecoveryErrorType
InnerClasses:
  public KindSelector = com.sun.tools.javac.code.Kinds$KindSelector of com.sun.tools.javac.code.Kinds
  public abstract TypeSymbol = com.sun.tools.javac.code.Symbol$TypeSymbol of com.sun.tools.javac.code.Symbol
  public ArrayType = com.sun.tools.javac.code.Type$ArrayType of com.sun.tools.javac.code.Type
  public ErrorType = com.sun.tools.javac.code.Type$ErrorType of com.sun.tools.javac.code.Type
  public TypeMapping = com.sun.tools.javac.code.Types$TypeMapping of com.sun.tools.javac.code.Types
  CheckMode = com.sun.tools.javac.comp.Attr$CheckMode of com.sun.tools.javac.comp.Attr
  ResultInfo = com.sun.tools.javac.comp.Attr$ResultInfo of com.sun.tools.javac.comp.Attr
  com.sun.tools.javac.comp.AttrRecover$1
  private RecoverTodo = com.sun.tools.javac.comp.AttrRecover$RecoverTodo of com.sun.tools.javac.comp.AttrRecover
  private RecoveryErrorType = com.sun.tools.javac.comp.AttrRecover$RecoveryErrorType of com.sun.tools.javac.comp.AttrRecover
  public abstract CheckContext = com.sun.tools.javac.comp.Check$CheckContext of com.sun.tools.javac.comp.Check
  public final AttrMode = com.sun.tools.javac.comp.DeferredAttr$AttrMode of com.sun.tools.javac.comp.DeferredAttr
  final AttributionMode = com.sun.tools.javac.comp.DeferredAttr$AttributionMode of com.sun.tools.javac.comp.DeferredAttr
  public RecoveryDeferredTypeMap = com.sun.tools.javac.comp.DeferredAttr$RecoveryDeferredTypeMap of com.sun.tools.javac.comp.DeferredAttr
  MethodResolutionPhase = com.sun.tools.javac.comp.Resolve$MethodResolutionPhase of com.sun.tools.javac.comp.Resolve
  public JCBlock = com.sun.tools.javac.tree.JCTree$JCBlock of com.sun.tools.javac.tree.JCTree
  public JCErroneous = com.sun.tools.javac.tree.JCTree$JCErroneous 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 JCMethodInvocation = com.sun.tools.javac.tree.JCTree$JCMethodInvocation of com.sun.tools.javac.tree.JCTree
  public JCReturn = com.sun.tools.javac.tree.JCTree$JCReturn of com.sun.tools.javac.tree.JCTree
  public JCVariableDecl = com.sun.tools.javac.tree.JCTree$JCVariableDecl of com.sun.tools.javac.tree.JCTree
  public final Tag = com.sun.tools.javac.tree.JCTree$Tag of com.sun.tools.javac.tree.JCTree
  public Key = com.sun.tools.javac.util.Context$Key of com.sun.tools.javac.util.Context
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles