class com.sun.tools.javac.comp.LambdaToMethod$KlassInfo
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: com.sun.tools.javac.comp.LambdaToMethod$KlassInfo
  super_class: java.lang.Object
{
  private com.sun.tools.javac.util.ListBuffer<com.sun.tools.javac.tree.JCTree> appendedMethodList;
    descriptor: Lcom/sun/tools/javac/util/ListBuffer;
    flags: (0x0002) ACC_PRIVATE
    Signature: Lcom/sun/tools/javac/util/ListBuffer<Lcom/sun/tools/javac/tree/JCTree;>;

  private final java.util.Map<java.lang.String, com.sun.tools.javac.util.ListBuffer<com.sun.tools.javac.tree.JCTree$JCStatement>> deserializeCases;
    descriptor: Ljava/util/Map;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Map<Ljava/lang/String;Lcom/sun/tools/javac/util/ListBuffer<Lcom/sun/tools/javac/tree/JCTree$JCStatement;>;>;

  private final com.sun.tools.javac.code.Symbol$MethodSymbol deserMethodSym;
    descriptor: Lcom/sun/tools/javac/code/Symbol$MethodSymbol;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final com.sun.tools.javac.code.Symbol$VarSymbol deserParamSym;
    descriptor: Lcom/sun/tools/javac/code/Symbol$VarSymbol;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final com.sun.tools.javac.tree.JCTree$JCClassDecl clazz;
    descriptor: Lcom/sun/tools/javac/tree/JCTree$JCClassDecl;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

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

  private void <init>(com.sun.tools.javac.comp.LambdaToMethod, com.sun.tools.javac.tree.JCTree$JCClassDecl);
    descriptor: (Lcom/sun/tools/javac/comp/LambdaToMethod;Lcom/sun/tools/javac/tree/JCTree$JCClassDecl;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=8, locals=4, args_size=3
        start local 0 // com.sun.tools.javac.comp.LambdaToMethod$KlassInfo this
        start local 2 // com.sun.tools.javac.tree.JCTree$JCClassDecl clazz
         0: .line 177
            aload 0 /* this */
            aload 1
            putfield com.sun.tools.javac.comp.LambdaToMethod$KlassInfo.this$0:Lcom/sun/tools/javac/comp/LambdaToMethod;
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 178
            aload 0 /* this */
            aload 2 /* clazz */
            putfield com.sun.tools.javac.comp.LambdaToMethod$KlassInfo.clazz:Lcom/sun/tools/javac/tree/JCTree$JCClassDecl;
         2: .line 179
            aload 0 /* this */
            new com.sun.tools.javac.util.ListBuffer
            dup
            invokespecial com.sun.tools.javac.util.ListBuffer.<init>:()V
            putfield com.sun.tools.javac.comp.LambdaToMethod$KlassInfo.appendedMethodList:Lcom/sun/tools/javac/util/ListBuffer;
         3: .line 180
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield com.sun.tools.javac.comp.LambdaToMethod$KlassInfo.deserializeCases:Ljava/util/Map;
         4: .line 181
            new com.sun.tools.javac.code.Type$MethodType
            dup
            aload 1
            getfield com.sun.tools.javac.comp.LambdaToMethod.syms:Lcom/sun/tools/javac/code/Symtab;
            getfield com.sun.tools.javac.code.Symtab.serializedLambdaType:Lcom/sun/tools/javac/code/Type;
            invokestatic com.sun.tools.javac.util.List.of:(Ljava/lang/Object;)Lcom/sun/tools/javac/util/List;
            aload 1
            getfield com.sun.tools.javac.comp.LambdaToMethod.syms:Lcom/sun/tools/javac/code/Symtab;
            getfield com.sun.tools.javac.code.Symtab.objectType:Lcom/sun/tools/javac/code/Type;
         5: .line 182
            invokestatic com.sun.tools.javac.util.List.nil:()Lcom/sun/tools/javac/util/List;
            aload 1
            getfield com.sun.tools.javac.comp.LambdaToMethod.syms:Lcom/sun/tools/javac/code/Symtab;
            getfield com.sun.tools.javac.code.Symtab.methodClass:Lcom/sun/tools/javac/code/Symbol$ClassSymbol;
         6: .line 181
            invokespecial com.sun.tools.javac.code.Type$MethodType.<init>:(Lcom/sun/tools/javac/util/List;Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/util/List;Lcom/sun/tools/javac/code/Symbol$TypeSymbol;)V
            astore 3 /* type */
        start local 3 // com.sun.tools.javac.code.Type$MethodType type
         7: .line 183
            aload 0 /* this */
            aload 1
            ldc 8
            aload 1
            getfield com.sun.tools.javac.comp.LambdaToMethod.names:Lcom/sun/tools/javac/util/Names;
            getfield com.sun.tools.javac.util.Names.deserializeLambda:Lcom/sun/tools/javac/util/Name;
            aload 3 /* type */
            aload 2 /* clazz */
            getfield com.sun.tools.javac.tree.JCTree$JCClassDecl.sym:Lcom/sun/tools/javac/code/Symbol$ClassSymbol;
            invokevirtual com.sun.tools.javac.comp.LambdaToMethod.makePrivateSyntheticMethod:(JLcom/sun/tools/javac/util/Name;Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Symbol;)Lcom/sun/tools/javac/code/Symbol$MethodSymbol;
            putfield com.sun.tools.javac.comp.LambdaToMethod$KlassInfo.deserMethodSym:Lcom/sun/tools/javac/code/Symbol$MethodSymbol;
         8: .line 184
            aload 0 /* this */
            new com.sun.tools.javac.code.Symbol$VarSymbol
            dup
            ldc 16
            aload 1
            getfield com.sun.tools.javac.comp.LambdaToMethod.names:Lcom/sun/tools/javac/util/Names;
            ldc "lambda"
            invokevirtual com.sun.tools.javac.util.Names.fromString:(Ljava/lang/String;)Lcom/sun/tools/javac/util/Name;
         9: .line 185
            aload 1
            getfield com.sun.tools.javac.comp.LambdaToMethod.syms:Lcom/sun/tools/javac/code/Symtab;
            getfield com.sun.tools.javac.code.Symtab.serializedLambdaType:Lcom/sun/tools/javac/code/Type;
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.LambdaToMethod$KlassInfo.deserMethodSym:Lcom/sun/tools/javac/code/Symbol$MethodSymbol;
            invokespecial com.sun.tools.javac.code.Symbol$VarSymbol.<init>:(JLcom/sun/tools/javac/util/Name;Lcom/sun/tools/javac/code/Type;Lcom/sun/tools/javac/code/Symbol;)V
        10: .line 184
            putfield com.sun.tools.javac.comp.LambdaToMethod$KlassInfo.deserParamSym:Lcom/sun/tools/javac/code/Symbol$VarSymbol;
        11: .line 186
            return
        end local 3 // com.sun.tools.javac.code.Type$MethodType type
        end local 2 // com.sun.tools.javac.tree.JCTree$JCClassDecl clazz
        end local 0 // com.sun.tools.javac.comp.LambdaToMethod$KlassInfo this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   12     0   this  Lcom/sun/tools/javac/comp/LambdaToMethod$KlassInfo;
            0   12     2  clazz  Lcom/sun/tools/javac/tree/JCTree$JCClassDecl;
            7   12     3   type  Lcom/sun/tools/javac/code/Type$MethodType;
    MethodParameters:
        Name  Flags
      this$0  final
      clazz   

  private void addMethod(com.sun.tools.javac.tree.JCTree);
    descriptor: (Lcom/sun/tools/javac/tree/JCTree;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.sun.tools.javac.comp.LambdaToMethod$KlassInfo this
        start local 1 // com.sun.tools.javac.tree.JCTree decl
         0: .line 189
            aload 0 /* this */
            aload 0 /* this */
            getfield com.sun.tools.javac.comp.LambdaToMethod$KlassInfo.appendedMethodList:Lcom/sun/tools/javac/util/ListBuffer;
            aload 1 /* decl */
            invokevirtual com.sun.tools.javac.util.ListBuffer.prepend:(Ljava/lang/Object;)Lcom/sun/tools/javac/util/ListBuffer;
            putfield com.sun.tools.javac.comp.LambdaToMethod$KlassInfo.appendedMethodList:Lcom/sun/tools/javac/util/ListBuffer;
         1: .line 190
            return
        end local 1 // com.sun.tools.javac.tree.JCTree decl
        end local 0 // com.sun.tools.javac.comp.LambdaToMethod$KlassInfo this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/sun/tools/javac/comp/LambdaToMethod$KlassInfo;
            0    2     1  decl  Lcom/sun/tools/javac/tree/JCTree;
    MethodParameters:
      Name  Flags
      decl  
}
SourceFile: "LambdaToMethod.java"
NestHost: com.sun.tools.javac.comp.LambdaToMethod
InnerClasses:
  public MethodSymbol = com.sun.tools.javac.code.Symbol$MethodSymbol of com.sun.tools.javac.code.Symbol
  public abstract TypeSymbol = com.sun.tools.javac.code.Symbol$TypeSymbol of com.sun.tools.javac.code.Symbol
  public VarSymbol = com.sun.tools.javac.code.Symbol$VarSymbol of com.sun.tools.javac.code.Symbol
  public MethodType = com.sun.tools.javac.code.Type$MethodType of com.sun.tools.javac.code.Type
  private KlassInfo = com.sun.tools.javac.comp.LambdaToMethod$KlassInfo of com.sun.tools.javac.comp.LambdaToMethod
  public JCClassDecl = com.sun.tools.javac.tree.JCTree$JCClassDecl of com.sun.tools.javac.tree.JCTree
  public abstract JCStatement = com.sun.tools.javac.tree.JCTree$JCStatement of com.sun.tools.javac.tree.JCTree