class com.sun.tools.javac.comp.Resolve$MethodResolutionContext
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: com.sun.tools.javac.comp.Resolve$MethodResolutionContext
  super_class: java.lang.Object
{
  private com.sun.tools.javac.util.List<com.sun.tools.javac.comp.Resolve$MethodResolutionContext$Candidate> candidates;
    descriptor: Lcom/sun/tools/javac/util/List;
    flags: (0x0002) ACC_PRIVATE
    Signature: Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/comp/Resolve$MethodResolutionContext$Candidate;>;

  com.sun.tools.javac.comp.Resolve$MethodResolutionPhase step;
    descriptor: Lcom/sun/tools/javac/comp/Resolve$MethodResolutionPhase;
    flags: (0x0000) 

  com.sun.tools.javac.comp.Resolve$MethodCheck methodCheck;
    descriptor: Lcom/sun/tools/javac/comp/Resolve$MethodCheck;
    flags: (0x0000) 

  private boolean internalResolution;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private com.sun.tools.javac.comp.DeferredAttr$AttrMode attrMode;
    descriptor: Lcom/sun/tools/javac/comp/DeferredAttr$AttrMode;
    flags: (0x0002) ACC_PRIVATE

  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);
    descriptor: (Lcom/sun/tools/javac/comp/Resolve;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.sun.tools.javac.comp.Resolve$MethodResolutionContext this
         0: .line 4803
            aload 0 /* this */
            aload 1
            putfield com.sun.tools.javac.comp.Resolve$MethodResolutionContext.this$0:Lcom/sun/tools/javac/comp/Resolve;
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 4805
            aload 0 /* this */
            invokestatic com.sun.tools.javac.util.List.nil:()Lcom/sun/tools/javac/util/List;
            putfield com.sun.tools.javac.comp.Resolve$MethodResolutionContext.candidates:Lcom/sun/tools/javac/util/List;
         2: .line 4807
            aload 0 /* this */
            aconst_null
            putfield com.sun.tools.javac.comp.Resolve$MethodResolutionContext.step:Lcom/sun/tools/javac/comp/Resolve$MethodResolutionPhase;
         3: .line 4809
            aload 0 /* this */
            aload 1
            getfield com.sun.tools.javac.comp.Resolve.resolveMethodCheck:Lcom/sun/tools/javac/comp/Resolve$MethodCheck;
            putfield com.sun.tools.javac.comp.Resolve$MethodResolutionContext.methodCheck:Lcom/sun/tools/javac/comp/Resolve$MethodCheck;
         4: .line 4811
            aload 0 /* this */
            iconst_0
            putfield com.sun.tools.javac.comp.Resolve$MethodResolutionContext.internalResolution:Z
         5: .line 4812
            aload 0 /* this */
            getstatic com.sun.tools.javac.comp.DeferredAttr$AttrMode.SPECULATIVE:Lcom/sun/tools/javac/comp/DeferredAttr$AttrMode;
            putfield com.sun.tools.javac.comp.Resolve$MethodResolutionContext.attrMode:Lcom/sun/tools/javac/comp/DeferredAttr$AttrMode;
         6: .line 4803
            return
        end local 0 // com.sun.tools.javac.comp.Resolve$MethodResolutionContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    7     0  this  Lcom/sun/tools/javac/comp/Resolve$MethodResolutionContext;
    MethodParameters:
        Name  Flags
      this$0  final

  void addInapplicableCandidate(com.sun.tools.javac.code.Symbol, com.sun.tools.javac.util.JCDiagnostic);
    descriptor: (Lcom/sun/tools/javac/code/Symbol;Lcom/sun/tools/javac/util/JCDiagnostic;)V
    flags: (0x0000) 
    Code:
      stack=7, locals=4, args_size=3
        start local 0 // com.sun.tools.javac.comp.Resolve$MethodResolutionContext this
        start local 1 // com.sun.tools.javac.code.Symbol sym
        start local 2 // com.sun.tools.javac.util.JCDiagnostic details
         0: .line 4815
            new com.sun.tools.javac.comp.Resolve$MethodResolutionContext$Candidate
            dup
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Resolve$MethodResolutionContext.this$0:Lcom/sun/tools/javac/comp/Resolve;
            getfield com.sun.tools.javac.comp.Resolve.currentResolutionContext:Lcom/sun/tools/javac/comp/Resolve$MethodResolutionContext;
            getfield com.sun.tools.javac.comp.Resolve$MethodResolutionContext.step:Lcom/sun/tools/javac/comp/Resolve$MethodResolutionPhase;
            aload 1 /* sym */
            aload 2 /* details */
            aconst_null
            invokespecial com.sun.tools.javac.comp.Resolve$MethodResolutionContext$Candidate.<init>:(Lcom/sun/tools/javac/comp/Resolve$MethodResolutionContext;Lcom/sun/tools/javac/comp/Resolve$MethodResolutionPhase;Lcom/sun/tools/javac/code/Symbol;Lcom/sun/tools/javac/util/JCDiagnostic;Lcom/sun/tools/javac/code/Type;)V
            astore 3 /* c */
        start local 3 // com.sun.tools.javac.comp.Resolve$MethodResolutionContext$Candidate c
         1: .line 4816
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Resolve$MethodResolutionContext.candidates:Lcom/sun/tools/javac/util/List;
            aload 3 /* c */
            invokevirtual com.sun.tools.javac.util.List.append:(Ljava/lang/Object;)Lcom/sun/tools/javac/util/List;
            putfield com.sun.tools.javac.comp.Resolve$MethodResolutionContext.candidates:Lcom/sun/tools/javac/util/List;
         2: .line 4817
            return
        end local 3 // com.sun.tools.javac.comp.Resolve$MethodResolutionContext$Candidate c
        end local 2 // com.sun.tools.javac.util.JCDiagnostic details
        end local 1 // com.sun.tools.javac.code.Symbol sym
        end local 0 // com.sun.tools.javac.comp.Resolve$MethodResolutionContext this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    3     0     this  Lcom/sun/tools/javac/comp/Resolve$MethodResolutionContext;
            0    3     1      sym  Lcom/sun/tools/javac/code/Symbol;
            0    3     2  details  Lcom/sun/tools/javac/util/JCDiagnostic;
            1    3     3        c  Lcom/sun/tools/javac/comp/Resolve$MethodResolutionContext$Candidate;
    MethodParameters:
         Name  Flags
      sym      
      details  

  void addApplicableCandidate(com.sun.tools.javac.code.Symbol, com.sun.tools.javac.code.Type);
    descriptor: (Lcom/sun/tools/javac/code/Symbol;Lcom/sun/tools/javac/code/Type;)V
    flags: (0x0000) 
    Code:
      stack=7, locals=4, args_size=3
        start local 0 // com.sun.tools.javac.comp.Resolve$MethodResolutionContext this
        start local 1 // com.sun.tools.javac.code.Symbol sym
        start local 2 // com.sun.tools.javac.code.Type mtype
         0: .line 4820
            new com.sun.tools.javac.comp.Resolve$MethodResolutionContext$Candidate
            dup
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Resolve$MethodResolutionContext.this$0:Lcom/sun/tools/javac/comp/Resolve;
            getfield com.sun.tools.javac.comp.Resolve.currentResolutionContext:Lcom/sun/tools/javac/comp/Resolve$MethodResolutionContext;
            getfield com.sun.tools.javac.comp.Resolve$MethodResolutionContext.step:Lcom/sun/tools/javac/comp/Resolve$MethodResolutionPhase;
            aload 1 /* sym */
            aconst_null
            aload 2 /* mtype */
            invokespecial com.sun.tools.javac.comp.Resolve$MethodResolutionContext$Candidate.<init>:(Lcom/sun/tools/javac/comp/Resolve$MethodResolutionContext;Lcom/sun/tools/javac/comp/Resolve$MethodResolutionPhase;Lcom/sun/tools/javac/code/Symbol;Lcom/sun/tools/javac/util/JCDiagnostic;Lcom/sun/tools/javac/code/Type;)V
            astore 3 /* c */
        start local 3 // com.sun.tools.javac.comp.Resolve$MethodResolutionContext$Candidate c
         1: .line 4821
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Resolve$MethodResolutionContext.candidates:Lcom/sun/tools/javac/util/List;
            aload 3 /* c */
            invokevirtual com.sun.tools.javac.util.List.append:(Ljava/lang/Object;)Lcom/sun/tools/javac/util/List;
            putfield com.sun.tools.javac.comp.Resolve$MethodResolutionContext.candidates:Lcom/sun/tools/javac/util/List;
         2: .line 4822
            return
        end local 3 // com.sun.tools.javac.comp.Resolve$MethodResolutionContext$Candidate c
        end local 2 // com.sun.tools.javac.code.Type mtype
        end local 1 // com.sun.tools.javac.code.Symbol sym
        end local 0 // com.sun.tools.javac.comp.Resolve$MethodResolutionContext this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Lcom/sun/tools/javac/comp/Resolve$MethodResolutionContext;
            0    3     1    sym  Lcom/sun/tools/javac/code/Symbol;
            0    3     2  mtype  Lcom/sun/tools/javac/code/Type;
            1    3     3      c  Lcom/sun/tools/javac/comp/Resolve$MethodResolutionContext$Candidate;
    MethodParameters:
       Name  Flags
      sym    
      mtype  

  com.sun.tools.javac.comp.DeferredAttr$DeferredAttrContext deferredAttrContext(com.sun.tools.javac.code.Symbol, com.sun.tools.javac.comp.InferenceContext, com.sun.tools.javac.comp.Attr$ResultInfo, com.sun.tools.javac.util.Warner);
    descriptor: (Lcom/sun/tools/javac/code/Symbol;Lcom/sun/tools/javac/comp/InferenceContext;Lcom/sun/tools/javac/comp/Attr$ResultInfo;Lcom/sun/tools/javac/util/Warner;)Lcom/sun/tools/javac/comp/DeferredAttr$DeferredAttrContext;
    flags: (0x0000) 
    Code:
      stack=9, locals=6, args_size=5
        start local 0 // com.sun.tools.javac.comp.Resolve$MethodResolutionContext this
        start local 1 // com.sun.tools.javac.code.Symbol sym
        start local 2 // com.sun.tools.javac.comp.InferenceContext inferenceContext
        start local 3 // com.sun.tools.javac.comp.Attr$ResultInfo pendingResult
        start local 4 // com.sun.tools.javac.util.Warner warn
         0: .line 4825
            aload 3 /* pendingResult */
            ifnonnull 2
         1: .line 4826
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Resolve$MethodResolutionContext.this$0:Lcom/sun/tools/javac/comp/Resolve;
            getfield com.sun.tools.javac.comp.Resolve.deferredAttr:Lcom/sun/tools/javac/comp/DeferredAttr;
            getfield com.sun.tools.javac.comp.DeferredAttr.emptyDeferredAttrContext:Lcom/sun/tools/javac/comp/DeferredAttr$DeferredAttrContext;
            goto 3
         2: .line 4827
      StackMap locals:
      StackMap stack:
            aload 3 /* pendingResult */
            getfield com.sun.tools.javac.comp.Attr$ResultInfo.checkContext:Lcom/sun/tools/javac/comp/Check$CheckContext;
            invokeinterface com.sun.tools.javac.comp.Check$CheckContext.deferredAttrContext:()Lcom/sun/tools/javac/comp/DeferredAttr$DeferredAttrContext;
         3: .line 4825
      StackMap locals:
      StackMap stack: com.sun.tools.javac.comp.DeferredAttr$DeferredAttrContext
            astore 5 /* parent */
        start local 5 // com.sun.tools.javac.comp.DeferredAttr$DeferredAttrContext parent
         4: .line 4828
            new com.sun.tools.javac.comp.DeferredAttr$DeferredAttrContext
            dup
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Resolve$MethodResolutionContext.this$0:Lcom/sun/tools/javac/comp/Resolve;
            getfield com.sun.tools.javac.comp.Resolve.deferredAttr:Lcom/sun/tools/javac/comp/DeferredAttr;
            dup
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            pop
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Resolve$MethodResolutionContext.attrMode:Lcom/sun/tools/javac/comp/DeferredAttr$AttrMode;
            aload 1 /* sym */
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Resolve$MethodResolutionContext.step:Lcom/sun/tools/javac/comp/Resolve$MethodResolutionPhase;
         5: .line 4829
            aload 2 /* inferenceContext */
            aload 5 /* parent */
            aload 4 /* warn */
         6: .line 4828
            invokespecial com.sun.tools.javac.comp.DeferredAttr$DeferredAttrContext.<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;Lcom/sun/tools/javac/comp/InferenceContext;Lcom/sun/tools/javac/comp/DeferredAttr$DeferredAttrContext;Lcom/sun/tools/javac/util/Warner;)V
            areturn
        end local 5 // com.sun.tools.javac.comp.DeferredAttr$DeferredAttrContext parent
        end local 4 // com.sun.tools.javac.util.Warner warn
        end local 3 // com.sun.tools.javac.comp.Attr$ResultInfo pendingResult
        end local 2 // com.sun.tools.javac.comp.InferenceContext inferenceContext
        end local 1 // com.sun.tools.javac.code.Symbol sym
        end local 0 // com.sun.tools.javac.comp.Resolve$MethodResolutionContext this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    7     0              this  Lcom/sun/tools/javac/comp/Resolve$MethodResolutionContext;
            0    7     1               sym  Lcom/sun/tools/javac/code/Symbol;
            0    7     2  inferenceContext  Lcom/sun/tools/javac/comp/InferenceContext;
            0    7     3     pendingResult  Lcom/sun/tools/javac/comp/Attr$ResultInfo;
            0    7     4              warn  Lcom/sun/tools/javac/util/Warner;
            4    7     5            parent  Lcom/sun/tools/javac/comp/DeferredAttr$DeferredAttrContext;
    MethodParameters:
                  Name  Flags
      sym               
      inferenceContext  
      pendingResult     
      warn              

  com.sun.tools.javac.comp.DeferredAttr$AttrMode attrMode();
    descriptor: ()Lcom/sun/tools/javac/comp/DeferredAttr$AttrMode;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.tools.javac.comp.Resolve$MethodResolutionContext this
         0: .line 4860
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Resolve$MethodResolutionContext.attrMode:Lcom/sun/tools/javac/comp/DeferredAttr$AttrMode;
            areturn
        end local 0 // com.sun.tools.javac.comp.Resolve$MethodResolutionContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/javac/comp/Resolve$MethodResolutionContext;

  boolean internal();
    descriptor: ()Z
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.sun.tools.javac.comp.Resolve$MethodResolutionContext this
         0: .line 4864
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Resolve$MethodResolutionContext.internalResolution:Z
            ireturn
        end local 0 // com.sun.tools.javac.comp.Resolve$MethodResolutionContext this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/javac/comp/Resolve$MethodResolutionContext;
}
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
  public final AttrMode = com.sun.tools.javac.comp.DeferredAttr$AttrMode of com.sun.tools.javac.comp.DeferredAttr
  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
  MethodResolutionContext = com.sun.tools.javac.comp.Resolve$MethodResolutionContext of com.sun.tools.javac.comp.Resolve
  Candidate = com.sun.tools.javac.comp.Resolve$MethodResolutionContext$Candidate of com.sun.tools.javac.comp.Resolve$MethodResolutionContext
  MethodResolutionPhase = com.sun.tools.javac.comp.Resolve$MethodResolutionPhase of com.sun.tools.javac.comp.Resolve