class com.sun.tools.javac.comp.ArgumentAttr$ExplicitLambdaType extends com.sun.tools.javac.comp.ArgumentAttr$ArgumentType<com.sun.tools.javac.tree.JCTree$JCLambda>
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: com.sun.tools.javac.comp.ArgumentAttr$ExplicitLambdaType
  super_class: com.sun.tools.javac.comp.ArgumentAttr$ArgumentType
{
  java.util.Optional<com.sun.tools.javac.util.List<com.sun.tools.javac.code.Type>> argtypes;
    descriptor: Ljava/util/Optional;
    flags: (0x0000) 
    Signature: Ljava/util/Optional<Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;>;

  java.util.Optional<com.sun.tools.javac.util.List<com.sun.tools.javac.tree.JCTree$JCReturn>> returnExpressions;
    descriptor: Ljava/util/Optional;
    flags: (0x0000) 
    Signature: Ljava/util/Optional<Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/tree/JCTree$JCReturn;>;>;

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

  private static volatile int[] $SWITCH_TABLE$com$sun$source$tree$LambdaExpressionTree$BodyKind;
    descriptor: [I
    flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC

  void <init>(com.sun.tools.javac.tree.JCTree$JCLambda, com.sun.tools.javac.comp.Env<com.sun.tools.javac.comp.AttrContext>, com.sun.tools.javac.tree.JCTree$JCLambda);
    descriptor: (Lcom/sun/tools/javac/comp/ArgumentAttr;Lcom/sun/tools/javac/tree/JCTree$JCLambda;Lcom/sun/tools/javac/comp/Env;Lcom/sun/tools/javac/tree/JCTree$JCLambda;)V
    flags: (0x0000) 
    Code:
      stack=7, locals=5, args_size=5
        start local 0 // com.sun.tools.javac.comp.ArgumentAttr$ExplicitLambdaType this
        start local 2 // com.sun.tools.javac.tree.JCTree$JCLambda originalLambda
        start local 3 // com.sun.tools.javac.comp.Env env
        start local 4 // com.sun.tools.javac.tree.JCTree$JCLambda speculativeLambda
         0: .line 534
            aload 0 /* this */
            aload 1
            aload 2 /* originalLambda */
            aload 3 /* env */
            aload 4 /* speculativeLambda */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            invokespecial com.sun.tools.javac.comp.ArgumentAttr$ExplicitLambdaType.<init>:(Lcom/sun/tools/javac/comp/ArgumentAttr;Lcom/sun/tools/javac/tree/JCTree$JCLambda;Lcom/sun/tools/javac/comp/Env;Lcom/sun/tools/javac/tree/JCTree$JCLambda;Ljava/util/Map;)V
         1: .line 535
            return
        end local 4 // com.sun.tools.javac.tree.JCTree$JCLambda speculativeLambda
        end local 3 // com.sun.tools.javac.comp.Env env
        end local 2 // com.sun.tools.javac.tree.JCTree$JCLambda originalLambda
        end local 0 // com.sun.tools.javac.comp.ArgumentAttr$ExplicitLambdaType this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    2     0               this  Lcom/sun/tools/javac/comp/ArgumentAttr$ExplicitLambdaType;
            0    2     2     originalLambda  Lcom/sun/tools/javac/tree/JCTree$JCLambda;
            0    2     3                env  Lcom/sun/tools/javac/comp/Env<Lcom/sun/tools/javac/comp/AttrContext;>;
            0    2     4  speculativeLambda  Lcom/sun/tools/javac/tree/JCTree$JCLambda;
    Signature: (Lcom/sun/tools/javac/tree/JCTree$JCLambda;Lcom/sun/tools/javac/comp/Env<Lcom/sun/tools/javac/comp/AttrContext;>;Lcom/sun/tools/javac/tree/JCTree$JCLambda;)V
    MethodParameters:
                   Name  Flags
      this$0             final
      originalLambda     
      env                
      speculativeLambda  

  void <init>(com.sun.tools.javac.tree.JCTree$JCLambda, com.sun.tools.javac.comp.Env<com.sun.tools.javac.comp.AttrContext>, com.sun.tools.javac.tree.JCTree$JCLambda, java.util.Map<com.sun.tools.javac.comp.Attr$ResultInfo, com.sun.tools.javac.code.Type>);
    descriptor: (Lcom/sun/tools/javac/comp/ArgumentAttr;Lcom/sun/tools/javac/tree/JCTree$JCLambda;Lcom/sun/tools/javac/comp/Env;Lcom/sun/tools/javac/tree/JCTree$JCLambda;Ljava/util/Map;)V
    flags: (0x0000) 
    Code:
      stack=6, locals=6, args_size=6
        start local 0 // com.sun.tools.javac.comp.ArgumentAttr$ExplicitLambdaType this
        start local 2 // com.sun.tools.javac.tree.JCTree$JCLambda originalLambda
        start local 3 // com.sun.tools.javac.comp.Env env
        start local 4 // com.sun.tools.javac.tree.JCTree$JCLambda speculativeLambda
        start local 5 // java.util.Map speculativeTypes
         0: .line 537
            aload 0 /* this */
            aload 1
            putfield com.sun.tools.javac.comp.ArgumentAttr$ExplicitLambdaType.this$0:Lcom/sun/tools/javac/comp/ArgumentAttr;
         1: .line 538
            aload 0 /* this */
            aload 1
            aload 2 /* originalLambda */
            aload 3 /* env */
            aload 4 /* speculativeLambda */
            aload 5 /* speculativeTypes */
            invokespecial com.sun.tools.javac.comp.ArgumentAttr$ArgumentType.<init>:(Lcom/sun/tools/javac/comp/ArgumentAttr;Lcom/sun/tools/javac/tree/JCTree$JCExpression;Lcom/sun/tools/javac/comp/Env;Lcom/sun/tools/javac/tree/JCTree$JCExpression;Ljava/util/Map;)V
         2: .line 528
            aload 0 /* this */
            invokestatic java.util.Optional.empty:()Ljava/util/Optional;
            putfield com.sun.tools.javac.comp.ArgumentAttr$ExplicitLambdaType.argtypes:Ljava/util/Optional;
         3: .line 531
            aload 0 /* this */
            invokestatic java.util.Optional.empty:()Ljava/util/Optional;
            putfield com.sun.tools.javac.comp.ArgumentAttr$ExplicitLambdaType.returnExpressions:Ljava/util/Optional;
         4: .line 539
            return
        end local 5 // java.util.Map speculativeTypes
        end local 4 // com.sun.tools.javac.tree.JCTree$JCLambda speculativeLambda
        end local 3 // com.sun.tools.javac.comp.Env env
        end local 2 // com.sun.tools.javac.tree.JCTree$JCLambda originalLambda
        end local 0 // com.sun.tools.javac.comp.ArgumentAttr$ExplicitLambdaType this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    5     0               this  Lcom/sun/tools/javac/comp/ArgumentAttr$ExplicitLambdaType;
            0    5     2     originalLambda  Lcom/sun/tools/javac/tree/JCTree$JCLambda;
            0    5     3                env  Lcom/sun/tools/javac/comp/Env<Lcom/sun/tools/javac/comp/AttrContext;>;
            0    5     4  speculativeLambda  Lcom/sun/tools/javac/tree/JCTree$JCLambda;
            0    5     5   speculativeTypes  Ljava/util/Map<Lcom/sun/tools/javac/comp/Attr$ResultInfo;Lcom/sun/tools/javac/code/Type;>;
    Signature: (Lcom/sun/tools/javac/tree/JCTree$JCLambda;Lcom/sun/tools/javac/comp/Env<Lcom/sun/tools/javac/comp/AttrContext;>;Lcom/sun/tools/javac/tree/JCTree$JCLambda;Ljava/util/Map<Lcom/sun/tools/javac/comp/Attr$ResultInfo;Lcom/sun/tools/javac/code/Type;>;)V
    MethodParameters:
                   Name  Flags
      this$0             final
      originalLambda     
      env                
      speculativeLambda  
      speculativeTypes   

  com.sun.tools.javac.util.List<com.sun.tools.javac.code.Type> argtypes();
    descriptor: ()Lcom/sun/tools/javac/util/List;
    flags: (0x0000) 
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.sun.tools.javac.comp.ArgumentAttr$ExplicitLambdaType this
         0: .line 543
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.ArgumentAttr$ExplicitLambdaType.argtypes:Ljava/util/Optional;
            aload 0 /* this */
            invokedynamic get(Lcom/sun/tools/javac/comp/ArgumentAttr$ExplicitLambdaType;)Ljava/util/function/Supplier;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  ()Ljava/lang/Object;
                  com/sun/tools/javac/comp/ArgumentAttr$ExplicitLambdaType.lambda$0()Lcom/sun/tools/javac/util/List; (7)
                  ()Lcom/sun/tools/javac/util/List;
            invokevirtual java.util.Optional.orElseGet:(Ljava/util/function/Supplier;)Ljava/lang/Object;
            checkcast com.sun.tools.javac.util.List
            areturn
        end local 0 // com.sun.tools.javac.comp.ArgumentAttr$ExplicitLambdaType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/javac/comp/ArgumentAttr$ExplicitLambdaType;
    Signature: ()Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;

  com.sun.tools.javac.util.List<com.sun.tools.javac.tree.JCTree$JCReturn> returnExpressions();
    descriptor: ()Lcom/sun/tools/javac/util/List;
    flags: (0x0000) 
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.sun.tools.javac.comp.ArgumentAttr$ExplicitLambdaType this
         0: .line 552
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.ArgumentAttr$ExplicitLambdaType.returnExpressions:Ljava/util/Optional;
            aload 0 /* this */
            invokedynamic get(Lcom/sun/tools/javac/comp/ArgumentAttr$ExplicitLambdaType;)Ljava/util/function/Supplier;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  ()Ljava/lang/Object;
                  com/sun/tools/javac/comp/ArgumentAttr$ExplicitLambdaType.lambda$1()Lcom/sun/tools/javac/util/List; (7)
                  ()Lcom/sun/tools/javac/util/List;
            invokevirtual java.util.Optional.orElseGet:(Ljava/util/function/Supplier;)Ljava/lang/Object;
            checkcast com.sun.tools.javac.util.List
            areturn
        end local 0 // com.sun.tools.javac.comp.ArgumentAttr$ExplicitLambdaType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/javac/comp/ArgumentAttr$ExplicitLambdaType;
    Signature: ()Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/tree/JCTree$JCReturn;>;

  com.sun.tools.javac.code.Type overloadCheck(com.sun.tools.javac.comp.Attr$ResultInfo, com.sun.tools.javac.comp.DeferredAttr$DeferredAttrContext);
    descriptor: (Lcom/sun/tools/javac/comp/Attr$ResultInfo;Lcom/sun/tools/javac/comp/DeferredAttr$DeferredAttrContext;)Lcom/sun/tools/javac/code/Type;
    flags: (0x0000) 
    Code:
      stack=4, locals=6, args_size=3
        start local 0 // com.sun.tools.javac.comp.ArgumentAttr$ExplicitLambdaType this
        start local 1 // com.sun.tools.javac.comp.Attr$ResultInfo resultInfo
        start local 2 // com.sun.tools.javac.comp.DeferredAttr$DeferredAttrContext deferredAttrContext
         0: .line 571
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.ArgumentAttr$ExplicitLambdaType.this$0:Lcom/sun/tools/javac/comp/ArgumentAttr;
            getfield com.sun.tools.javac.comp.ArgumentAttr.attr:Lcom/sun/tools/javac/comp/Attr;
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.ArgumentAttr$ExplicitLambdaType.speculativeTree:Lcom/sun/tools/javac/tree/JCTree$JCExpression;
            checkcast com.sun.tools.javac.tree.JCTree$JCPolyExpression
            aload 1 /* resultInfo */
            aload 0 /* this */
            invokevirtual com.sun.tools.javac.comp.ArgumentAttr$ExplicitLambdaType.argtypes:()Lcom/sun/tools/javac/util/List;
            invokevirtual com.sun.tools.javac.comp.Attr.getTargetInfo:(Lcom/sun/tools/javac/tree/JCTree$JCPolyExpression;Lcom/sun/tools/javac/comp/Attr$ResultInfo;Lcom/sun/tools/javac/util/List;)Lcom/sun/tools/javac/comp/Attr$TargetInfo;
            astore 3 /* targetInfo */
        start local 3 // com.sun.tools.javac.comp.Attr$TargetInfo targetInfo
         1: .line 572
            aload 3 /* targetInfo */
            getfield com.sun.tools.javac.comp.Attr$TargetInfo.descriptor:Lcom/sun/tools/javac/code/Type;
            astore 4 /* lambdaType */
        start local 4 // com.sun.tools.javac.code.Type lambdaType
         2: .line 573
            aload 3 /* targetInfo */
            getfield com.sun.tools.javac.comp.Attr$TargetInfo.target:Lcom/sun/tools/javac/code/Type;
            astore 5 /* currentTarget */
        start local 5 // com.sun.tools.javac.code.Type currentTarget
         3: .line 575
            aload 0 /* this */
            aload 4 /* lambdaType */
            aload 1 /* resultInfo */
            invokevirtual com.sun.tools.javac.comp.ArgumentAttr$ExplicitLambdaType.checkLambdaCompatible:(Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/comp/Attr$ResultInfo;)V
         4: .line 576
            aload 5 /* currentTarget */
         5: areturn
        end local 5 // com.sun.tools.javac.code.Type currentTarget
        end local 4 // com.sun.tools.javac.code.Type lambdaType
        end local 3 // com.sun.tools.javac.comp.Attr$TargetInfo targetInfo
         6: .line 577
      StackMap locals:
      StackMap stack: com.sun.tools.javac.code.Types$FunctionDescriptorLookupError
            astore 3 /* ex */
        start local 3 // com.sun.tools.javac.code.Types$FunctionDescriptorLookupError ex
         7: .line 578
            aload 1 /* resultInfo */
            getfield com.sun.tools.javac.comp.Attr$ResultInfo.checkContext:Lcom/sun/tools/javac/comp/Check$CheckContext;
            aconst_null
            aload 3 /* ex */
            invokevirtual com.sun.tools.javac.code.Types$FunctionDescriptorLookupError.getDiagnostic:()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
         8: .line 579
            aconst_null
            areturn
        end local 3 // com.sun.tools.javac.code.Types$FunctionDescriptorLookupError ex
        end local 2 // com.sun.tools.javac.comp.DeferredAttr$DeferredAttrContext deferredAttrContext
        end local 1 // com.sun.tools.javac.comp.Attr$ResultInfo resultInfo
        end local 0 // com.sun.tools.javac.comp.ArgumentAttr$ExplicitLambdaType this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0    9     0                 this  Lcom/sun/tools/javac/comp/ArgumentAttr$ExplicitLambdaType;
            0    9     1           resultInfo  Lcom/sun/tools/javac/comp/Attr$ResultInfo;
            0    9     2  deferredAttrContext  Lcom/sun/tools/javac/comp/DeferredAttr$DeferredAttrContext;
            1    6     3           targetInfo  Lcom/sun/tools/javac/comp/Attr$TargetInfo;
            2    6     4           lambdaType  Lcom/sun/tools/javac/code/Type;
            3    6     5        currentTarget  Lcom/sun/tools/javac/code/Type;
            7    9     3                   ex  Lcom/sun/tools/javac/code/Types$FunctionDescriptorLookupError;
      Exception table:
        from    to  target  type
           0     5       6  Class com.sun.tools.javac.code.Types$FunctionDescriptorLookupError
    MethodParameters:
                     Name  Flags
      resultInfo           
      deferredAttrContext  

  private void checkLambdaCompatible(com.sun.tools.javac.code.Type, com.sun.tools.javac.comp.Attr$ResultInfo);
    descriptor: (Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/comp/Attr$ResultInfo;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=7, args_size=3
        start local 0 // com.sun.tools.javac.comp.ArgumentAttr$ExplicitLambdaType this
        start local 1 // com.sun.tools.javac.code.Type descriptor
        start local 2 // com.sun.tools.javac.comp.Attr$ResultInfo resultInfo
         0: .line 585
            aload 2 /* resultInfo */
            getfield com.sun.tools.javac.comp.Attr$ResultInfo.checkContext:Lcom/sun/tools/javac/comp/Check$CheckContext;
            astore 3 /* checkContext */
        start local 3 // com.sun.tools.javac.comp.Check$CheckContext checkContext
         1: .line 586
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.ArgumentAttr$ExplicitLambdaType.this$0:Lcom/sun/tools/javac/comp/ArgumentAttr;
            getfield com.sun.tools.javac.comp.ArgumentAttr.attr:Lcom/sun/tools/javac/comp/Attr;
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.ArgumentAttr$ExplicitLambdaType.speculativeTree:Lcom/sun/tools/javac/tree/JCTree$JCExpression;
            checkcast com.sun.tools.javac.tree.JCTree$JCLambda
            aload 1 /* descriptor */
            aload 2 /* resultInfo */
            invokevirtual com.sun.tools.javac.comp.Attr.lambdaBodyResult:(Lcom/sun/tools/javac/tree/JCTree$JCLambda;Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/comp/Attr$ResultInfo;)Lcom/sun/tools/javac/comp/Attr$ResultInfo;
            astore 4 /* bodyResultInfo */
        start local 4 // com.sun.tools.javac.comp.Attr$ResultInfo bodyResultInfo
         2: .line 587
            invokestatic com.sun.tools.javac.comp.ArgumentAttr$ExplicitLambdaType.$SWITCH_TABLE$com$sun$source$tree$LambdaExpressionTree$BodyKind:()[I
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.ArgumentAttr$ExplicitLambdaType.speculativeTree:Lcom/sun/tools/javac/tree/JCTree$JCExpression;
            checkcast com.sun.tools.javac.tree.JCTree$JCLambda
            invokevirtual com.sun.tools.javac.tree.JCTree$JCLambda.getBodyKind:()Lcom/sun/source/tree/LambdaExpressionTree$BodyKind;
            invokevirtual com.sun.source.tree.LambdaExpressionTree$BodyKind.ordinal:()I
            iaload
            tableswitch { // 1 - 2
                    1: 3
                    2: 5
              default: 9
          }
         3: .line 589
      StackMap locals: com.sun.tools.javac.comp.Check$CheckContext com.sun.tools.javac.comp.Attr$ResultInfo
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.ArgumentAttr$ExplicitLambdaType.this$0:Lcom/sun/tools/javac/comp/ArgumentAttr;
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.ArgumentAttr$ExplicitLambdaType.speculativeTree:Lcom/sun/tools/javac/tree/JCTree$JCExpression;
            checkcast com.sun.tools.javac.tree.JCTree$JCLambda
            getfield com.sun.tools.javac.tree.JCTree$JCLambda.body:Lcom/sun/tools/javac/tree/JCTree;
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.ArgumentAttr$ExplicitLambdaType.speculativeTree:Lcom/sun/tools/javac/tree/JCTree$JCExpression;
            checkcast com.sun.tools.javac.tree.JCTree$JCLambda
            getfield com.sun.tools.javac.tree.JCTree$JCLambda.body:Lcom/sun/tools/javac/tree/JCTree;
            getfield com.sun.tools.javac.tree.JCTree.type:Lcom/sun/tools/javac/code/Type;
            aload 4 /* bodyResultInfo */
            invokevirtual com.sun.tools.javac.comp.ArgumentAttr.checkSpeculative:(Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticPosition;Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/comp/Attr$ResultInfo;)Lcom/sun/tools/javac/code/Type;
            pop
         4: .line 590
            goto 9
         5: .line 592
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.sun.tools.javac.comp.ArgumentAttr$ExplicitLambdaType.returnExpressions:()Lcom/sun/tools/javac/util/List;
            invokevirtual com.sun.tools.javac.util.List.iterator:()Ljava/util/Iterator;
            astore 6
            goto 8
      StackMap locals: com.sun.tools.javac.comp.ArgumentAttr$ExplicitLambdaType com.sun.tools.javac.code.Type com.sun.tools.javac.comp.Attr$ResultInfo com.sun.tools.javac.comp.Check$CheckContext com.sun.tools.javac.comp.Attr$ResultInfo top java.util.Iterator
      StackMap stack:
         6: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.sun.tools.javac.tree.JCTree$JCReturn
            astore 5 /* ret */
        start local 5 // com.sun.tools.javac.tree.JCTree$JCReturn ret
         7: .line 593
            aload 0 /* this */
            aload 5 /* ret */
            aload 4 /* bodyResultInfo */
            invokevirtual com.sun.tools.javac.comp.ArgumentAttr$ExplicitLambdaType.checkReturnInStatementLambda:(Lcom/sun/tools/javac/tree/JCTree$JCReturn;Lcom/sun/tools/javac/comp/Attr$ResultInfo;)V
        end local 5 // com.sun.tools.javac.tree.JCTree$JCReturn ret
         8: .line 592
      StackMap locals:
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 6
         9: .line 598
      StackMap locals: com.sun.tools.javac.comp.ArgumentAttr$ExplicitLambdaType com.sun.tools.javac.code.Type com.sun.tools.javac.comp.Attr$ResultInfo com.sun.tools.javac.comp.Check$CheckContext com.sun.tools.javac.comp.Attr$ResultInfo
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.ArgumentAttr$ExplicitLambdaType.this$0:Lcom/sun/tools/javac/comp/ArgumentAttr;
            getfield com.sun.tools.javac.comp.ArgumentAttr.attr:Lcom/sun/tools/javac/comp/Attr;
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.ArgumentAttr$ExplicitLambdaType.speculativeTree:Lcom/sun/tools/javac/tree/JCTree$JCExpression;
            checkcast com.sun.tools.javac.tree.JCTree$JCLambda
            aload 1 /* descriptor */
            aload 3 /* checkContext */
            invokevirtual com.sun.tools.javac.comp.Attr.checkLambdaCompatible:(Lcom/sun/tools/javac/tree/JCTree$JCLambda;Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/comp/Check$CheckContext;)V
        10: .line 599
            return
        end local 4 // com.sun.tools.javac.comp.Attr$ResultInfo bodyResultInfo
        end local 3 // com.sun.tools.javac.comp.Check$CheckContext checkContext
        end local 2 // com.sun.tools.javac.comp.Attr$ResultInfo resultInfo
        end local 1 // com.sun.tools.javac.code.Type descriptor
        end local 0 // com.sun.tools.javac.comp.ArgumentAttr$ExplicitLambdaType this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   11     0            this  Lcom/sun/tools/javac/comp/ArgumentAttr$ExplicitLambdaType;
            0   11     1      descriptor  Lcom/sun/tools/javac/code/Type;
            0   11     2      resultInfo  Lcom/sun/tools/javac/comp/Attr$ResultInfo;
            1   11     3    checkContext  Lcom/sun/tools/javac/comp/Check$CheckContext;
            2   11     4  bodyResultInfo  Lcom/sun/tools/javac/comp/Attr$ResultInfo;
            7    8     5             ret  Lcom/sun/tools/javac/tree/JCTree$JCReturn;
    MethodParameters:
            Name  Flags
      descriptor  
      resultInfo  

  void checkReturnInStatementLambda(com.sun.tools.javac.tree.JCTree$JCReturn, com.sun.tools.javac.comp.Attr$ResultInfo);
    descriptor: (Lcom/sun/tools/javac/tree/JCTree$JCReturn;Lcom/sun/tools/javac/comp/Attr$ResultInfo;)V
    flags: (0x0000) 
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // com.sun.tools.javac.comp.ArgumentAttr$ExplicitLambdaType this
        start local 1 // com.sun.tools.javac.tree.JCTree$JCReturn ret
        start local 2 // com.sun.tools.javac.comp.Attr$ResultInfo resultInfo
         0: .line 605
            aload 2 /* resultInfo */
            getfield com.sun.tools.javac.comp.Attr$ResultInfo.pt:Lcom/sun/tools/javac/code/Type;
            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 5
            aload 1 /* ret */
            getfield com.sun.tools.javac.tree.JCTree$JCReturn.expr:Lcom/sun/tools/javac/tree/JCTree$JCExpression;
            ifnull 5
         1: .line 607
            aload 2 /* resultInfo */
            getfield com.sun.tools.javac.comp.Attr$ResultInfo.checkContext:Lcom/sun/tools/javac/comp/Check$CheckContext;
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.ArgumentAttr$ExplicitLambdaType.speculativeTree:Lcom/sun/tools/javac/tree/JCTree$JCExpression;
            checkcast com.sun.tools.javac.tree.JCTree$JCLambda
            invokevirtual com.sun.tools.javac.tree.JCTree$JCLambda.pos:()Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticPosition;
         2: .line 608
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.ArgumentAttr$ExplicitLambdaType.this$0:Lcom/sun/tools/javac/comp/ArgumentAttr;
            getfield com.sun.tools.javac.comp.ArgumentAttr.diags:Lcom/sun/tools/javac/util/JCDiagnostic$Factory;
            ldc "unexpected.ret.val"
            iconst_0
            anewarray java.lang.Object
            invokevirtual com.sun.tools.javac.util.JCDiagnostic$Factory.fragment:(Ljava/lang/String;[Ljava/lang/Object;)Lcom/sun/tools/javac/util/JCDiagnostic;
         3: .line 607
            invokeinterface com.sun.tools.javac.comp.Check$CheckContext.report:(Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticPosition;Lcom/sun/tools/javac/util/JCDiagnostic;)V
         4: .line 609
            goto 11
      StackMap locals:
      StackMap stack:
         5: aload 2 /* resultInfo */
            getfield com.sun.tools.javac.comp.Attr$ResultInfo.pt:Lcom/sun/tools/javac/code/Type;
            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
            ifne 11
         6: .line 610
            aload 1 /* ret */
            getfield com.sun.tools.javac.tree.JCTree$JCReturn.expr:Lcom/sun/tools/javac/tree/JCTree$JCExpression;
            ifnonnull 10
         7: .line 612
            aload 2 /* resultInfo */
            getfield com.sun.tools.javac.comp.Attr$ResultInfo.checkContext:Lcom/sun/tools/javac/comp/Check$CheckContext;
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.ArgumentAttr$ExplicitLambdaType.speculativeTree:Lcom/sun/tools/javac/tree/JCTree$JCExpression;
            checkcast com.sun.tools.javac.tree.JCTree$JCLambda
            invokevirtual com.sun.tools.javac.tree.JCTree$JCLambda.pos:()Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticPosition;
         8: .line 613
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.ArgumentAttr$ExplicitLambdaType.this$0:Lcom/sun/tools/javac/comp/ArgumentAttr;
            getfield com.sun.tools.javac.comp.ArgumentAttr.diags:Lcom/sun/tools/javac/util/JCDiagnostic$Factory;
            ldc "missing.ret.val"
            iconst_0
            anewarray java.lang.Object
            invokevirtual com.sun.tools.javac.util.JCDiagnostic$Factory.fragment:(Ljava/lang/String;[Ljava/lang/Object;)Lcom/sun/tools/javac/util/JCDiagnostic;
         9: .line 612
            invokeinterface com.sun.tools.javac.comp.Check$CheckContext.report:(Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticPosition;Lcom/sun/tools/javac/util/JCDiagnostic;)V
        10: .line 615
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.ArgumentAttr$ExplicitLambdaType.this$0:Lcom/sun/tools/javac/comp/ArgumentAttr;
            aload 1 /* ret */
            getfield com.sun.tools.javac.tree.JCTree$JCReturn.expr:Lcom/sun/tools/javac/tree/JCTree$JCExpression;
            aload 1 /* ret */
            getfield com.sun.tools.javac.tree.JCTree$JCReturn.expr:Lcom/sun/tools/javac/tree/JCTree$JCExpression;
            getfield com.sun.tools.javac.tree.JCTree$JCExpression.type:Lcom/sun/tools/javac/code/Type;
            aload 2 /* resultInfo */
            invokevirtual com.sun.tools.javac.comp.ArgumentAttr.checkSpeculative:(Lcom/sun/tools/javac/util/JCDiagnostic$DiagnosticPosition;Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/comp/Attr$ResultInfo;)Lcom/sun/tools/javac/code/Type;
            pop
        11: .line 617
      StackMap locals:
      StackMap stack:
            return
        end local 2 // com.sun.tools.javac.comp.Attr$ResultInfo resultInfo
        end local 1 // com.sun.tools.javac.tree.JCTree$JCReturn ret
        end local 0 // com.sun.tools.javac.comp.ArgumentAttr$ExplicitLambdaType this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   12     0        this  Lcom/sun/tools/javac/comp/ArgumentAttr$ExplicitLambdaType;
            0   12     1         ret  Lcom/sun/tools/javac/tree/JCTree$JCReturn;
            0   12     2  resultInfo  Lcom/sun/tools/javac/comp/Attr$ResultInfo;
    MethodParameters:
            Name  Flags
      ret         
      resultInfo  

  com.sun.tools.javac.code.Type getReturnType(com.sun.tools.javac.tree.JCTree$JCReturn);
    descriptor: (Lcom/sun/tools/javac/tree/JCTree$JCReturn;)Lcom/sun/tools/javac/code/Type;
    flags: (0x0000) 
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // com.sun.tools.javac.comp.ArgumentAttr$ExplicitLambdaType this
        start local 1 // com.sun.tools.javac.tree.JCTree$JCReturn ret
         0: .line 621
            aload 1 /* ret */
            getfield com.sun.tools.javac.tree.JCTree$JCReturn.expr:Lcom/sun/tools/javac/tree/JCTree$JCExpression;
            ifnonnull 2
         1: .line 622
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.ArgumentAttr$ExplicitLambdaType.this$0:Lcom/sun/tools/javac/comp/ArgumentAttr;
            getfield com.sun.tools.javac.comp.ArgumentAttr.syms:Lcom/sun/tools/javac/code/Symtab;
            getfield com.sun.tools.javac.code.Symtab.voidType:Lcom/sun/tools/javac/code/Type$JCVoidType;
            areturn
         2: .line 624
      StackMap locals:
      StackMap stack:
            aload 1 /* ret */
            getfield com.sun.tools.javac.tree.JCTree$JCReturn.expr:Lcom/sun/tools/javac/tree/JCTree$JCExpression;
            getfield com.sun.tools.javac.tree.JCTree$JCExpression.type:Lcom/sun/tools/javac/code/Type;
            areturn
        end local 1 // com.sun.tools.javac.tree.JCTree$JCReturn ret
        end local 0 // com.sun.tools.javac.comp.ArgumentAttr$ExplicitLambdaType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/sun/tools/javac/comp/ArgumentAttr$ExplicitLambdaType;
            0    3     1   ret  Lcom/sun/tools/javac/tree/JCTree$JCReturn;
    MethodParameters:
      Name  Flags
      ret   

  com.sun.tools.javac.comp.ArgumentAttr$ArgumentType<com.sun.tools.javac.tree.JCTree$JCLambda> dup(com.sun.tools.javac.tree.JCTree$JCLambda, com.sun.tools.javac.comp.Env<com.sun.tools.javac.comp.AttrContext>);
    descriptor: (Lcom/sun/tools/javac/tree/JCTree$JCLambda;Lcom/sun/tools/javac/comp/Env;)Lcom/sun/tools/javac/comp/ArgumentAttr$ArgumentType;
    flags: (0x0000) 
    Code:
      stack=7, locals=3, args_size=3
        start local 0 // com.sun.tools.javac.comp.ArgumentAttr$ExplicitLambdaType this
        start local 1 // com.sun.tools.javac.tree.JCTree$JCLambda tree
        start local 2 // com.sun.tools.javac.comp.Env env
         0: .line 630
            new com.sun.tools.javac.comp.ArgumentAttr$ExplicitLambdaType
            dup
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.ArgumentAttr$ExplicitLambdaType.this$0:Lcom/sun/tools/javac/comp/ArgumentAttr;
            aload 1 /* tree */
            aload 2 /* env */
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.ArgumentAttr$ExplicitLambdaType.speculativeTree:Lcom/sun/tools/javac/tree/JCTree$JCExpression;
            checkcast com.sun.tools.javac.tree.JCTree$JCLambda
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.ArgumentAttr$ExplicitLambdaType.speculativeTypes:Ljava/util/Map;
            invokespecial com.sun.tools.javac.comp.ArgumentAttr$ExplicitLambdaType.<init>:(Lcom/sun/tools/javac/comp/ArgumentAttr;Lcom/sun/tools/javac/tree/JCTree$JCLambda;Lcom/sun/tools/javac/comp/Env;Lcom/sun/tools/javac/tree/JCTree$JCLambda;Ljava/util/Map;)V
            areturn
        end local 2 // com.sun.tools.javac.comp.Env env
        end local 1 // com.sun.tools.javac.tree.JCTree$JCLambda tree
        end local 0 // com.sun.tools.javac.comp.ArgumentAttr$ExplicitLambdaType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/sun/tools/javac/comp/ArgumentAttr$ExplicitLambdaType;
            0    1     1  tree  Lcom/sun/tools/javac/tree/JCTree$JCLambda;
            0    1     2   env  Lcom/sun/tools/javac/comp/Env<Lcom/sun/tools/javac/comp/AttrContext;>;
    Signature: (Lcom/sun/tools/javac/tree/JCTree$JCLambda;Lcom/sun/tools/javac/comp/Env<Lcom/sun/tools/javac/comp/AttrContext;>;)Lcom/sun/tools/javac/comp/ArgumentAttr$ArgumentType<Lcom/sun/tools/javac/tree/JCTree$JCLambda;>;
    MethodParameters:
      Name  Flags
      tree  
      env   

  com.sun.tools.javac.comp.ArgumentAttr$ArgumentType dup(com.sun.tools.javac.tree.JCTree$JCExpression, com.sun.tools.javac.comp.Env);
    descriptor: (Lcom/sun/tools/javac/tree/JCTree$JCExpression;Lcom/sun/tools/javac/comp/Env;)Lcom/sun/tools/javac/comp/ArgumentAttr$ArgumentType;
    flags: (0x1040) ACC_BRIDGE, ACC_SYNTHETIC
    Code:
      stack=3, locals=3, args_size=3
         0: .line 1
            aload 0
            aload 1
            checkcast com.sun.tools.javac.tree.JCTree$JCLambda
            aload 2
            invokevirtual com.sun.tools.javac.comp.ArgumentAttr$ExplicitLambdaType.dup:(Lcom/sun/tools/javac/tree/JCTree$JCLambda;Lcom/sun/tools/javac/comp/Env;)Lcom/sun/tools/javac/comp/ArgumentAttr$ArgumentType;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  static int[] $SWITCH_TABLE$com$sun$source$tree$LambdaExpressionTree$BodyKind();
    descriptor: ()[I
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 525
            getstatic com.sun.tools.javac.comp.ArgumentAttr$ExplicitLambdaType.$SWITCH_TABLE$com$sun$source$tree$LambdaExpressionTree$BodyKind:[I
            dup
            ifnull 1
            areturn
      StackMap locals:
      StackMap stack: int[]
         1: pop
            invokestatic com.sun.source.tree.LambdaExpressionTree$BodyKind.values:()[Lcom/sun/source/tree/LambdaExpressionTree$BodyKind;
            arraylength
            newarray 10
            astore 0
         2: aload 0
            getstatic com.sun.source.tree.LambdaExpressionTree$BodyKind.EXPRESSION:Lcom/sun/source/tree/LambdaExpressionTree$BodyKind;
            invokevirtual com.sun.source.tree.LambdaExpressionTree$BodyKind.ordinal:()I
            iconst_1
            iastore
         3: goto 5
      StackMap locals: int[]
      StackMap stack: java.lang.NoSuchFieldError
         4: pop
      StackMap locals:
      StackMap stack:
         5: aload 0
            getstatic com.sun.source.tree.LambdaExpressionTree$BodyKind.STATEMENT:Lcom/sun/source/tree/LambdaExpressionTree$BodyKind;
            invokevirtual com.sun.source.tree.LambdaExpressionTree$BodyKind.ordinal:()I
            iconst_2
            iastore
         6: goto 8
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
         7: pop
      StackMap locals:
      StackMap stack:
         8: aload 0
            dup
            putstatic com.sun.tools.javac.comp.ArgumentAttr$ExplicitLambdaType.$SWITCH_TABLE$com$sun$source$tree$LambdaExpressionTree$BodyKind:[I
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
      Exception table:
        from    to  target  type
           2     3       4  Class java.lang.NoSuchFieldError
           5     6       7  Class java.lang.NoSuchFieldError

  private com.sun.tools.javac.util.List lambda$0();
    descriptor: ()Lcom/sun/tools/javac/util/List;
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // com.sun.tools.javac.comp.ArgumentAttr$ExplicitLambdaType this
         0: .line 544
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.ArgumentAttr$ExplicitLambdaType.speculativeTree:Lcom/sun/tools/javac/tree/JCTree$JCExpression;
            checkcast com.sun.tools.javac.tree.JCTree$JCLambda
            getfield com.sun.tools.javac.tree.JCTree$JCLambda.params:Lcom/sun/tools/javac/util/List;
            invokestatic com.sun.tools.javac.tree.TreeInfo.types:(Lcom/sun/tools/javac/util/List;)Lcom/sun/tools/javac/util/List;
            astore 1 /* res */
        start local 1 // com.sun.tools.javac.util.List res
         1: .line 545
            aload 0 /* this */
            aload 1 /* res */
            invokestatic java.util.Optional.of:(Ljava/lang/Object;)Ljava/util/Optional;
            putfield com.sun.tools.javac.comp.ArgumentAttr$ExplicitLambdaType.argtypes:Ljava/util/Optional;
         2: .line 546
            aload 1 /* res */
            areturn
        end local 1 // com.sun.tools.javac.util.List res
        end local 0 // com.sun.tools.javac.comp.ArgumentAttr$ExplicitLambdaType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Lcom/sun/tools/javac/comp/ArgumentAttr$ExplicitLambdaType;
            1    3     1   res  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/code/Type;>;

  private com.sun.tools.javac.util.List lambda$1();
    descriptor: ()Lcom/sun/tools/javac/util/List;
    flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
    Code:
      stack=4, locals=3, args_size=1
        start local 0 // com.sun.tools.javac.comp.ArgumentAttr$ExplicitLambdaType this
         0: .line 554
            new com.sun.tools.javac.util.ListBuffer
            dup
            invokespecial com.sun.tools.javac.util.ListBuffer.<init>:()V
            astore 2 /* buf */
        start local 2 // com.sun.tools.javac.util.ListBuffer buf
         1: .line 555
            new com.sun.tools.javac.comp.ArgumentAttr$ExplicitLambdaType$1
            dup
            aload 0 /* this */
            aload 2 /* buf */
            invokespecial com.sun.tools.javac.comp.ArgumentAttr$ExplicitLambdaType$1.<init>:(Lcom/sun/tools/javac/comp/ArgumentAttr$ExplicitLambdaType;Lcom/sun/tools/javac/util/ListBuffer;)V
         2: .line 560
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.ArgumentAttr$ExplicitLambdaType.speculativeTree:Lcom/sun/tools/javac/tree/JCTree$JCExpression;
            checkcast com.sun.tools.javac.tree.JCTree$JCLambda
            getfield com.sun.tools.javac.tree.JCTree$JCLambda.body:Lcom/sun/tools/javac/tree/JCTree;
            invokevirtual com.sun.tools.javac.comp.ArgumentAttr$ExplicitLambdaType$1.scan:(Lcom/sun/tools/javac/tree/JCTree;)V
         3: .line 561
            aload 2 /* buf */
            invokevirtual com.sun.tools.javac.util.ListBuffer.toList:()Lcom/sun/tools/javac/util/List;
            astore 1 /* res */
        start local 1 // com.sun.tools.javac.util.List res
         4: .line 562
            aload 0 /* this */
            aload 1 /* res */
            invokestatic java.util.Optional.of:(Ljava/lang/Object;)Ljava/util/Optional;
            putfield com.sun.tools.javac.comp.ArgumentAttr$ExplicitLambdaType.returnExpressions:Ljava/util/Optional;
         5: .line 563
            aload 1 /* res */
            areturn
        end local 2 // com.sun.tools.javac.util.ListBuffer buf
        end local 1 // com.sun.tools.javac.util.List res
        end local 0 // com.sun.tools.javac.comp.ArgumentAttr$ExplicitLambdaType this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Lcom/sun/tools/javac/comp/ArgumentAttr$ExplicitLambdaType;
            4    6     1   res  Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/tree/JCTree$JCReturn;>;
            1    6     2   buf  Lcom/sun/tools/javac/util/ListBuffer<Lcom/sun/tools/javac/tree/JCTree$JCReturn;>;
}
Signature: Lcom/sun/tools/javac/comp/ArgumentAttr$ArgumentType<Lcom/sun/tools/javac/tree/JCTree$JCLambda;>;
SourceFile: "ArgumentAttr.java"
NestHost: com.sun.tools.javac.comp.ArgumentAttr
InnerClasses:
  public final BodyKind = com.sun.source.tree.LambdaExpressionTree$BodyKind of com.sun.source.tree.LambdaExpressionTree
  public FunctionDescriptorLookupError = com.sun.tools.javac.code.Types$FunctionDescriptorLookupError of com.sun.tools.javac.code.Types
  abstract ArgumentType = com.sun.tools.javac.comp.ArgumentAttr$ArgumentType of com.sun.tools.javac.comp.ArgumentAttr
  ExplicitLambdaType = com.sun.tools.javac.comp.ArgumentAttr$ExplicitLambdaType of com.sun.tools.javac.comp.ArgumentAttr
  com.sun.tools.javac.comp.ArgumentAttr$ExplicitLambdaType$1
  ResultInfo = com.sun.tools.javac.comp.Attr$ResultInfo of com.sun.tools.javac.comp.Attr
  TargetInfo = com.sun.tools.javac.comp.Attr$TargetInfo 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
  public abstract JCExpression = com.sun.tools.javac.tree.JCTree$JCExpression of com.sun.tools.javac.tree.JCTree
  public JCLambda = com.sun.tools.javac.tree.JCTree$JCLambda of com.sun.tools.javac.tree.JCTree
  public abstract JCPolyExpression = com.sun.tools.javac.tree.JCTree$JCPolyExpression of com.sun.tools.javac.tree.JCTree
  public JCReturn = com.sun.tools.javac.tree.JCTree$JCReturn 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 Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles