final class com.oracle.truffle.api.test.parser.Sequence2<T, A, B> extends com.oracle.truffle.api.test.parser.SequenceBase<T>
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: com.oracle.truffle.api.test.parser.Sequence2
super_class: com.oracle.truffle.api.test.parser.SequenceBase
{
private com.oracle.truffle.api.test.parser.Element<A> a;
descriptor: Lcom/oracle/truffle/api/test/parser/Element;
flags: (0x0002) ACC_PRIVATE
Signature: Lcom/oracle/truffle/api/test/parser/Element<TA;>;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.nodes.Node$Child()
private com.oracle.truffle.api.test.parser.Element<B> b;
descriptor: Lcom/oracle/truffle/api/test/parser/Element;
flags: (0x0002) ACC_PRIVATE
Signature: Lcom/oracle/truffle/api/test/parser/Element<TB;>;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.nodes.Node$Child()
private final java.util.function.BiFunction<A, B, T> action;
descriptor: Ljava/util/function/BiFunction;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/function/BiFunction<TA;TB;TT;>;
void <init>(java.util.function.BiFunction<A, B, T>, com.oracle.truffle.api.test.parser.Element<A>, com.oracle.truffle.api.test.parser.Element<B>);
descriptor: (Ljava/util/function/BiFunction;Lcom/oracle/truffle/api/test/parser/Element;Lcom/oracle/truffle/api/test/parser/Element;)V
flags: (0x0000)
Code:
stack=2, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokespecial com.oracle.truffle.api.test.parser.SequenceBase.<init>:()V
1: aload 0
aload 1
putfield com.oracle.truffle.api.test.parser.Sequence2.action:Ljava/util/function/BiFunction;
2: aload 0
aload 2
putfield com.oracle.truffle.api.test.parser.Sequence2.a:Lcom/oracle/truffle/api/test/parser/Element;
3: aload 0
aload 3
putfield com.oracle.truffle.api.test.parser.Sequence2.b:Lcom/oracle/truffle/api/test/parser/Element;
4: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/oracle/truffle/api/test/parser/Sequence2<TT;TA;TB;>;
0 5 1 action Ljava/util/function/BiFunction<TA;TB;TT;>;
0 5 2 a Lcom/oracle/truffle/api/test/parser/Element<TA;>;
0 5 3 b Lcom/oracle/truffle/api/test/parser/Element<TB;>;
Signature: (Ljava/util/function/BiFunction<TA;TB;TT;>;Lcom/oracle/truffle/api/test/parser/Element<TA;>;Lcom/oracle/truffle/api/test/parser/Element<TB;>;)V
MethodParameters:
Name Flags
action
a
b
protected com.oracle.truffle.api.test.parser.Element<?>[] elements();
descriptor: ()[Lcom/oracle/truffle/api/test/parser/Element;
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=1, args_size=1
start local 0 0: iconst_2
anewarray com.oracle.truffle.api.test.parser.Element
dup
iconst_0
aload 0
getfield com.oracle.truffle.api.test.parser.Sequence2.a:Lcom/oracle/truffle/api/test/parser/Element;
aastore
dup
iconst_1
aload 0
getfield com.oracle.truffle.api.test.parser.Sequence2.b:Lcom/oracle/truffle/api/test/parser/Element;
aastore
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/api/test/parser/Sequence2<TT;TA;TB;>;
Signature: ()[Lcom/oracle/truffle/api/test/parser/Element<*>;
public T consume(com.oracle.truffle.api.test.parser.PELexer);
descriptor: (Lcom/oracle/truffle/api/test/parser/PELexer;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.truffle.api.test.parser.Sequence2.action:Ljava/util/function/BiFunction;
aload 0
getfield com.oracle.truffle.api.test.parser.Sequence2.a:Lcom/oracle/truffle/api/test/parser/Element;
aload 1
invokevirtual com.oracle.truffle.api.test.parser.Element.consume:(Lcom/oracle/truffle/api/test/parser/PELexer;)Ljava/lang/Object;
aload 0
getfield com.oracle.truffle.api.test.parser.Sequence2.b:Lcom/oracle/truffle/api/test/parser/Element;
aload 1
invokevirtual com.oracle.truffle.api.test.parser.Element.consume:(Lcom/oracle/truffle/api/test/parser/PELexer;)Ljava/lang/Object;
invokeinterface java.util.function.BiFunction.apply:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/api/test/parser/Sequence2<TT;TA;TB;>;
0 1 1 lexer Lcom/oracle/truffle/api/test/parser/PELexer;
Signature: (Lcom/oracle/truffle/api/test/parser/PELexer;)TT;
MethodParameters:
Name Flags
lexer
}
Signature: <T:Ljava/lang/Object;A:Ljava/lang/Object;B:Ljava/lang/Object;>Lcom/oracle/truffle/api/test/parser/SequenceBase<TT;>;
SourceFile: "PEParser.java"
InnerClasses:
public abstract Child = com.oracle.truffle.api.nodes.Node$Child of com.oracle.truffle.api.nodes.Node