class com.sun.tools.javac.parser.JavacParser$LambdaClassifier
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: com.sun.tools.javac.parser.JavacParser$LambdaClassifier
super_class: java.lang.Object
{
com.sun.tools.javac.parser.JavacParser$LambdaParameterKind kind;
descriptor: Lcom/sun/tools/javac/parser/JavacParser$LambdaParameterKind;
flags: (0x0000)
com.sun.tools.javac.util.JCDiagnostic$Fragment diagFragment;
descriptor: Lcom/sun/tools/javac/util/JCDiagnostic$Fragment;
flags: (0x0000)
com.sun.tools.javac.util.List<com.sun.tools.javac.tree.JCTree$JCVariableDecl> params;
descriptor: Lcom/sun/tools/javac/util/List;
flags: (0x0000)
Signature: Lcom/sun/tools/javac/util/List<Lcom/sun/tools/javac/tree/JCTree$JCVariableDecl;>;
final com.sun.tools.javac.parser.JavacParser this$0;
descriptor: Lcom/sun/tools/javac/parser/JavacParser;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
void <init>(com.sun.tools.javac.parser.JavacParser);
descriptor: (Lcom/sun/tools/javac/parser/JavacParser;)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 // com.sun.tools.javac.parser.JavacParser$LambdaClassifier this
0: .line 1891
aload 0 /* this */
aload 1
putfield com.sun.tools.javac.parser.JavacParser$LambdaClassifier.this$0:Lcom/sun/tools/javac/parser/JavacParser;
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
return
end local 0 // com.sun.tools.javac.parser.JavacParser$LambdaClassifier this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/tools/javac/parser/JavacParser$LambdaClassifier;
MethodParameters:
Name Flags
this$0 final
void addParameter(com.sun.tools.javac.tree.JCTree$JCVariableDecl);
descriptor: (Lcom/sun/tools/javac/tree/JCTree$JCVariableDecl;)V
flags: (0x0000)
Code:
stack=3, locals=2, args_size=2
start local 0 // com.sun.tools.javac.parser.JavacParser$LambdaClassifier this
start local 1 // com.sun.tools.javac.tree.JCTree$JCVariableDecl param
0: .line 1898
aload 1 /* param */
getfield com.sun.tools.javac.tree.JCTree$JCVariableDecl.vartype:Lcom/sun/tools/javac/tree/JCTree$JCExpression;
ifnull 5
aload 1 /* param */
getfield com.sun.tools.javac.tree.JCTree$JCVariableDecl.name:Lcom/sun/tools/javac/util/Name;
aload 0 /* this */
getfield com.sun.tools.javac.parser.JavacParser$LambdaClassifier.this$0:Lcom/sun/tools/javac/parser/JavacParser;
getfield com.sun.tools.javac.parser.JavacParser.names:Lcom/sun/tools/javac/util/Names;
getfield com.sun.tools.javac.util.Names.empty:Lcom/sun/tools/javac/util/Name;
if_acmpeq 5
1: .line 1899
aload 0 /* this */
getfield com.sun.tools.javac.parser.JavacParser$LambdaClassifier.this$0:Lcom/sun/tools/javac/parser/JavacParser;
aload 1 /* param */
getfield com.sun.tools.javac.tree.JCTree$JCVariableDecl.vartype:Lcom/sun/tools/javac/tree/JCTree$JCExpression;
iconst_0
invokevirtual com.sun.tools.javac.parser.JavacParser.restrictedTypeName:(Lcom/sun/tools/javac/tree/JCTree$JCExpression;Z)Lcom/sun/tools/javac/util/Name;
ifnull 4
2: .line 1900
aload 0 /* this */
getstatic com.sun.tools.javac.parser.JavacParser$LambdaParameterKind.VAR:Lcom/sun/tools/javac/parser/JavacParser$LambdaParameterKind;
invokevirtual com.sun.tools.javac.parser.JavacParser$LambdaClassifier.reduce:(Lcom/sun/tools/javac/parser/JavacParser$LambdaParameterKind;)V
3: .line 1901
goto 5
4: .line 1902
StackMap locals:
StackMap stack:
aload 0 /* this */
getstatic com.sun.tools.javac.parser.JavacParser$LambdaParameterKind.EXPLICIT:Lcom/sun/tools/javac/parser/JavacParser$LambdaParameterKind;
invokevirtual com.sun.tools.javac.parser.JavacParser$LambdaClassifier.reduce:(Lcom/sun/tools/javac/parser/JavacParser$LambdaParameterKind;)V
5: .line 1905
StackMap locals:
StackMap stack:
aload 1 /* param */
getfield com.sun.tools.javac.tree.JCTree$JCVariableDecl.vartype:Lcom/sun/tools/javac/tree/JCTree$JCExpression;
ifnonnull 6
aload 1 /* param */
getfield com.sun.tools.javac.tree.JCTree$JCVariableDecl.name:Lcom/sun/tools/javac/util/Name;
aload 0 /* this */
getfield com.sun.tools.javac.parser.JavacParser$LambdaClassifier.this$0:Lcom/sun/tools/javac/parser/JavacParser;
getfield com.sun.tools.javac.parser.JavacParser.names:Lcom/sun/tools/javac/util/Names;
getfield com.sun.tools.javac.util.Names.empty:Lcom/sun/tools/javac/util/Name;
if_acmpne 7
6: .line 1906
StackMap locals:
StackMap stack:
aload 1 /* param */
getfield com.sun.tools.javac.tree.JCTree$JCVariableDecl.vartype:Lcom/sun/tools/javac/tree/JCTree$JCExpression;
ifnull 8
aload 1 /* param */
getfield com.sun.tools.javac.tree.JCTree$JCVariableDecl.name:Lcom/sun/tools/javac/util/Name;
aload 0 /* this */
getfield com.sun.tools.javac.parser.JavacParser$LambdaClassifier.this$0:Lcom/sun/tools/javac/parser/JavacParser;
getfield com.sun.tools.javac.parser.JavacParser.names:Lcom/sun/tools/javac/util/Names;
getfield com.sun.tools.javac.util.Names.empty:Lcom/sun/tools/javac/util/Name;
if_acmpne 8
7: .line 1907
StackMap locals:
StackMap stack:
aload 0 /* this */
getstatic com.sun.tools.javac.parser.JavacParser$LambdaParameterKind.IMPLICIT:Lcom/sun/tools/javac/parser/JavacParser$LambdaParameterKind;
invokevirtual com.sun.tools.javac.parser.JavacParser$LambdaClassifier.reduce:(Lcom/sun/tools/javac/parser/JavacParser$LambdaParameterKind;)V
8: .line 1909
StackMap locals:
StackMap stack:
return
end local 1 // com.sun.tools.javac.tree.JCTree$JCVariableDecl param
end local 0 // com.sun.tools.javac.parser.JavacParser$LambdaClassifier this
LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/sun/tools/javac/parser/JavacParser$LambdaClassifier;
0 9 1 param Lcom/sun/tools/javac/tree/JCTree$JCVariableDecl;
MethodParameters:
Name Flags
param
private void reduce(com.sun.tools.javac.parser.JavacParser$LambdaParameterKind);
descriptor: (Lcom/sun/tools/javac/parser/JavacParser$LambdaParameterKind;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=4, args_size=2
start local 0 // com.sun.tools.javac.parser.JavacParser$LambdaClassifier this
start local 1 // com.sun.tools.javac.parser.JavacParser$LambdaParameterKind newKind
0: .line 1912
aload 0 /* this */
getfield com.sun.tools.javac.parser.JavacParser$LambdaClassifier.kind:Lcom/sun/tools/javac/parser/JavacParser$LambdaParameterKind;
ifnonnull 3
1: .line 1913
aload 0 /* this */
aload 1 /* newKind */
putfield com.sun.tools.javac.parser.JavacParser$LambdaClassifier.kind:Lcom/sun/tools/javac/parser/JavacParser$LambdaParameterKind;
2: .line 1914
goto 15
StackMap locals:
StackMap stack:
3: aload 0 /* this */
getfield com.sun.tools.javac.parser.JavacParser$LambdaClassifier.kind:Lcom/sun/tools/javac/parser/JavacParser$LambdaParameterKind;
aload 1 /* newKind */
if_acmpeq 15
aload 0 /* this */
getfield com.sun.tools.javac.parser.JavacParser$LambdaClassifier.kind:Lcom/sun/tools/javac/parser/JavacParser$LambdaParameterKind;
getstatic com.sun.tools.javac.parser.JavacParser$LambdaParameterKind.ERROR:Lcom/sun/tools/javac/parser/JavacParser$LambdaParameterKind;
if_acmpeq 15
4: .line 1915
aload 0 /* this */
getfield com.sun.tools.javac.parser.JavacParser$LambdaClassifier.kind:Lcom/sun/tools/javac/parser/JavacParser$LambdaParameterKind;
astore 2 /* currentKind */
start local 2 // com.sun.tools.javac.parser.JavacParser$LambdaParameterKind currentKind
5: .line 1916
aload 0 /* this */
getstatic com.sun.tools.javac.parser.JavacParser$LambdaParameterKind.ERROR:Lcom/sun/tools/javac/parser/JavacParser$LambdaParameterKind;
putfield com.sun.tools.javac.parser.JavacParser$LambdaClassifier.kind:Lcom/sun/tools/javac/parser/JavacParser$LambdaParameterKind;
6: .line 1917
aload 2 /* currentKind */
getfield com.sun.tools.javac.parser.JavacParser$LambdaParameterKind.index:I
getstatic com.sun.tools.javac.parser.JavacParser$LambdaParameterKind.VAR:Lcom/sun/tools/javac/parser/JavacParser$LambdaParameterKind;
getfield com.sun.tools.javac.parser.JavacParser$LambdaParameterKind.index:I
if_icmpeq 9
7: .line 1918
aload 1 /* newKind */
getfield com.sun.tools.javac.parser.JavacParser$LambdaParameterKind.index:I
getstatic com.sun.tools.javac.parser.JavacParser$LambdaParameterKind.VAR:Lcom/sun/tools/javac/parser/JavacParser$LambdaParameterKind;
getfield com.sun.tools.javac.parser.JavacParser$LambdaParameterKind.index:I
if_icmpeq 9
8: .line 1917
iconst_0
goto 10
StackMap locals: com.sun.tools.javac.parser.JavacParser$LambdaParameterKind
StackMap stack:
9: iconst_1
StackMap locals:
StackMap stack: int
10: istore 3 /* varIndex */
start local 3 // boolean varIndex
11: .line 1919
aload 0 /* this */
getstatic com.sun.tools.javac.code.Source$Feature.VAR_SYNTAX_IMPLICIT_LAMBDAS:Lcom/sun/tools/javac/code/Source$Feature;
aload 0 /* this */
getfield com.sun.tools.javac.parser.JavacParser$LambdaClassifier.this$0:Lcom/sun/tools/javac/parser/JavacParser;
getfield com.sun.tools.javac.parser.JavacParser.source:Lcom/sun/tools/javac/code/Source;
invokevirtual com.sun.tools.javac.code.Source$Feature.allowedInSource:(Lcom/sun/tools/javac/code/Source;)Z
ifne 12
iload 3 /* varIndex */
ifne 13
12: .line 1920
StackMap locals: com.sun.tools.javac.parser.JavacParser$LambdaClassifier com.sun.tools.javac.parser.JavacParser$LambdaParameterKind com.sun.tools.javac.parser.JavacParser$LambdaParameterKind int
StackMap stack: com.sun.tools.javac.parser.JavacParser$LambdaClassifier
getstatic com.sun.tools.javac.parser.JavacParser.decisionTable:[[Lcom/sun/tools/javac/util/JCDiagnostic$Fragment;
aload 2 /* currentKind */
getfield com.sun.tools.javac.parser.JavacParser$LambdaParameterKind.index:I
aaload
aload 1 /* newKind */
getfield com.sun.tools.javac.parser.JavacParser$LambdaParameterKind.index:I
aaload
goto 14
StackMap locals:
StackMap stack: com.sun.tools.javac.parser.JavacParser$LambdaClassifier
13: aconst_null
14: .line 1919
StackMap locals: com.sun.tools.javac.parser.JavacParser$LambdaClassifier com.sun.tools.javac.parser.JavacParser$LambdaParameterKind com.sun.tools.javac.parser.JavacParser$LambdaParameterKind int
StackMap stack: com.sun.tools.javac.parser.JavacParser$LambdaClassifier com.sun.tools.javac.util.JCDiagnostic$Fragment
putfield com.sun.tools.javac.parser.JavacParser$LambdaClassifier.diagFragment:Lcom/sun/tools/javac/util/JCDiagnostic$Fragment;
end local 3 // boolean varIndex
end local 2 // com.sun.tools.javac.parser.JavacParser$LambdaParameterKind currentKind
15: .line 1922
StackMap locals:
StackMap stack:
return
end local 1 // com.sun.tools.javac.parser.JavacParser$LambdaParameterKind newKind
end local 0 // com.sun.tools.javac.parser.JavacParser$LambdaClassifier this
LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lcom/sun/tools/javac/parser/JavacParser$LambdaClassifier;
0 16 1 newKind Lcom/sun/tools/javac/parser/JavacParser$LambdaParameterKind;
5 15 2 currentKind Lcom/sun/tools/javac/parser/JavacParser$LambdaParameterKind;
11 15 3 varIndex Z
MethodParameters:
Name Flags
newKind
com.sun.tools.javac.parser.JavacParser$LambdaParameterKind result();
descriptor: ()Lcom/sun/tools/javac/parser/JavacParser$LambdaParameterKind;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 // com.sun.tools.javac.parser.JavacParser$LambdaClassifier this
0: .line 1925
aload 0 /* this */
getfield com.sun.tools.javac.parser.JavacParser$LambdaClassifier.kind:Lcom/sun/tools/javac/parser/JavacParser$LambdaParameterKind;
areturn
end local 0 // com.sun.tools.javac.parser.JavacParser$LambdaClassifier this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/sun/tools/javac/parser/JavacParser$LambdaClassifier;
}
SourceFile: "JavacParser.java"
NestHost: com.sun.tools.javac.parser.JavacParser
InnerClasses:
public final Feature = com.sun.tools.javac.code.Source$Feature of com.sun.tools.javac.code.Source
LambdaClassifier = com.sun.tools.javac.parser.JavacParser$LambdaClassifier of com.sun.tools.javac.parser.JavacParser
final LambdaParameterKind = com.sun.tools.javac.parser.JavacParser$LambdaParameterKind of com.sun.tools.javac.parser.JavacParser
public abstract JCExpression = com.sun.tools.javac.tree.JCTree$JCExpression of com.sun.tools.javac.tree.JCTree
public JCVariableDecl = com.sun.tools.javac.tree.JCTree$JCVariableDecl of com.sun.tools.javac.tree.JCTree
public final Fragment = com.sun.tools.javac.util.JCDiagnostic$Fragment of com.sun.tools.javac.util.JCDiagnostic