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 java.util.Map<com.sun.tools.javac.comp.LambdaToMethod$DedupedLambda, com.sun.tools.javac.comp.LambdaToMethod$DedupedLambda> dedupedLambdas;
    descriptor: Ljava/util/Map;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/Map<Lcom/sun/tools/javac/comp/LambdaToMethod$DedupedLambda;Lcom/sun/tools/javac/comp/LambdaToMethod$DedupedLambda;>;

  private java.util.Map<java.lang.Object, com.sun.tools.javac.code.Symbol$DynamicMethodSymbol> dynMethSyms;
    descriptor: Ljava/util/Map;
    flags: (0x0002) ACC_PRIVATE
    Signature: Ljava/util/Map<Ljava/lang/Object;Lcom/sun/tools/javac/code/Symbol$DynamicMethodSymbol;>;

  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 234
            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 215
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield com.sun.tools.javac.comp.LambdaToMethod$KlassInfo.dynMethSyms:Ljava/util/Map;
         2: .line 235
            aload 0 /* this */
            aload 2 /* clazz */
            putfield com.sun.tools.javac.comp.LambdaToMethod$KlassInfo.clazz:Lcom/sun/tools/javac/tree/JCTree$JCClassDecl;
         3: .line 236
            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;
         4: .line 237
            aload 0 /* this */
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            putfield com.sun.tools.javac.comp.LambdaToMethod$KlassInfo.dedupedLambdas:Ljava/util/Map;
         5: .line 238
            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;
         6: .line 239
            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;
         7: .line 240
            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;
         8: .line 239
            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
         9: .line 241
            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;
        10: .line 242
            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;
        11: .line 243
            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
        12: .line 242
            putfield com.sun.tools.javac.comp.LambdaToMethod$KlassInfo.deserParamSym:Lcom/sun/tools/javac/code/Symbol$VarSymbol;
        13: .line 244
            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   14     0   this  Lcom/sun/tools/javac/comp/LambdaToMethod$KlassInfo;
            0   14     2  clazz  Lcom/sun/tools/javac/tree/JCTree$JCClassDecl;
            9   14     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 247
            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 248
            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 DynamicMethodSymbol = com.sun.tools.javac.code.Symbol$DynamicMethodSymbol of com.sun.tools.javac.code.Symbol
  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
  DedupedLambda = com.sun.tools.javac.comp.LambdaToMethod$DedupedLambda of com.sun.tools.javac.comp.LambdaToMethod
  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