class com.sun.tools.javac.comp.Attr$FunctionalReturnContext extends com.sun.tools.javac.comp.Check$NestedCheckContext
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: com.sun.tools.javac.comp.Attr$FunctionalReturnContext
  super_class: com.sun.tools.javac.comp.Check$NestedCheckContext
{
  final com.sun.tools.javac.comp.Attr this$0;
    descriptor: Lcom/sun/tools/javac/comp/Attr;
    flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC

  void <init>(com.sun.tools.javac.comp.Attr, com.sun.tools.javac.comp.Check$CheckContext);
    descriptor: (Lcom/sun/tools/javac/comp/Attr;Lcom/sun/tools/javac/comp/Check$CheckContext;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // com.sun.tools.javac.comp.Attr$FunctionalReturnContext this
        start local 2 // com.sun.tools.javac.comp.Check$CheckContext enclosingContext
         0: .line 3186
            aload 0 /* this */
            aload 1
            putfield com.sun.tools.javac.comp.Attr$FunctionalReturnContext.this$0:Lcom/sun/tools/javac/comp/Attr;
         1: .line 3187
            aload 0 /* this */
            aload 2 /* enclosingContext */
            invokespecial com.sun.tools.javac.comp.Check$NestedCheckContext.<init>:(Lcom/sun/tools/javac/comp/Check$CheckContext;)V
         2: .line 3188
            return
        end local 2 // com.sun.tools.javac.comp.Check$CheckContext enclosingContext
        end local 0 // com.sun.tools.javac.comp.Attr$FunctionalReturnContext this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    3     0              this  Lcom/sun/tools/javac/comp/Attr$FunctionalReturnContext;
            0    3     2  enclosingContext  Lcom/sun/tools/javac/comp/Check$CheckContext;
    MethodParameters:
                  Name  Flags
      this$0            final
      enclosingContext  

  public boolean compatible(com.sun.tools.javac.code.Type, com.sun.tools.javac.code.Type, com.sun.tools.javac.util.Warner);
    descriptor: (Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/util/Warner;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // com.sun.tools.javac.comp.Attr$FunctionalReturnContext this
        start local 1 // com.sun.tools.javac.code.Type found
        start local 2 // com.sun.tools.javac.code.Type req
        start local 3 // com.sun.tools.javac.util.Warner warn
         0: .line 3193
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Attr$FunctionalReturnContext.this$0:Lcom/sun/tools/javac/comp/Attr;
            getfield com.sun.tools.javac.comp.Attr.chk:Lcom/sun/tools/javac/comp/Check;
            getfield com.sun.tools.javac.comp.Check.basicHandler:Lcom/sun/tools/javac/comp/Check$CheckContext;
            aload 0 /* this */
            invokevirtual com.sun.tools.javac.comp.Attr$FunctionalReturnContext.inferenceContext:()Lcom/sun/tools/javac/comp/InferenceContext;
            aload 1 /* found */
            invokevirtual com.sun.tools.javac.comp.InferenceContext.asUndetVar:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
            aload 0 /* this */
            invokevirtual com.sun.tools.javac.comp.Attr$FunctionalReturnContext.inferenceContext:()Lcom/sun/tools/javac/comp/InferenceContext;
            aload 2 /* req */
            invokevirtual com.sun.tools.javac.comp.InferenceContext.asUndetVar:(Lcom/sun/tools/javac/code/Type;)Lcom/sun/tools/javac/code/Type;
            aload 3 /* warn */
            invokeinterface com.sun.tools.javac.comp.Check$CheckContext.compatible:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/util/Warner;)Z
            ireturn
        end local 3 // com.sun.tools.javac.util.Warner warn
        end local 2 // com.sun.tools.javac.code.Type req
        end local 1 // com.sun.tools.javac.code.Type found
        end local 0 // com.sun.tools.javac.comp.Attr$FunctionalReturnContext this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Lcom/sun/tools/javac/comp/Attr$FunctionalReturnContext;
            0    1     1  found  Lcom/sun/tools/javac/code/Type;
            0    1     2    req  Lcom/sun/tools/javac/code/Type;
            0    1     3   warn  Lcom/sun/tools/javac/util/Warner;
    MethodParameters:
       Name  Flags
      found  
      req    
      warn   

  public void report(com.sun.tools.javac.util.JCDiagnostic$DiagnosticPosition, com.sun.tools.javac.util.JCDiagnostic);
    descriptor: (Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticPosition;Lcom/sun/tools/javac/util/JCDiagnostic;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // com.sun.tools.javac.comp.Attr$FunctionalReturnContext this
        start local 1 // com.sun.tools.javac.util.JCDiagnostic$DiagnosticPosition pos
        start local 2 // com.sun.tools.javac.util.JCDiagnostic details
         0: .line 3198
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Attr$FunctionalReturnContext.enclosingContext:Lcom/sun/tools/javac/comp/Check$CheckContext;
            aload 1 /* pos */
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Attr$FunctionalReturnContext.this$0:Lcom/sun/tools/javac/comp/Attr;
            getfield com.sun.tools.javac.comp.Attr.diags:Lcom/sun/tools/javac/util/JCDiagnostic$Factory;
            aload 2 /* details */
            invokestatic com.sun.tools.javac.resources.CompilerProperties$Fragments.IncompatibleRetTypeInLambda:(Lcom/sun/tools/javac/util/JCDiagnostic;)Lcom/sun/tools/javac/util/JCDiagnostic$Fragment;
            invokevirtual com.sun.tools.javac.util.JCDiagnostic$Factory.fragment:(Lcom/sun/tools/javac/util/JCDiagnostic$Fragment;)Lcom/sun/tools/javac/util/JCDiagnostic;
            invokeinterface com.sun.tools.javac.comp.Check$CheckContext.report:(Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticPosition;Lcom/sun/tools/javac/util/JCDiagnostic;)V
         1: .line 3199
            return
        end local 2 // com.sun.tools.javac.util.JCDiagnostic details
        end local 1 // com.sun.tools.javac.util.JCDiagnostic$DiagnosticPosition pos
        end local 0 // com.sun.tools.javac.comp.Attr$FunctionalReturnContext this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lcom/sun/tools/javac/comp/Attr$FunctionalReturnContext;
            0    2     1      pos  Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticPosition;
            0    2     2  details  Lcom/sun/tools/javac/util/JCDiagnostic;
    MethodParameters:
         Name  Flags
      pos      
      details  
}
SourceFile: "Attr.java"
NestHost: com.sun.tools.javac.comp.Attr
InnerClasses:
  FunctionalReturnContext = com.sun.tools.javac.comp.Attr$FunctionalReturnContext of com.sun.tools.javac.comp.Attr
  public abstract CheckContext = com.sun.tools.javac.comp.Check$CheckContext of com.sun.tools.javac.comp.Check
  NestedCheckContext = com.sun.tools.javac.comp.Check$NestedCheckContext of com.sun.tools.javac.comp.Check
  public Fragments = com.sun.tools.javac.resources.CompilerProperties$Fragments of com.sun.tools.javac.resources.CompilerProperties
  public abstract DiagnosticPosition = com.sun.tools.javac.util.JCDiagnostic$DiagnosticPosition of com.sun.tools.javac.util.JCDiagnostic
  public Factory = com.sun.tools.javac.util.JCDiagnostic$Factory of com.sun.tools.javac.util.JCDiagnostic
  public final Fragment = com.sun.tools.javac.util.JCDiagnostic$Fragment of com.sun.tools.javac.util.JCDiagnostic