class jdk.jshell.spi.ExecutionControl$1SpecReader
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: jdk.jshell.spi.ExecutionControl$1SpecReader
super_class: java.lang.Object
{
int len;
descriptor: I
flags: (0x0000)
int i;
descriptor: I
flags: (0x0000)
char ch;
descriptor: C
flags: (0x0000)
private final java.lang.String val$spec;
descriptor: Ljava/lang/String;
flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC
void <init>(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 0: aload 0
aload 1
putfield jdk.jshell.spi.ExecutionControl$1SpecReader.val$spec:Ljava/lang/String;
aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
invokevirtual java.lang.String.length:()I
putfield jdk.jshell.spi.ExecutionControl$1SpecReader.len:I
2: aload 0
iconst_m1
putfield jdk.jshell.spi.ExecutionControl$1SpecReader.i:I
3: aload 0
invokevirtual jdk.jshell.spi.ExecutionControl$1SpecReader.next:()Z
pop
4: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljdk/jshell/spi/ExecutionControl$1SpecReader;
MethodParameters:
Name Flags
val$spec final
boolean more();
descriptor: ()Z
flags: (0x0000)
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.jshell.spi.ExecutionControl$1SpecReader.i:I
aload 0
getfield jdk.jshell.spi.ExecutionControl$1SpecReader.len:I
if_icmpge 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/jshell/spi/ExecutionControl$1SpecReader;
char current();
descriptor: ()C
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.jshell.spi.ExecutionControl$1SpecReader.ch:C
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/jshell/spi/ExecutionControl$1SpecReader;
final boolean next();
descriptor: ()Z
flags: (0x0010) ACC_FINAL
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
dup
getfield jdk.jshell.spi.ExecutionControl$1SpecReader.i:I
iconst_1
iadd
putfield jdk.jshell.spi.ExecutionControl$1SpecReader.i:I
1: aload 0
getfield jdk.jshell.spi.ExecutionControl$1SpecReader.i:I
aload 0
getfield jdk.jshell.spi.ExecutionControl$1SpecReader.len:I
if_icmpge 4
2: aload 0
aload 0
getfield jdk.jshell.spi.ExecutionControl$1SpecReader.val$spec:Ljava/lang/String;
aload 0
getfield jdk.jshell.spi.ExecutionControl$1SpecReader.i:I
invokevirtual java.lang.String.charAt:(I)C
putfield jdk.jshell.spi.ExecutionControl$1SpecReader.ch:C
3: iconst_1
ireturn
4: StackMap locals:
StackMap stack:
aload 0
aload 0
getfield jdk.jshell.spi.ExecutionControl$1SpecReader.len:I
putfield jdk.jshell.spi.ExecutionControl$1SpecReader.i:I
5: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljdk/jshell/spi/ExecutionControl$1SpecReader;
void skipWhite();
descriptor: ()V
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: goto 2
1: StackMap locals:
StackMap stack:
aload 0
invokevirtual jdk.jshell.spi.ExecutionControl$1SpecReader.next:()Z
pop
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual jdk.jshell.spi.ExecutionControl$1SpecReader.more:()Z
ifeq 3
aload 0
getfield jdk.jshell.spi.ExecutionControl$1SpecReader.ch:C
invokestatic java.lang.Character.isWhitespace:(C)Z
ifne 1
3: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljdk/jshell/spi/ExecutionControl$1SpecReader;
java.lang.String readId();
descriptor: ()Ljava/lang/String;
flags: (0x0000)
Code:
stack=5, locals=3, args_size=1
start local 0 0: aload 0
invokevirtual jdk.jshell.spi.ExecutionControl$1SpecReader.skipWhite:()V
1: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 1
start local 1 2: goto 5
3: StackMap locals: java.lang.StringBuilder
StackMap stack:
aload 1
aload 0
getfield jdk.jshell.spi.ExecutionControl$1SpecReader.ch:C
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
4: aload 0
invokevirtual jdk.jshell.spi.ExecutionControl$1SpecReader.next:()Z
pop
5: StackMap locals:
StackMap stack:
aload 0
invokevirtual jdk.jshell.spi.ExecutionControl$1SpecReader.more:()Z
ifeq 6
aload 0
getfield jdk.jshell.spi.ExecutionControl$1SpecReader.ch:C
invokestatic java.lang.Character.isJavaIdentifierPart:(C)Z
ifne 3
6: StackMap locals:
StackMap stack:
aload 0
invokevirtual jdk.jshell.spi.ExecutionControl$1SpecReader.skipWhite:()V
7: aload 1
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 2
start local 2 8: aload 2
invokevirtual java.lang.String.isEmpty:()Z
ifeq 10
9: new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "Expected identifier in "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield jdk.jshell.spi.ExecutionControl$1SpecReader.val$spec:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
10: StackMap locals: java.lang.String
StackMap stack:
aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Ljdk/jshell/spi/ExecutionControl$1SpecReader;
2 11 1 sb Ljava/lang/StringBuilder;
8 11 2 id Ljava/lang/String;
void expect(char);
descriptor: (C)V
flags: (0x0000)
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual jdk.jshell.spi.ExecutionControl$1SpecReader.skipWhite:()V
1: aload 0
invokevirtual jdk.jshell.spi.ExecutionControl$1SpecReader.more:()Z
ifeq 2
aload 0
getfield jdk.jshell.spi.ExecutionControl$1SpecReader.ch:C
iload 1
if_icmpeq 3
2: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "Expected '"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 1
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
ldc "' in "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield jdk.jshell.spi.ExecutionControl$1SpecReader.val$spec:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals:
StackMap stack:
aload 0
invokevirtual jdk.jshell.spi.ExecutionControl$1SpecReader.next:()Z
pop
4: aload 0
invokevirtual jdk.jshell.spi.ExecutionControl$1SpecReader.skipWhite:()V
5: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljdk/jshell/spi/ExecutionControl$1SpecReader;
0 6 1 exp C
MethodParameters:
Name Flags
exp
java.lang.String readValue();
descriptor: ()Ljava/lang/String;
flags: (0x0000)
Code:
stack=2, locals=3, args_size=1
start local 0 0: aload 0
bipush 40
invokevirtual jdk.jshell.spi.ExecutionControl$1SpecReader.expect:(C)V
1: iconst_1
istore 1
start local 1 2: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 2
start local 2 3: goto 12
4: StackMap locals: int java.lang.StringBuilder
StackMap stack:
aload 0
getfield jdk.jshell.spi.ExecutionControl$1SpecReader.ch:C
bipush 41
if_icmpne 8
5: iinc 1 -1
6: iload 1
ifne 10
7: goto 13
8: StackMap locals:
StackMap stack:
aload 0
getfield jdk.jshell.spi.ExecutionControl$1SpecReader.ch:C
bipush 40
if_icmpne 10
9: iinc 1 1
10: StackMap locals:
StackMap stack:
aload 2
aload 0
getfield jdk.jshell.spi.ExecutionControl$1SpecReader.ch:C
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
11: aload 0
invokevirtual jdk.jshell.spi.ExecutionControl$1SpecReader.next:()Z
pop
12: StackMap locals:
StackMap stack:
aload 0
invokevirtual jdk.jshell.spi.ExecutionControl$1SpecReader.more:()Z
ifne 4
13: StackMap locals:
StackMap stack:
aload 0
bipush 41
invokevirtual jdk.jshell.spi.ExecutionControl$1SpecReader.expect:(C)V
14: aload 2
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Ljdk/jshell/spi/ExecutionControl$1SpecReader;
2 15 1 parenDepth I
3 15 2 sb Ljava/lang/StringBuilder;
}
SourceFile: "ExecutionControl.java"
EnclosingMethod: jdk.jshell.spi.ExecutionControl.generate:(Ljdk/jshell/spi/ExecutionEnv;Ljava/lang/String;)Ljdk/jshell/spi/ExecutionControl;
NestHost: jdk.jshell.spi.ExecutionControl
InnerClasses:
SpecReader = jdk.jshell.spi.ExecutionControl$1SpecReader