class com.sun.tools.javac.comp.Resolve$MethodReferenceCheck extends com.sun.tools.javac.comp.Resolve$AbstractMethodCheck
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: com.sun.tools.javac.comp.Resolve$MethodReferenceCheck
  super_class: com.sun.tools.javac.comp.Resolve$AbstractMethodCheck
{
  com.sun.tools.javac.comp.InferenceContext pendingInferenceContext;
    descriptor: Lcom/sun/tools/javac/comp/InferenceContext;
    flags: (0x0000) 

  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.comp.Resolve, com.sun.tools.javac.comp.InferenceContext);
    descriptor: (Lcom/sun/tools/javac/comp/Resolve;Lcom/sun/tools/javac/comp/InferenceContext;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // com.sun.tools.javac.comp.Resolve$MethodReferenceCheck this
        start local 2 // com.sun.tools.javac.comp.InferenceContext pendingInferenceContext
         0: .line 962
            aload 0 /* this */
            aload 1
            putfield com.sun.tools.javac.comp.Resolve$MethodReferenceCheck.this$0:Lcom/sun/tools/javac/comp/Resolve;
            aload 0 /* this */
            aload 1
            invokespecial com.sun.tools.javac.comp.Resolve$AbstractMethodCheck.<init>:(Lcom/sun/tools/javac/comp/Resolve;)V
         1: .line 963
            aload 0 /* this */
            aload 2 /* pendingInferenceContext */
            putfield com.sun.tools.javac.comp.Resolve$MethodReferenceCheck.pendingInferenceContext:Lcom/sun/tools/javac/comp/InferenceContext;
         2: .line 964
            return
        end local 2 // com.sun.tools.javac.comp.InferenceContext pendingInferenceContext
        end local 0 // com.sun.tools.javac.comp.Resolve$MethodReferenceCheck this
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            0    3     0                     this  Lcom/sun/tools/javac/comp/Resolve$MethodReferenceCheck;
            0    3     2  pendingInferenceContext  Lcom/sun/tools/javac/comp/InferenceContext;
    MethodParameters:
                         Name  Flags
      this$0                   final
      pendingInferenceContext  

  void checkArg(com.sun.tools.javac.util.JCDiagnostic$DiagnosticPosition, boolean, com.sun.tools.javac.code.Type, com.sun.tools.javac.code.Type, com.sun.tools.javac.comp.DeferredAttr$DeferredAttrContext, com.sun.tools.javac.util.Warner);
    descriptor: (Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticPosition;ZLcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/comp/DeferredAttr$DeferredAttrContext;Lcom/sun/tools/javac/util/Warner;)V
    flags: (0x0000) 
    Code:
      stack=5, locals=8, args_size=7
        start local 0 // com.sun.tools.javac.comp.Resolve$MethodReferenceCheck this
        start local 1 // com.sun.tools.javac.util.JCDiagnostic$DiagnosticPosition pos
        start local 2 // boolean varargs
        start local 3 // com.sun.tools.javac.code.Type actual
        start local 4 // com.sun.tools.javac.code.Type formal
        start local 5 // com.sun.tools.javac.comp.DeferredAttr$DeferredAttrContext deferredAttrContext
        start local 6 // com.sun.tools.javac.util.Warner warn
         0: .line 968
            aload 0 /* this */
            iload 2 /* varargs */
            aload 4 /* formal */
            aload 5 /* deferredAttrContext */
            aload 6 /* warn */
            invokevirtual com.sun.tools.javac.comp.Resolve$MethodReferenceCheck.methodCheckResult:(ZLcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/comp/DeferredAttr$DeferredAttrContext;Lcom/sun/tools/javac/util/Warner;)Lcom/sun/tools/javac/comp/Attr$ResultInfo;
            astore 7 /* mresult */
        start local 7 // com.sun.tools.javac.comp.Attr$ResultInfo mresult
         1: .line 969
            aload 7 /* mresult */
            aload 1 /* pos */
            aload 3 /* actual */
            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
         2: .line 970
            return
        end local 7 // com.sun.tools.javac.comp.Attr$ResultInfo mresult
        end local 6 // com.sun.tools.javac.util.Warner warn
        end local 5 // com.sun.tools.javac.comp.DeferredAttr$DeferredAttrContext deferredAttrContext
        end local 4 // com.sun.tools.javac.code.Type formal
        end local 3 // com.sun.tools.javac.code.Type actual
        end local 2 // boolean varargs
        end local 1 // com.sun.tools.javac.util.JCDiagnostic$DiagnosticPosition pos
        end local 0 // com.sun.tools.javac.comp.Resolve$MethodReferenceCheck this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0    3     0                 this  Lcom/sun/tools/javac/comp/Resolve$MethodReferenceCheck;
            0    3     1                  pos  Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticPosition;
            0    3     2              varargs  Z
            0    3     3               actual  Lcom/sun/tools/javac/code/Type;
            0    3     4               formal  Lcom/sun/tools/javac/code/Type;
            0    3     5  deferredAttrContext  Lcom/sun/tools/javac/comp/DeferredAttr$DeferredAttrContext;
            0    3     6                 warn  Lcom/sun/tools/javac/util/Warner;
            1    3     7              mresult  Lcom/sun/tools/javac/comp/Attr$ResultInfo;
    MethodParameters:
                     Name  Flags
      pos                  
      varargs              
      actual               
      formal               
      deferredAttrContext  
      warn                 

  private com.sun.tools.javac.comp.Attr$ResultInfo methodCheckResult(boolean, com.sun.tools.javac.code.Type, com.sun.tools.javac.comp.DeferredAttr$DeferredAttrContext, com.sun.tools.javac.util.Warner);
    descriptor: (ZLcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/comp/DeferredAttr$DeferredAttrContext;Lcom/sun/tools/javac/util/Warner;)Lcom/sun/tools/javac/comp/Attr$ResultInfo;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=8, locals=6, args_size=5
        start local 0 // com.sun.tools.javac.comp.Resolve$MethodReferenceCheck this
        start local 1 // boolean varargsCheck
        start local 2 // com.sun.tools.javac.code.Type to
        start local 3 // com.sun.tools.javac.comp.DeferredAttr$DeferredAttrContext deferredAttrContext
        start local 4 // com.sun.tools.javac.util.Warner rsWarner
         0: .line 974
            new com.sun.tools.javac.comp.Resolve$MethodReferenceCheck$1
            dup
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Resolve$MethodReferenceCheck.this$0:Lcom/sun/tools/javac/comp/Resolve;
            aload 3 /* 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.isBoxingRequired:()Z
            ifeq 1
            iconst_0
            goto 2
      StackMap locals: com.sun.tools.javac.comp.Resolve$MethodReferenceCheck int com.sun.tools.javac.code.Type com.sun.tools.javac.comp.DeferredAttr$DeferredAttrContext com.sun.tools.javac.util.Warner
      StackMap stack: new 0 new 0 com.sun.tools.javac.comp.Resolve$MethodReferenceCheck com.sun.tools.javac.comp.Resolve
         1: iconst_1
      StackMap locals: com.sun.tools.javac.comp.Resolve$MethodReferenceCheck int com.sun.tools.javac.code.Type com.sun.tools.javac.comp.DeferredAttr$DeferredAttrContext com.sun.tools.javac.util.Warner
      StackMap stack: new 0 new 0 com.sun.tools.javac.comp.Resolve$MethodReferenceCheck com.sun.tools.javac.comp.Resolve int
         2: aload 3 /* deferredAttrContext */
            aload 4 /* rsWarner */
            iload 1 /* varargsCheck */
            invokespecial com.sun.tools.javac.comp.Resolve$MethodReferenceCheck$1.<init>:(Lcom/sun/tools/javac/comp/Resolve$MethodReferenceCheck;Lcom/sun/tools/javac/comp/Resolve;ZLcom/sun/tools/javac/comp/DeferredAttr$DeferredAttrContext;Lcom/sun/tools/javac/util/Warner;Z)V
            astore 5 /* checkContext */
        start local 5 // com.sun.tools.javac.comp.Check$CheckContext checkContext
         3: .line 992
            new com.sun.tools.javac.comp.Resolve$MethodResultInfo
            dup
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Resolve$MethodReferenceCheck.this$0:Lcom/sun/tools/javac/comp/Resolve;
            aload 2 /* to */
            aload 5 /* checkContext */
            invokespecial com.sun.tools.javac.comp.Resolve$MethodResultInfo.<init>:(Lcom/sun/tools/javac/comp/Resolve;Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/comp/Check$CheckContext;)V
            areturn
        end local 5 // com.sun.tools.javac.comp.Check$CheckContext checkContext
        end local 4 // com.sun.tools.javac.util.Warner rsWarner
        end local 3 // com.sun.tools.javac.comp.DeferredAttr$DeferredAttrContext deferredAttrContext
        end local 2 // com.sun.tools.javac.code.Type to
        end local 1 // boolean varargsCheck
        end local 0 // com.sun.tools.javac.comp.Resolve$MethodReferenceCheck this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0    4     0                 this  Lcom/sun/tools/javac/comp/Resolve$MethodReferenceCheck;
            0    4     1         varargsCheck  Z
            0    4     2                   to  Lcom/sun/tools/javac/code/Type;
            0    4     3  deferredAttrContext  Lcom/sun/tools/javac/comp/DeferredAttr$DeferredAttrContext;
            0    4     4             rsWarner  Lcom/sun/tools/javac/util/Warner;
            3    4     5         checkContext  Lcom/sun/tools/javac/comp/Check$CheckContext;
    MethodParameters:
                     Name  Flags
      varargsCheck         final
      to                   
      deferredAttrContext  final
      rsWarner             

  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=4, locals=2, args_size=2
        start local 0 // com.sun.tools.javac.comp.Resolve$MethodReferenceCheck this
        start local 1 // com.sun.tools.javac.util.List actuals
         0: .line 997
            new com.sun.tools.javac.comp.Resolve$MostSpecificCheck
            dup
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Resolve$MethodReferenceCheck.this$0:Lcom/sun/tools/javac/comp/Resolve;
            aload 1 /* actuals */
            invokespecial com.sun.tools.javac.comp.Resolve$MostSpecificCheck.<init>:(Lcom/sun/tools/javac/comp/Resolve;Lcom/sun/tools/javac/util/List;)V
            areturn
        end local 1 // com.sun.tools.javac.util.List actuals
        end local 0 // com.sun.tools.javac.comp.Resolve$MethodReferenceCheck this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lcom/sun/tools/javac/comp/Resolve$MethodReferenceCheck;
            0    1     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  

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.tools.javac.comp.Resolve$MethodReferenceCheck this
         0: .line 1002
            ldc "MethodReferenceCheck"
            areturn
        end local 0 // com.sun.tools.javac.comp.Resolve$MethodReferenceCheck this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/javac/comp/Resolve$MethodReferenceCheck;

  static com.sun.tools.javac.comp.Resolve access$0(com.sun.tools.javac.comp.Resolve$MethodReferenceCheck);
    descriptor: (Lcom/sun/tools/javac/comp/Resolve$MethodReferenceCheck;)Lcom/sun/tools/javac/comp/Resolve;
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 958
            aload 0
            getfield com.sun.tools.javac.comp.Resolve$MethodReferenceCheck.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:
  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 AbstractMethodCheck = com.sun.tools.javac.comp.Resolve$AbstractMethodCheck of com.sun.tools.javac.comp.Resolve
  abstract MethodCheck = com.sun.tools.javac.comp.Resolve$MethodCheck of com.sun.tools.javac.comp.Resolve
  MethodReferenceCheck = com.sun.tools.javac.comp.Resolve$MethodReferenceCheck of com.sun.tools.javac.comp.Resolve
  com.sun.tools.javac.comp.Resolve$MethodReferenceCheck$1
  MethodResolutionPhase = com.sun.tools.javac.comp.Resolve$MethodResolutionPhase of com.sun.tools.javac.comp.Resolve
  MethodResultInfo = com.sun.tools.javac.comp.Resolve$MethodResultInfo of com.sun.tools.javac.comp.Resolve
  MostSpecificCheck = com.sun.tools.javac.comp.Resolve$MostSpecificCheck of com.sun.tools.javac.comp.Resolve
  public abstract DiagnosticPosition = com.sun.tools.javac.util.JCDiagnostic$DiagnosticPosition of com.sun.tools.javac.util.JCDiagnostic