public class jdk.internal.org.jline.terminal.impl.CursorSupport
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: jdk.internal.org.jline.terminal.impl.CursorSupport
super_class: java.lang.Object
{
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/internal/org/jline/terminal/impl/CursorSupport;
public static jdk.internal.org.jline.terminal.Cursor getCursorPosition(jdk.internal.org.jline.terminal.Terminal, java.util.function.IntConsumer);
descriptor: (Ljdk/internal/org/jline/terminal/Terminal;Ljava/util/function/IntConsumer;)Ljdk/internal/org/jline/terminal/Cursor;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=15, args_size=2
start local 0 start local 1 0: aload 0
getstatic jdk.internal.org.jline.utils.InfoCmp$Capability.user6:Ljdk/internal/org/jline/utils/InfoCmp$Capability;
invokeinterface jdk.internal.org.jline.terminal.Terminal.getStringCapability:(Ljdk/internal/org/jline/utils/InfoCmp$Capability;)Ljava/lang/String;
astore 2
start local 2 1: aload 0
getstatic jdk.internal.org.jline.utils.InfoCmp$Capability.user7:Ljdk/internal/org/jline/utils/InfoCmp$Capability;
invokeinterface jdk.internal.org.jline.terminal.Terminal.getStringCapability:(Ljdk/internal/org/jline/utils/InfoCmp$Capability;)Ljava/lang/String;
astore 3
start local 3 2: aload 2
ifnull 3
aload 3
ifnonnull 4
3: StackMap locals: java.lang.String java.lang.String
StackMap stack:
aconst_null
areturn
4: StackMap locals:
StackMap stack:
iconst_0
istore 4
start local 4 5: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 5
start local 5 6: iconst_0
istore 6
start local 6 7: goto 26
8: StackMap locals: int java.lang.StringBuilder int
StackMap stack:
aload 2
iload 6
iinc 6 1
invokevirtual java.lang.String.charAt:(I)C
dup
istore 7
start local 7 9: lookupswitch { // 2
37: 14
92: 10
default: 23
}
10: StackMap locals: int
StackMap stack:
aload 2
iload 6
iinc 6 1
invokevirtual java.lang.String.charAt:(I)C
lookupswitch { // 2
69: 11
101: 11
default: 13
}
11: StackMap locals:
StackMap stack:
aload 5
ldc "\\x1b"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
12: goto 26
13: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
invokespecial java.lang.IllegalArgumentException.<init>:()V
athrow
14: StackMap locals:
StackMap stack:
aload 2
iload 6
iinc 6 1
invokevirtual java.lang.String.charAt:(I)C
istore 7
15: iload 7
lookupswitch { // 3
37: 16
100: 20
105: 18
default: 22
}
16: StackMap locals:
StackMap stack:
aload 5
bipush 37
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
17: goto 26
18: StackMap locals:
StackMap stack:
iconst_1
istore 4
19: goto 26
20: StackMap locals:
StackMap stack:
aload 5
ldc "([0-9]+)"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
21: goto 26
22: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
invokespecial java.lang.IllegalArgumentException.<init>:()V
athrow
23: StackMap locals:
StackMap stack:
iload 7
tableswitch { // 91 - 91
91: 24
default: 25
}
24: StackMap locals:
StackMap stack:
aload 5
bipush 92
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
25: StackMap locals:
StackMap stack:
aload 5
iload 7
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
end local 7 26: StackMap locals:
StackMap stack:
iload 6
aload 2
invokevirtual java.lang.String.length:()I
if_icmplt 8
27: aload 5
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic java.util.regex.Pattern.compile:(Ljava/lang/String;)Ljava/util/regex/Pattern;
astore 7
start local 7 28: aload 0
invokeinterface jdk.internal.org.jline.terminal.Terminal.writer:()Ljava/io/PrintWriter;
aload 3
iconst_0
anewarray java.lang.Object
invokestatic jdk.internal.org.jline.utils.Curses.tputs:(Ljava/lang/Appendable;Ljava/lang/String;[Ljava/lang/Object;)V
29: aload 0
invokeinterface jdk.internal.org.jline.terminal.Terminal.flush:()V
30: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 8
start local 8 31: iconst_0
istore 9
start local 9 32: StackMap locals: java.util.regex.Pattern java.lang.StringBuilder int
StackMap stack:
aload 0
invokeinterface jdk.internal.org.jline.terminal.Terminal.reader:()Ljdk/internal/org/jline/utils/NonBlockingReader;
invokevirtual jdk.internal.org.jline.utils.NonBlockingReader.read:()I
istore 10
start local 10 33: iload 10
ifge 35
34: aconst_null
areturn
35: StackMap locals: int
StackMap stack:
aload 8
iload 10
i2c
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
36: aload 7
aload 8
iload 9
invokevirtual java.lang.StringBuilder.substring:(I)Ljava/lang/String;
invokevirtual java.util.regex.Pattern.matcher:(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
astore 11
start local 11 37: aload 11
invokevirtual java.util.regex.Matcher.matches:()Z
ifeq 51
38: aload 11
iconst_1
invokevirtual java.util.regex.Matcher.group:(I)Ljava/lang/String;
invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
istore 12
start local 12 39: aload 11
iconst_2
invokevirtual java.util.regex.Matcher.group:(I)Ljava/lang/String;
invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
istore 13
start local 13 40: iload 4
ifeq 43
41: iinc 13 -1
42: iinc 12 -1
43: StackMap locals: java.util.regex.Matcher int int
StackMap stack:
aload 1
ifnull 49
44: iconst_0
istore 14
start local 14 45: goto 48
46: StackMap locals: int
StackMap stack:
aload 1
aload 8
iload 14
invokevirtual java.lang.StringBuilder.charAt:(I)C
invokeinterface java.util.function.IntConsumer.accept:(I)V
47: iinc 14 1
StackMap locals:
StackMap stack:
48: iload 14
iload 9
if_icmplt 46
end local 14 49: StackMap locals:
StackMap stack:
new jdk.internal.org.jline.terminal.Cursor
dup
iload 13
iload 12
invokespecial jdk.internal.org.jline.terminal.Cursor.<init>:(II)V
50: areturn
end local 13 end local 12 51: StackMap locals:
StackMap stack:
aload 11
invokevirtual java.util.regex.Matcher.hitEnd:()Z
ifne 32
52: iinc 9 1
end local 11 end local 10 53: goto 32
end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 54: StackMap locals: jdk.internal.org.jline.terminal.Terminal java.util.function.IntConsumer
StackMap stack: java.io.IOException
astore 2
start local 2 55: new java.io.IOError
dup
aload 2
invokespecial java.io.IOError.<init>:(Ljava/lang/Throwable;)V
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 56 0 terminal Ljdk/internal/org/jline/terminal/Terminal;
0 56 1 discarded Ljava/util/function/IntConsumer;
1 54 2 u6 Ljava/lang/String;
2 54 3 u7 Ljava/lang/String;
5 54 4 inc1 Z
6 54 5 patb Ljava/lang/StringBuilder;
7 54 6 index I
9 26 7 ch C
28 54 7 pattern Ljava/util/regex/Pattern;
31 54 8 sb Ljava/lang/StringBuilder;
32 54 9 start I
33 53 10 c I
37 53 11 matcher Ljava/util/regex/Matcher;
39 51 12 y I
40 51 13 x I
45 49 14 i I
55 56 2 e Ljava/io/IOException;
Exception table:
from to target type
0 3 54 Class java.io.IOException
4 34 54 Class java.io.IOException
35 50 54 Class java.io.IOException
51 54 54 Class java.io.IOException
MethodParameters:
Name Flags
terminal
discarded
}
SourceFile: "CursorSupport.java"
InnerClasses:
public final Capability = jdk.internal.org.jline.utils.InfoCmp$Capability of jdk.internal.org.jline.utils.InfoCmp