class com.sun.tools.javac.comp.Resolve$MostSpecificCheck implements com.sun.tools.javac.comp.Resolve$MethodCheck
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: com.sun.tools.javac.comp.Resolve$MostSpecificCheck
  super_class: java.lang.Object
{
  com.sun.tools.javac.util.List<com.sun.tools.javac.code.Type> actuals;
    descriptor: Lcom/sun/tools/javac/util/List;
    flags: (0x0000) 
    Signature: Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;

  final com.sun.tools.javac.comp.Resolve this$0;
    descriptor: Lcom/sun/tools/javac/comp/Resolve;
    flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC

  void <init>(com.sun.tools.javac.util.List<com.sun.tools.javac.code.Type>);
    descriptor: (Lcom/sun/tools/javac/comp/Resolve;Lcom/sun/tools/javac/util/List;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // com.sun.tools.javac.comp.Resolve$MostSpecificCheck this
        start local 2 // com.sun.tools.javac.util.List actuals
         0: .line 1121
            aload 0 /* this */
            aload 1
            putfield com.sun.tools.javac.comp.Resolve$MostSpecificCheck.this$0:Lcom/sun/tools/javac/comp/Resolve;
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 1122
            aload 0 /* this */
            aload 2 /* actuals */
            putfield com.sun.tools.javac.comp.Resolve$MostSpecificCheck.actuals:Lcom/sun/tools/javac/util/List;
         2: .line 1123
            return
        end local 2 // com.sun.tools.javac.util.List actuals
        end local 0 // com.sun.tools.javac.comp.Resolve$MostSpecificCheck this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lcom/sun/tools/javac/comp/Resolve$MostSpecificCheck;
            0    3     2  actuals  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
    Signature: (Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;)V
    MethodParameters:
         Name  Flags
      this$0   final
      actuals  

  public void argumentsAcceptable(com.sun.tools.javac.comp.Env<com.sun.tools.javac.comp.AttrContext>, com.sun.tools.javac.comp.DeferredAttr$DeferredAttrContext, com.sun.tools.javac.util.List<com.sun.tools.javac.code.Type>, com.sun.tools.javac.util.List<com.sun.tools.javac.code.Type>, com.sun.tools.javac.util.Warner);
    descriptor: (Lcom/sun/tools/javac/comp/Env;Lcom/sun/tools/javac/comp/DeferredAttr$DeferredAttrContext;Lcom/sun/tools/javac/util/List;Lcom/sun/tools/javac/util/List;Lcom/sun/tools/javac/util/Warner;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=7, args_size=6
        start local 0 // com.sun.tools.javac.comp.Resolve$MostSpecificCheck this
        start local 1 // com.sun.tools.javac.comp.Env env
        start local 2 // com.sun.tools.javac.comp.DeferredAttr$DeferredAttrContext deferredAttrContext
        start local 3 // com.sun.tools.javac.util.List formals1
        start local 4 // com.sun.tools.javac.util.List formals2
        start local 5 // com.sun.tools.javac.util.Warner warn
         0: .line 1131
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Resolve$MostSpecificCheck.this$0:Lcom/sun/tools/javac/comp/Resolve;
            aload 4 /* formals2 */
            aload 2 /* deferredAttrContext */
            getfield com.sun.tools.javac.comp.DeferredAttr$DeferredAttrContext.msym:Lcom/sun/tools/javac/code/Symbol;
            aload 3 /* formals1 */
            invokevirtual com.sun.tools.javac.util.List.length:()I
            aload 2 /* deferredAttrContext */
            getfield com.sun.tools.javac.comp.DeferredAttr$DeferredAttrContext.phase:Lcom/sun/tools/javac/comp/Resolve$MethodResolutionPhase;
            invokevirtual com.sun.tools.javac.comp.Resolve$MethodResolutionPhase.isVarargsRequired:()Z
            invokevirtual com.sun.tools.javac.comp.Resolve.adjustArgs:(Lcom/sun/tools/javac/util/List;Lcom/sun/tools/javac/code/Symbol;IZ)Lcom/sun/tools/javac/util/List;
            astore 4 /* formals2 */
         1: .line 1132
            goto 9
         2: .line 1133
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 4 /* formals2 */
            getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
            checkcast com.sun.tools.javac.code.Type
            aload 2 /* deferredAttrContext */
            aload 5 /* warn */
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Resolve$MostSpecificCheck.actuals:Lcom/sun/tools/javac/util/List;
            getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
            checkcast com.sun.tools.javac.code.Type
            invokevirtual com.sun.tools.javac.comp.Resolve$MostSpecificCheck.methodCheckResult:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/comp/DeferredAttr$DeferredAttrContext;Lcom/sun/tools/javac/util/Warner;Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/comp/Attr$ResultInfo;
            astore 6 /* mresult */
        start local 6 // com.sun.tools.javac.comp.Attr$ResultInfo mresult
         3: .line 1134
            aload 6 /* mresult */
            aconst_null
            aload 3 /* formals1 */
            getfield com.sun.tools.javac.util.List.head:Ljava/lang/Object;
            checkcast com.sun.tools.javac.code.Type
            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;
            pop
         4: .line 1135
            aload 3 /* formals1 */
            getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
            astore 3 /* formals1 */
         5: .line 1136
            aload 4 /* formals2 */
            getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
            astore 4 /* formals2 */
         6: .line 1137
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Resolve$MostSpecificCheck.actuals:Lcom/sun/tools/javac/util/List;
            invokevirtual com.sun.tools.javac.util.List.isEmpty:()Z
            ifeq 7
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Resolve$MostSpecificCheck.actuals:Lcom/sun/tools/javac/util/List;
            goto 8
      StackMap locals: com.sun.tools.javac.comp.Resolve$MostSpecificCheck com.sun.tools.javac.comp.Env com.sun.tools.javac.comp.DeferredAttr$DeferredAttrContext com.sun.tools.javac.util.List com.sun.tools.javac.util.List com.sun.tools.javac.util.Warner com.sun.tools.javac.comp.Attr$ResultInfo
      StackMap stack: com.sun.tools.javac.comp.Resolve$MostSpecificCheck
         7: aload 0 /* this */
            getfield com.sun.tools.javac.comp.Resolve$MostSpecificCheck.actuals:Lcom/sun/tools/javac/util/List;
            getfield com.sun.tools.javac.util.List.tail:Lcom/sun/tools/javac/util/List;
      StackMap locals: com.sun.tools.javac.comp.Resolve$MostSpecificCheck com.sun.tools.javac.comp.Env com.sun.tools.javac.comp.DeferredAttr$DeferredAttrContext com.sun.tools.javac.util.List com.sun.tools.javac.util.List com.sun.tools.javac.util.Warner com.sun.tools.javac.comp.Attr$ResultInfo
      StackMap stack: com.sun.tools.javac.comp.Resolve$MostSpecificCheck com.sun.tools.javac.util.List
         8: putfield com.sun.tools.javac.comp.Resolve$MostSpecificCheck.actuals:Lcom/sun/tools/javac/util/List;
        end local 6 // com.sun.tools.javac.comp.Attr$ResultInfo mresult
         9: .line 1132
      StackMap locals:
      StackMap stack:
            aload 4 /* formals2 */
            invokevirtual com.sun.tools.javac.util.List.nonEmpty:()Z
            ifne 2
        10: .line 1139
            return
        end local 5 // com.sun.tools.javac.util.Warner warn
        end local 4 // com.sun.tools.javac.util.List formals2
        end local 3 // com.sun.tools.javac.util.List formals1
        end local 2 // com.sun.tools.javac.comp.DeferredAttr$DeferredAttrContext deferredAttrContext
        end local 1 // com.sun.tools.javac.comp.Env env
        end local 0 // com.sun.tools.javac.comp.Resolve$MostSpecificCheck this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   11     0                 this  Lcom/sun/tools/javac/comp/Resolve$MostSpecificCheck;
            0   11     1                  env  Lcom/sun/tools/javac/comp/Env<Lcom/sun/tools/javac/comp/AttrContext;>;
            0   11     2  deferredAttrContext  Lcom/sun/tools/javac/comp/DeferredAttr$DeferredAttrContext;
            0   11     3             formals1  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
            0   11     4             formals2  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
            0   11     5                 warn  Lcom/sun/tools/javac/util/Warner;
            3    9     6              mresult  Lcom/sun/tools/javac/comp/Attr$ResultInfo;
    Signature: (Lcom/sun/tools/javac/comp/Env<Lcom/sun/tools/javac/comp/AttrContext;>;Lcom/sun/tools/javac/comp/DeferredAttr$DeferredAttrContext;Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;Lcom/sun/tools/javac/util/Warner;)V
    MethodParameters:
                     Name  Flags
      env                  final
      deferredAttrContext  
      formals1             
      formals2             
      warn                 

  com.sun.tools.javac.comp.Attr$ResultInfo methodCheckResult(com.sun.tools.javac.code.Type, com.sun.tools.javac.comp.DeferredAttr$DeferredAttrContext, com.sun.tools.javac.util.Warner, com.sun.tools.javac.code.Type);
    descriptor: (Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/comp/DeferredAttr$DeferredAttrContext;Lcom/sun/tools/javac/util/Warner;Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/comp/Attr$ResultInfo;
    flags: (0x0000) 
    Code:
      stack=11, locals=5, args_size=5
        start local 0 // com.sun.tools.javac.comp.Resolve$MostSpecificCheck this
        start local 1 // com.sun.tools.javac.code.Type to
        start local 2 // com.sun.tools.javac.comp.DeferredAttr$DeferredAttrContext deferredAttrContext
        start local 3 // com.sun.tools.javac.util.Warner rsWarner
        start local 4 // com.sun.tools.javac.code.Type actual
         0: .line 1146
            new com.sun.tools.javac.comp.Attr$ResultInfo
            dup
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Resolve$MostSpecificCheck.this$0:Lcom/sun/tools/javac/comp/Resolve;
            getfield com.sun.tools.javac.comp.Resolve.attr:Lcom/sun/tools/javac/comp/Attr;
            dup
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            pop
            getstatic com.sun.tools.javac.code.Kinds$KindSelector.VAL:Lcom/sun/tools/javac/code/Kinds$KindSelector;
            aload 1 /* to */
         1: .line 1147
            new com.sun.tools.javac.comp.Resolve$MostSpecificCheck$MostSpecificCheckContext
            dup
            aload 0 /* this */
            aload 2 /* deferredAttrContext */
            aload 3 /* rsWarner */
            aload 4 /* actual */
            invokespecial com.sun.tools.javac.comp.Resolve$MostSpecificCheck$MostSpecificCheckContext.<init>:(Lcom/sun/tools/javac/comp/Resolve$MostSpecificCheck;Lcom/sun/tools/javac/comp/DeferredAttr$DeferredAttrContext;Lcom/sun/tools/javac/util/Warner;Lcom/sun/tools/javac/code/Type;)V
         2: .line 1146
            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;)V
            areturn
        end local 4 // com.sun.tools.javac.code.Type actual
        end local 3 // com.sun.tools.javac.util.Warner rsWarner
        end local 2 // com.sun.tools.javac.comp.DeferredAttr$DeferredAttrContext deferredAttrContext
        end local 1 // com.sun.tools.javac.code.Type to
        end local 0 // com.sun.tools.javac.comp.Resolve$MostSpecificCheck this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0    3     0                 this  Lcom/sun/tools/javac/comp/Resolve$MostSpecificCheck;
            0    3     1                   to  Lcom/sun/tools/javac/code/Type;
            0    3     2  deferredAttrContext  Lcom/sun/tools/javac/comp/DeferredAttr$DeferredAttrContext;
            0    3     3             rsWarner  Lcom/sun/tools/javac/util/Warner;
            0    3     4               actual  Lcom/sun/tools/javac/code/Type;
    MethodParameters:
                     Name  Flags
      to                   
      deferredAttrContext  
      rsWarner             
      actual               

  public com.sun.tools.javac.comp.Resolve$MethodCheck mostSpecificCheck(com.sun.tools.javac.util.List<com.sun.tools.javac.code.Type>);
    descriptor: (Lcom/sun/tools/javac/util/List;)Lcom/sun/tools/javac/comp/Resolve$MethodCheck;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // com.sun.tools.javac.comp.Resolve$MostSpecificCheck this
        start local 1 // com.sun.tools.javac.util.List actuals
         0: .line 1388
            ldc "Cannot get here!"
            invokestatic com.sun.tools.javac.util.Assert.error:(Ljava/lang/String;)V
         1: .line 1389
            aconst_null
            areturn
        end local 1 // com.sun.tools.javac.util.List actuals
        end local 0 // com.sun.tools.javac.comp.Resolve$MostSpecificCheck this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lcom/sun/tools/javac/comp/Resolve$MostSpecificCheck;
            0    2     1  actuals  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;
    Signature: (Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;)Lcom/sun/tools/javac/comp/Resolve$MethodCheck;
    MethodParameters:
         Name  Flags
      actuals  

  static com.sun.tools.javac.comp.Resolve access$0(com.sun.tools.javac.comp.Resolve$MostSpecificCheck);
    descriptor: (Lcom/sun/tools/javac/comp/Resolve$MostSpecificCheck;)Lcom/sun/tools/javac/comp/Resolve;
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 1117
            aload 0
            getfield com.sun.tools.javac.comp.Resolve$MostSpecificCheck.this$0:Lcom/sun/tools/javac/comp/Resolve;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
SourceFile: "Resolve.java"
NestHost: com.sun.tools.javac.comp.Resolve
InnerClasses:
  public KindSelector = com.sun.tools.javac.code.Kinds$KindSelector of com.sun.tools.javac.code.Kinds
  ResultInfo = com.sun.tools.javac.comp.Attr$ResultInfo of com.sun.tools.javac.comp.Attr
  public abstract CheckContext = com.sun.tools.javac.comp.Check$CheckContext of com.sun.tools.javac.comp.Check
  DeferredAttrContext = com.sun.tools.javac.comp.DeferredAttr$DeferredAttrContext of com.sun.tools.javac.comp.DeferredAttr
  abstract MethodCheck = com.sun.tools.javac.comp.Resolve$MethodCheck of com.sun.tools.javac.comp.Resolve
  MethodResolutionPhase = com.sun.tools.javac.comp.Resolve$MethodResolutionPhase of com.sun.tools.javac.comp.Resolve
  MostSpecificCheck = com.sun.tools.javac.comp.Resolve$MostSpecificCheck of com.sun.tools.javac.comp.Resolve
  MostSpecificCheckContext = com.sun.tools.javac.comp.Resolve$MostSpecificCheck$MostSpecificCheckContext of com.sun.tools.javac.comp.Resolve$MostSpecificCheck
  public abstract DiagnosticPosition = com.sun.tools.javac.util.JCDiagnostic$DiagnosticPosition of com.sun.tools.javac.util.JCDiagnostic