class com.sun.tools.javac.comp.Attr$ExpressionLambdaReturnContext extends com.sun.tools.javac.comp.Attr$FunctionalReturnContext
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: com.sun.tools.javac.comp.Attr$ExpressionLambdaReturnContext
  super_class: com.sun.tools.javac.comp.Attr$FunctionalReturnContext
{
  com.sun.tools.javac.tree.JCTree$JCExpression expr;
    descriptor: Lcom/sun/tools/javac/tree/JCTree$JCExpression;
    flags: (0x0000) 

  boolean expStmtExpected;
    descriptor: Z
    flags: (0x0000) 

  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.tree.JCTree$JCExpression, com.sun.tools.javac.comp.Check$CheckContext);
    descriptor: (Lcom/sun/tools/javac/comp/Attr;Lcom/sun/tools/javac/tree/JCTree$JCExpression;Lcom/sun/tools/javac/comp/Check$CheckContext;)V
    flags: (0x0000) 
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // com.sun.tools.javac.comp.Attr$ExpressionLambdaReturnContext this
        start local 2 // com.sun.tools.javac.tree.JCTree$JCExpression expr
        start local 3 // com.sun.tools.javac.comp.Check$CheckContext enclosingContext
         0: .line 2814
            aload 0 /* this */
            aload 1
            putfield com.sun.tools.javac.comp.Attr$ExpressionLambdaReturnContext.this$0:Lcom/sun/tools/javac/comp/Attr;
         1: .line 2815
            aload 0 /* this */
            aload 1
            aload 3 /* enclosingContext */
            invokespecial com.sun.tools.javac.comp.Attr$FunctionalReturnContext.<init>:(Lcom/sun/tools/javac/comp/Attr;Lcom/sun/tools/javac/comp/Check$CheckContext;)V
         2: .line 2816
            aload 0 /* this */
            aload 2 /* expr */
            putfield com.sun.tools.javac.comp.Attr$ExpressionLambdaReturnContext.expr:Lcom/sun/tools/javac/tree/JCTree$JCExpression;
         3: .line 2817
            return
        end local 3 // com.sun.tools.javac.comp.Check$CheckContext enclosingContext
        end local 2 // com.sun.tools.javac.tree.JCTree$JCExpression expr
        end local 0 // com.sun.tools.javac.comp.Attr$ExpressionLambdaReturnContext this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    4     0              this  Lcom/sun/tools/javac/comp/Attr$ExpressionLambdaReturnContext;
            0    4     2              expr  Lcom/sun/tools/javac/tree/JCTree$JCExpression;
            0    4     3  enclosingContext  Lcom/sun/tools/javac/comp/Check$CheckContext;
    MethodParameters:
                  Name  Flags
      this$0            final
      expr              
      enclosingContext  

  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$ExpressionLambdaReturnContext this
        start local 1 // com.sun.tools.javac.util.JCDiagnostic$DiagnosticPosition pos
        start local 2 // com.sun.tools.javac.util.JCDiagnostic details
         0: .line 2821
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Attr$ExpressionLambdaReturnContext.expStmtExpected:Z
            ifeq 3
         1: .line 2822
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Attr$ExpressionLambdaReturnContext.enclosingContext:Lcom/sun/tools/javac/comp/Check$CheckContext;
            aload 1 /* pos */
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Attr$ExpressionLambdaReturnContext.this$0:Lcom/sun/tools/javac/comp/Attr;
            getfield com.sun.tools.javac.comp.Attr.diags:Lcom/sun/tools/javac/util/JCDiagnostic$Factory;
            getstatic com.sun.tools.javac.resources.CompilerProperties$Fragments.StatExprExpected: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
         2: .line 2823
            goto 4
         3: .line 2824
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* pos */
            aload 2 /* details */
            invokespecial com.sun.tools.javac.comp.Attr$FunctionalReturnContext.report:(Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticPosition;Lcom/sun/tools/javac/util/JCDiagnostic;)V
         4: .line 2826
      StackMap locals:
      StackMap stack:
            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$ExpressionLambdaReturnContext this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    5     0     this  Lcom/sun/tools/javac/comp/Attr$ExpressionLambdaReturnContext;
            0    5     1      pos  Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticPosition;
            0    5     2  details  Lcom/sun/tools/javac/util/JCDiagnostic;
    MethodParameters:
         Name  Flags
      pos      
      details  

  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$ExpressionLambdaReturnContext 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 2831
            aload 2 /* req */
            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
            ifeq 3
         1: .line 2832
            aload 0 /* this */
            iconst_1
            putfield com.sun.tools.javac.comp.Attr$ExpressionLambdaReturnContext.expStmtExpected:Z
         2: .line 2833
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.Attr$ExpressionLambdaReturnContext.expr:Lcom/sun/tools/javac/tree/JCTree$JCExpression;
            invokestatic com.sun.tools.javac.tree.TreeInfo.isExpressionStatement:(Lcom/sun/tools/javac/tree/JCTree$JCExpression;)Z
            ireturn
         3: .line 2835
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* found */
            aload 2 /* req */
            aload 3 /* warn */
            invokespecial com.sun.tools.javac.comp.Attr$FunctionalReturnContext.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$ExpressionLambdaReturnContext this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    4     0   this  Lcom/sun/tools/javac/comp/Attr$ExpressionLambdaReturnContext;
            0    4     1  found  Lcom/sun/tools/javac/code/Type;
            0    4     2    req  Lcom/sun/tools/javac/code/Type;
            0    4     3   warn  Lcom/sun/tools/javac/util/Warner;
    MethodParameters:
       Name  Flags
      found  
      req    
      warn   
}
SourceFile: "Attr.java"
NestHost: com.sun.tools.javac.comp.Attr
InnerClasses:
  ExpressionLambdaReturnContext = com.sun.tools.javac.comp.Attr$ExpressionLambdaReturnContext of com.sun.tools.javac.comp.Attr
  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
  public Fragments = com.sun.tools.javac.resources.CompilerProperties$Fragments of com.sun.tools.javac.resources.CompilerProperties
  public abstract JCExpression = com.sun.tools.javac.tree.JCTree$JCExpression of com.sun.tools.javac.tree.JCTree
  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