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<com.sun.tools.javac.jvm.Pool$DynamicMethod, com.sun.tools.javac.code.Symbol$DynamicMethodSymbol> dynMethSyms;
descriptor: Ljava/util/Map;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/Map<Lcom/sun/tools/javac/jvm/Pool$DynamicMethod;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 start local 2 0: aload 0
aload 1
putfield com.sun.tools.javac.comp.LambdaToMethod$KlassInfo.this$0:Lcom/sun/tools/javac/comp/LambdaToMethod;
aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
putfield com.sun.tools.javac.comp.LambdaToMethod$KlassInfo.dynMethSyms:Ljava/util/Map;
2: aload 0
aload 2
putfield com.sun.tools.javac.comp.LambdaToMethod$KlassInfo.clazz:Lcom/sun/tools/javac/tree/JCTree$JCClassDecl;
3: aload 0
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: aload 0
new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
putfield com.sun.tools.javac.comp.LambdaToMethod$KlassInfo.dedupedLambdas:Ljava/util/Map;
5: aload 0
new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
putfield com.sun.tools.javac.comp.LambdaToMethod$KlassInfo.deserializeCases:Ljava/util/Map;
6: 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: 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: 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
start local 3 9: aload 0
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
aload 2
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: aload 0
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: 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
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: putfield com.sun.tools.javac.comp.LambdaToMethod$KlassInfo.deserParamSym:Lcom/sun/tools/javac/code/Symbol$VarSymbol;
13: return
end local 3 end local 2 end local 0 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 start local 1 0: aload 0
aload 0
getfield com.sun.tools.javac.comp.LambdaToMethod$KlassInfo.appendedMethodList:Lcom/sun/tools/javac/util/ListBuffer;
aload 1
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: return
end local 1 end local 0 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 DynamicMethod = com.sun.tools.javac.jvm.Pool$DynamicMethod of com.sun.tools.javac.jvm.Pool
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