public abstract class com.googlecode.lanterna.terminal.ansi.UnixLikeTerminal extends com.googlecode.lanterna.terminal.ansi.ANSITerminal
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: com.googlecode.lanterna.terminal.ansi.UnixLikeTerminal
super_class: com.googlecode.lanterna.terminal.ansi.ANSITerminal
{
private final com.googlecode.lanterna.terminal.ansi.UnixLikeTerminal$CtrlCBehaviour terminalCtrlCBehaviour;
descriptor: Lcom/googlecode/lanterna/terminal/ansi/UnixLikeTerminal$CtrlCBehaviour;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final boolean catchSpecialCharacters;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.lang.Thread shutdownHook;
descriptor: Ljava/lang/Thread;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private boolean acquired;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
protected void <init>(java.io.InputStream, java.io.OutputStream, java.nio.charset.Charset, com.googlecode.lanterna.terminal.ansi.UnixLikeTerminal$CtrlCBehaviour);
descriptor: (Ljava/io/InputStream;Ljava/io/OutputStream;Ljava/nio/charset/Charset;Lcom/googlecode/lanterna/terminal/ansi/UnixLikeTerminal$CtrlCBehaviour;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=6, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
aload 1
aload 2
aload 3
invokespecial com.googlecode.lanterna.terminal.ansi.ANSITerminal.<init>:(Ljava/io/InputStream;Ljava/io/OutputStream;Ljava/nio/charset/Charset;)V
1: aload 0
iconst_0
putfield com.googlecode.lanterna.terminal.ansi.UnixLikeTerminal.acquired:Z
2: ldc "com.googlecode.lanterna.terminal.UnixTerminal.catchSpecialCharacters"
3: ldc ""
4: invokestatic java.lang.System.getProperty:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
astore 5
start local 5 5: aload 0
ldc "false"
aload 5
invokevirtual java.lang.String.trim:()Ljava/lang/String;
invokevirtual java.lang.String.toLowerCase:()Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 6
iconst_0
goto 7
StackMap locals: com.googlecode.lanterna.terminal.ansi.UnixLikeTerminal java.io.InputStream java.io.OutputStream java.nio.charset.Charset com.googlecode.lanterna.terminal.ansi.UnixLikeTerminal$CtrlCBehaviour java.lang.String
StackMap stack: com.googlecode.lanterna.terminal.ansi.UnixLikeTerminal
6: iconst_1
StackMap locals: com.googlecode.lanterna.terminal.ansi.UnixLikeTerminal java.io.InputStream java.io.OutputStream java.nio.charset.Charset com.googlecode.lanterna.terminal.ansi.UnixLikeTerminal$CtrlCBehaviour java.lang.String
StackMap stack: com.googlecode.lanterna.terminal.ansi.UnixLikeTerminal int
7: putfield com.googlecode.lanterna.terminal.ansi.UnixLikeTerminal.catchSpecialCharacters:Z
8: aload 0
aload 4
putfield com.googlecode.lanterna.terminal.ansi.UnixLikeTerminal.terminalCtrlCBehaviour:Lcom/googlecode/lanterna/terminal/ansi/UnixLikeTerminal$CtrlCBehaviour;
9: aload 0
new com.googlecode.lanterna.terminal.ansi.UnixLikeTerminal$1
dup
aload 0
ldc "Lanterna STTY restore"
invokespecial com.googlecode.lanterna.terminal.ansi.UnixLikeTerminal$1.<init>:(Lcom/googlecode/lanterna/terminal/ansi/UnixLikeTerminal;Ljava/lang/String;)V
putfield com.googlecode.lanterna.terminal.ansi.UnixLikeTerminal.shutdownHook:Ljava/lang/Thread;
10: aload 0
invokevirtual com.googlecode.lanterna.terminal.ansi.UnixLikeTerminal.acquire:()V
11: return
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lcom/googlecode/lanterna/terminal/ansi/UnixLikeTerminal;
0 12 1 terminalInput Ljava/io/InputStream;
0 12 2 terminalOutput Ljava/io/OutputStream;
0 12 3 terminalCharset Ljava/nio/charset/Charset;
0 12 4 terminalCtrlCBehaviour Lcom/googlecode/lanterna/terminal/ansi/UnixLikeTerminal$CtrlCBehaviour;
5 12 5 catchSpecialCharactersPropValue Ljava/lang/String;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
terminalInput
terminalOutput
terminalCharset
terminalCtrlCBehaviour
protected void acquire();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
bipush 80
bipush 24
invokevirtual com.googlecode.lanterna.terminal.ansi.UnixLikeTerminal.onResized:(II)V
1: aload 0
invokevirtual com.googlecode.lanterna.terminal.ansi.UnixLikeTerminal.saveTerminalSettings:()V
2: aload 0
iconst_0
invokevirtual com.googlecode.lanterna.terminal.ansi.UnixLikeTerminal.canonicalMode:(Z)V
3: aload 0
iconst_0
invokevirtual com.googlecode.lanterna.terminal.ansi.UnixLikeTerminal.keyEchoEnabled:(Z)V
4: aload 0
getfield com.googlecode.lanterna.terminal.ansi.UnixLikeTerminal.catchSpecialCharacters:Z
ifeq 6
5: aload 0
iconst_0
invokevirtual com.googlecode.lanterna.terminal.ansi.UnixLikeTerminal.keyStrokeSignalsEnabled:(Z)V
6: StackMap locals:
StackMap stack:
aload 0
aload 0
invokedynamic run(Lcom/googlecode/lanterna/terminal/ansi/UnixLikeTerminal;)Ljava/lang/Runnable;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
()V
com/googlecode/lanterna/terminal/ansi/UnixLikeTerminal.lambda$0()V (7)
()V
invokevirtual com.googlecode.lanterna.terminal.ansi.UnixLikeTerminal.registerTerminalResizeListener:(Ljava/lang/Runnable;)V
7: invokestatic java.lang.Runtime.getRuntime:()Ljava/lang/Runtime;
aload 0
getfield com.googlecode.lanterna.terminal.ansi.UnixLikeTerminal.shutdownHook:Ljava/lang/Thread;
invokevirtual java.lang.Runtime.addShutdownHook:(Ljava/lang/Thread;)V
8: aload 0
iconst_1
putfield com.googlecode.lanterna.terminal.ansi.UnixLikeTerminal.acquired:Z
9: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lcom/googlecode/lanterna/terminal/ansi/UnixLikeTerminal;
Exceptions:
throws java.io.IOException
public void close();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual com.googlecode.lanterna.terminal.ansi.UnixLikeTerminal.exitPrivateModeAndRestoreState:()V
1: invokestatic java.lang.Runtime.getRuntime:()Ljava/lang/Runtime;
aload 0
getfield com.googlecode.lanterna.terminal.ansi.UnixLikeTerminal.shutdownHook:Ljava/lang/Thread;
invokevirtual java.lang.Runtime.removeShutdownHook:(Ljava/lang/Thread;)Z
pop
2: aload 0
iconst_0
putfield com.googlecode.lanterna.terminal.ansi.UnixLikeTerminal.acquired:Z
3: aload 0
invokespecial com.googlecode.lanterna.terminal.ansi.ANSITerminal.close:()V
4: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/googlecode/lanterna/terminal/ansi/UnixLikeTerminal;
Exceptions:
throws java.io.IOException
public com.googlecode.lanterna.input.KeyStroke pollInput();
descriptor: ()Lcom/googlecode/lanterna/input/KeyStroke;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
invokespecial com.googlecode.lanterna.terminal.ansi.ANSITerminal.pollInput:()Lcom/googlecode/lanterna/input/KeyStroke;
astore 1
start local 1 1: aload 0
aload 1
invokevirtual com.googlecode.lanterna.terminal.ansi.UnixLikeTerminal.isCtrlC:(Lcom/googlecode/lanterna/input/KeyStroke;)V
2: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/googlecode/lanterna/terminal/ansi/UnixLikeTerminal;
1 3 1 key Lcom/googlecode/lanterna/input/KeyStroke;
Exceptions:
throws java.io.IOException
public com.googlecode.lanterna.input.KeyStroke readInput();
descriptor: ()Lcom/googlecode/lanterna/input/KeyStroke;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
invokespecial com.googlecode.lanterna.terminal.ansi.ANSITerminal.readInput:()Lcom/googlecode/lanterna/input/KeyStroke;
astore 1
start local 1 1: aload 0
aload 1
invokevirtual com.googlecode.lanterna.terminal.ansi.UnixLikeTerminal.isCtrlC:(Lcom/googlecode/lanterna/input/KeyStroke;)V
2: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/googlecode/lanterna/terminal/ansi/UnixLikeTerminal;
1 3 1 key Lcom/googlecode/lanterna/input/KeyStroke;
Exceptions:
throws java.io.IOException
protected com.googlecode.lanterna.terminal.ansi.UnixLikeTerminal$CtrlCBehaviour getTerminalCtrlCBehaviour();
descriptor: ()Lcom/googlecode/lanterna/terminal/ansi/UnixLikeTerminal$CtrlCBehaviour;
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.googlecode.lanterna.terminal.ansi.UnixLikeTerminal.terminalCtrlCBehaviour:Lcom/googlecode/lanterna/terminal/ansi/UnixLikeTerminal$CtrlCBehaviour;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/googlecode/lanterna/terminal/ansi/UnixLikeTerminal;
protected abstract void registerTerminalResizeListener(java.lang.Runnable);
descriptor: (Ljava/lang/Runnable;)V
flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
onResize
protected abstract void saveTerminalSettings();
descriptor: ()V
flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
Exceptions:
throws java.io.IOException
protected abstract void restoreTerminalSettings();
descriptor: ()V
flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
Exceptions:
throws java.io.IOException
private void restoreTerminalSettingsAndKeyStrokeSignals();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual com.googlecode.lanterna.terminal.ansi.UnixLikeTerminal.restoreTerminalSettings:()V
1: aload 0
getfield com.googlecode.lanterna.terminal.ansi.UnixLikeTerminal.catchSpecialCharacters:Z
ifeq 3
2: aload 0
iconst_1
invokevirtual com.googlecode.lanterna.terminal.ansi.UnixLikeTerminal.keyStrokeSignalsEnabled:(Z)V
3: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/googlecode/lanterna/terminal/ansi/UnixLikeTerminal;
Exceptions:
throws java.io.IOException
protected abstract void keyEchoEnabled(boolean);
descriptor: (Z)V
flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
enabled
protected abstract void canonicalMode(boolean);
descriptor: (Z)V
flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
enabled
protected abstract void keyStrokeSignalsEnabled(boolean);
descriptor: (Z)V
flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
enabled
private void isCtrlC(com.googlecode.lanterna.input.KeyStroke);
descriptor: (Lcom/googlecode/lanterna/input/KeyStroke;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
ifnull 9
1: aload 0
getfield com.googlecode.lanterna.terminal.ansi.UnixLikeTerminal.terminalCtrlCBehaviour:Lcom/googlecode/lanterna/terminal/ansi/UnixLikeTerminal$CtrlCBehaviour;
getstatic com.googlecode.lanterna.terminal.ansi.UnixLikeTerminal$CtrlCBehaviour.CTRL_C_KILLS_APPLICATION:Lcom/googlecode/lanterna/terminal/ansi/UnixLikeTerminal$CtrlCBehaviour;
if_acmpne 9
2: aload 1
invokevirtual com.googlecode.lanterna.input.KeyStroke.getCharacter:()Ljava/lang/Character;
ifnull 9
3: aload 1
invokevirtual com.googlecode.lanterna.input.KeyStroke.getCharacter:()Ljava/lang/Character;
invokevirtual java.lang.Character.charValue:()C
bipush 99
if_icmpne 9
4: aload 1
invokevirtual com.googlecode.lanterna.input.KeyStroke.isAltDown:()Z
ifne 9
5: aload 1
invokevirtual com.googlecode.lanterna.input.KeyStroke.isCtrlDown:()Z
ifeq 9
6: aload 0
invokevirtual com.googlecode.lanterna.terminal.ansi.UnixLikeTerminal.isInPrivateMode:()Z
ifeq 8
7: aload 0
invokevirtual com.googlecode.lanterna.terminal.ansi.UnixLikeTerminal.exitPrivateMode:()V
8: StackMap locals:
StackMap stack:
iconst_1
invokestatic java.lang.System.exit:(I)V
9: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lcom/googlecode/lanterna/terminal/ansi/UnixLikeTerminal;
0 10 1 key Lcom/googlecode/lanterna/input/KeyStroke;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
key
private void exitPrivateModeAndRestoreState();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.googlecode.lanterna.terminal.ansi.UnixLikeTerminal.acquired:Z
ifne 2
1: return
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.googlecode.lanterna.terminal.ansi.UnixLikeTerminal.isInPrivateMode:()Z
ifeq 6
3: aload 0
invokevirtual com.googlecode.lanterna.terminal.ansi.UnixLikeTerminal.exitPrivateMode:()V
4: goto 6
5: StackMap locals:
StackMap stack: java.lang.Exception
pop
6: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.googlecode.lanterna.terminal.ansi.UnixLikeTerminal.restoreTerminalSettingsAndKeyStrokeSignals:()V
7: goto 9
8: StackMap locals:
StackMap stack: java.io.IOException
pop
9: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lcom/googlecode/lanterna/terminal/ansi/UnixLikeTerminal;
Exception table:
from to target type
2 4 5 Class java.io.IOException
2 4 5 Class java.lang.IllegalStateException
6 7 8 Class java.io.IOException
private void lambda$0();
descriptor: ()V
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual com.googlecode.lanterna.terminal.ansi.UnixLikeTerminal.getTerminalSize:()Lcom/googlecode/lanterna/TerminalSize;
pop
1: goto 3
2: StackMap locals:
StackMap stack: java.io.IOException
pop
3: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/googlecode/lanterna/terminal/ansi/UnixLikeTerminal;
Exception table:
from to target type
0 1 2 Class java.io.IOException
}
SourceFile: "UnixLikeTerminal.java"
NestMembers:
com.googlecode.lanterna.terminal.ansi.UnixLikeTerminal$1 com.googlecode.lanterna.terminal.ansi.UnixLikeTerminal$CtrlCBehaviour
InnerClasses:
com.googlecode.lanterna.terminal.ansi.UnixLikeTerminal$1
public final CtrlCBehaviour = com.googlecode.lanterna.terminal.ansi.UnixLikeTerminal$CtrlCBehaviour of com.googlecode.lanterna.terminal.ansi.UnixLikeTerminal
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles