class com.googlecode.lanterna.terminal.ansi.TelnetTerminal$TelnetClientIACFilterer extends java.io.InputStream
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: com.googlecode.lanterna.terminal.ansi.TelnetTerminal$TelnetClientIACFilterer
super_class: java.io.InputStream
{
private final com.googlecode.lanterna.terminal.ansi.TelnetTerminal$NegotiationState negotiationState;
descriptor: Lcom/googlecode/lanterna/terminal/ansi/TelnetTerminal$NegotiationState;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.io.InputStream inputStream;
descriptor: Ljava/io/InputStream;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final byte[] buffer;
descriptor: [B
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final byte[] workingBuffer;
descriptor: [B
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private int bytesInBuffer;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private com.googlecode.lanterna.terminal.ansi.TelnetTerminal$TelnetClientEventListener eventListener;
descriptor: Lcom/googlecode/lanterna/terminal/ansi/TelnetTerminal$TelnetClientEventListener;
flags: (0x0002) ACC_PRIVATE
private java.net.Socket socket;
descriptor: Ljava/net/Socket;
flags: (0x0002) ACC_PRIVATE
void <init>(java.net.Socket);
descriptor: (Ljava/net/Socket;)V
flags: (0x0000)
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.io.InputStream.<init>:()V
1: aload 0
new com.googlecode.lanterna.terminal.ansi.TelnetTerminal$NegotiationState
dup
invokespecial com.googlecode.lanterna.terminal.ansi.TelnetTerminal$NegotiationState.<init>:()V
putfield com.googlecode.lanterna.terminal.ansi.TelnetTerminal$TelnetClientIACFilterer.negotiationState:Lcom/googlecode/lanterna/terminal/ansi/TelnetTerminal$NegotiationState;
2: aload 0
aload 1
invokevirtual java.net.Socket.getInputStream:()Ljava/io/InputStream;
putfield com.googlecode.lanterna.terminal.ansi.TelnetTerminal$TelnetClientIACFilterer.inputStream:Ljava/io/InputStream;
3: aload 0
ldc 65536
newarray 8
putfield com.googlecode.lanterna.terminal.ansi.TelnetTerminal$TelnetClientIACFilterer.buffer:[B
4: aload 0
sipush 1024
newarray 8
putfield com.googlecode.lanterna.terminal.ansi.TelnetTerminal$TelnetClientIACFilterer.workingBuffer:[B
5: aload 0
iconst_0
putfield com.googlecode.lanterna.terminal.ansi.TelnetTerminal$TelnetClientIACFilterer.bytesInBuffer:I
6: aload 0
aconst_null
putfield com.googlecode.lanterna.terminal.ansi.TelnetTerminal$TelnetClientIACFilterer.eventListener:Lcom/googlecode/lanterna/terminal/ansi/TelnetTerminal$TelnetClientEventListener;
7: aload 0
aload 1
putfield com.googlecode.lanterna.terminal.ansi.TelnetTerminal$TelnetClientIACFilterer.socket:Ljava/net/Socket;
8: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/googlecode/lanterna/terminal/ansi/TelnetTerminal$TelnetClientIACFilterer;
0 9 1 socket Ljava/net/Socket;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
socket
private void setEventListener(com.googlecode.lanterna.terminal.ansi.TelnetTerminal$TelnetClientEventListener);
descriptor: (Lcom/googlecode/lanterna/terminal/ansi/TelnetTerminal$TelnetClientEventListener;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield com.googlecode.lanterna.terminal.ansi.TelnetTerminal$TelnetClientIACFilterer.eventListener:Lcom/googlecode/lanterna/terminal/ansi/TelnetTerminal$TelnetClientEventListener;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/googlecode/lanterna/terminal/ansi/TelnetTerminal$TelnetClientIACFilterer;
0 2 1 eventListener Lcom/googlecode/lanterna/terminal/ansi/TelnetTerminal$TelnetClientEventListener;
MethodParameters:
Name Flags
eventListener
public int read();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new java.lang.UnsupportedOperationException
dup
ldc "TelnetClientIACFilterer doesn't support .read()"
invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/googlecode/lanterna/terminal/ansi/TelnetTerminal$TelnetClientIACFilterer;
public void close();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.googlecode.lanterna.terminal.ansi.TelnetTerminal$TelnetClientIACFilterer.inputStream:Ljava/io/InputStream;
invokevirtual java.io.InputStream.close:()V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/googlecode/lanterna/terminal/ansi/TelnetTerminal$TelnetClientIACFilterer;
Exceptions:
throws java.io.IOException
public int available();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield com.googlecode.lanterna.terminal.ansi.TelnetTerminal$TelnetClientIACFilterer.bytesInBuffer:I
ifle 2
1: aload 0
getfield com.googlecode.lanterna.terminal.ansi.TelnetTerminal$TelnetClientIACFilterer.bytesInBuffer:I
ireturn
2: StackMap locals:
StackMap stack:
aload 0
iconst_0
invokevirtual com.googlecode.lanterna.terminal.ansi.TelnetTerminal$TelnetClientIACFilterer.fillBuffer:(Z)V
3: aload 0
getfield com.googlecode.lanterna.terminal.ansi.TelnetTerminal$TelnetClientIACFilterer.bytesInBuffer:I
invokestatic java.lang.Math.abs:(I)I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/googlecode/lanterna/terminal/ansi/TelnetTerminal$TelnetClientIACFilterer;
Exceptions:
throws java.io.IOException
public int read(byte[], int, int);
descriptor: ([BII)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield com.googlecode.lanterna.terminal.ansi.TelnetTerminal$TelnetClientIACFilterer.bytesInBuffer:I
iconst_m1
if_icmpne 2
1: iconst_m1
ireturn
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.googlecode.lanterna.terminal.ansi.TelnetTerminal$TelnetClientIACFilterer.available:()I
ifne 4
3: aload 0
iconst_1
invokevirtual com.googlecode.lanterna.terminal.ansi.TelnetTerminal$TelnetClientIACFilterer.fillBuffer:(Z)V
4: StackMap locals:
StackMap stack:
aload 0
getfield com.googlecode.lanterna.terminal.ansi.TelnetTerminal$TelnetClientIACFilterer.bytesInBuffer:I
ifgt 6
5: iconst_m1
ireturn
6: StackMap locals:
StackMap stack:
iload 3
aload 0
getfield com.googlecode.lanterna.terminal.ansi.TelnetTerminal$TelnetClientIACFilterer.bytesInBuffer:I
invokestatic java.lang.Math.min:(II)I
istore 4
start local 4 7: aload 0
getfield com.googlecode.lanterna.terminal.ansi.TelnetTerminal$TelnetClientIACFilterer.buffer:[B
iconst_0
aload 1
iload 2
iload 4
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
8: aload 0
getfield com.googlecode.lanterna.terminal.ansi.TelnetTerminal$TelnetClientIACFilterer.buffer:[B
iload 4
aload 0
getfield com.googlecode.lanterna.terminal.ansi.TelnetTerminal$TelnetClientIACFilterer.buffer:[B
iconst_0
aload 0
getfield com.googlecode.lanterna.terminal.ansi.TelnetTerminal$TelnetClientIACFilterer.buffer:[B
arraylength
iload 4
isub
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
9: aload 0
dup
getfield com.googlecode.lanterna.terminal.ansi.TelnetTerminal$TelnetClientIACFilterer.bytesInBuffer:I
iload 4
isub
putfield com.googlecode.lanterna.terminal.ansi.TelnetTerminal$TelnetClientIACFilterer.bytesInBuffer:I
10: iload 4
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lcom/googlecode/lanterna/terminal/ansi/TelnetTerminal$TelnetClientIACFilterer;
0 11 1 b [B
0 11 2 off I
0 11 3 len I
7 11 4 bytesToCopy I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
b
off
len
private void fillBuffer(boolean);
descriptor: (Z)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=6, args_size=2
start local 0 start local 1 0: aload 0
getfield com.googlecode.lanterna.terminal.ansi.TelnetTerminal$TelnetClientIACFilterer.workingBuffer:[B
arraylength
aload 0
getfield com.googlecode.lanterna.terminal.ansi.TelnetTerminal$TelnetClientIACFilterer.buffer:[B
arraylength
aload 0
getfield com.googlecode.lanterna.terminal.ansi.TelnetTerminal$TelnetClientIACFilterer.bytesInBuffer:I
isub
invokestatic java.lang.Math.min:(II)I
istore 2
start local 2 1: aload 0
getfield com.googlecode.lanterna.terminal.ansi.TelnetTerminal$TelnetClientIACFilterer.socket:Ljava/net/Socket;
invokevirtual java.net.Socket.getSoTimeout:()I
istore 3
start local 3 2: iload 1
ifne 3
aload 0
getfield com.googlecode.lanterna.terminal.ansi.TelnetTerminal$TelnetClientIACFilterer.socket:Ljava/net/Socket;
iconst_1
invokevirtual java.net.Socket.setSoTimeout:(I)V
3: StackMap locals: int int
StackMap stack:
aload 0
getfield com.googlecode.lanterna.terminal.ansi.TelnetTerminal$TelnetClientIACFilterer.inputStream:Ljava/io/InputStream;
aload 0
getfield com.googlecode.lanterna.terminal.ansi.TelnetTerminal$TelnetClientIACFilterer.workingBuffer:[B
iconst_0
iload 2
invokevirtual java.io.InputStream.read:([BII)I
istore 4
start local 4 4: iload 1
ifne 5
aload 0
getfield com.googlecode.lanterna.terminal.ansi.TelnetTerminal$TelnetClientIACFilterer.socket:Ljava/net/Socket;
iload 3
invokevirtual java.net.Socket.setSoTimeout:(I)V
5: StackMap locals: int
StackMap stack:
iload 4
iconst_m1
if_icmpne 7
6: aload 0
iconst_m1
putfield com.googlecode.lanterna.terminal.ansi.TelnetTerminal$TelnetClientIACFilterer.bytesInBuffer:I
return
7: StackMap locals:
StackMap stack:
iconst_0
istore 5
start local 5 8: goto 22
9: StackMap locals: int
StackMap stack:
aload 0
getfield com.googlecode.lanterna.terminal.ansi.TelnetTerminal$TelnetClientIACFilterer.workingBuffer:[B
iload 5
baload
iconst_m1
if_icmpne 20
10: iinc 5 1
11: iconst_4
anewarray java.lang.Byte
dup
iconst_0
bipush -3
invokestatic java.lang.Byte.valueOf:(B)Ljava/lang/Byte;
aastore
dup
iconst_1
bipush -2
invokestatic java.lang.Byte.valueOf:(B)Ljava/lang/Byte;
aastore
dup
iconst_2
bipush -5
invokestatic java.lang.Byte.valueOf:(B)Ljava/lang/Byte;
aastore
dup
iconst_3
bipush -4
invokestatic java.lang.Byte.valueOf:(B)Ljava/lang/Byte;
aastore
invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
aload 0
getfield com.googlecode.lanterna.terminal.ansi.TelnetTerminal$TelnetClientIACFilterer.workingBuffer:[B
iload 5
baload
invokestatic java.lang.Byte.valueOf:(B)Ljava/lang/Byte;
invokeinterface java.util.List.contains:(Ljava/lang/Object;)Z
ifeq 15
12: aload 0
aload 0
getfield com.googlecode.lanterna.terminal.ansi.TelnetTerminal$TelnetClientIACFilterer.workingBuffer:[B
iload 5
iload 4
invokevirtual com.googlecode.lanterna.terminal.ansi.TelnetTerminal$TelnetClientIACFilterer.parseCommand:([BII)V
13: iinc 5 1
14: goto 21
15: StackMap locals:
StackMap stack:
aload 0
getfield com.googlecode.lanterna.terminal.ansi.TelnetTerminal$TelnetClientIACFilterer.workingBuffer:[B
iload 5
baload
bipush -6
if_icmpne 18
16: iload 5
aload 0
aload 0
getfield com.googlecode.lanterna.terminal.ansi.TelnetTerminal$TelnetClientIACFilterer.workingBuffer:[B
iinc 5 1
iload 5
iload 4
invokevirtual com.googlecode.lanterna.terminal.ansi.TelnetTerminal$TelnetClientIACFilterer.parseSubNegotiation:([BII)I
iadd
istore 5
17: goto 21
18: StackMap locals:
StackMap stack:
aload 0
getfield com.googlecode.lanterna.terminal.ansi.TelnetTerminal$TelnetClientIACFilterer.workingBuffer:[B
iload 5
baload
iconst_m1
if_icmpeq 20
19: getstatic java.lang.System.err:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "Unknown Telnet command: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield com.googlecode.lanterna.terminal.ansi.TelnetTerminal$TelnetClientIACFilterer.workingBuffer:[B
iload 5
baload
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
20: StackMap locals:
StackMap stack:
aload 0
getfield com.googlecode.lanterna.terminal.ansi.TelnetTerminal$TelnetClientIACFilterer.buffer:[B
aload 0
dup
getfield com.googlecode.lanterna.terminal.ansi.TelnetTerminal$TelnetClientIACFilterer.bytesInBuffer:I
dup_x1
iconst_1
iadd
putfield com.googlecode.lanterna.terminal.ansi.TelnetTerminal$TelnetClientIACFilterer.bytesInBuffer:I
aload 0
getfield com.googlecode.lanterna.terminal.ansi.TelnetTerminal$TelnetClientIACFilterer.workingBuffer:[B
iload 5
baload
bastore
21: StackMap locals:
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
22: iload 5
iload 4
if_icmplt 9
end local 5 23: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 24 0 this Lcom/googlecode/lanterna/terminal/ansi/TelnetTerminal$TelnetClientIACFilterer;
0 24 1 block Z
1 24 2 maxFill I
2 24 3 oldTimeout I
4 24 4 readBytes I
8 23 5 i I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
block
private void parseCommand(byte[], int, int);
descriptor: ([BII)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iload 2
iconst_1
iadd
iload 3
if_icmplt 2
1: new java.lang.IllegalStateException
dup
ldc "State error, we got a command signal from the remote telnet client but not enough characters available in the stream"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 1
iload 2
baload
istore 4
start local 4 3: aload 1
iload 2
iconst_1
iadd
baload
istore 5
start local 5 4: iload 4
tableswitch { // -5 - -2
-5: 25
-4: 25
-3: 5
-2: 5
default: 44
}
5: StackMap locals: int int
StackMap stack:
iload 5
iconst_3
if_icmpne 13
6: aload 0
getfield com.googlecode.lanterna.terminal.ansi.TelnetTerminal$TelnetClientIACFilterer.negotiationState:Lcom/googlecode/lanterna/terminal/ansi/TelnetTerminal$NegotiationState;
iload 4
bipush -3
if_icmpne 7
iconst_1
goto 8
StackMap locals:
StackMap stack: com.googlecode.lanterna.terminal.ansi.TelnetTerminal$NegotiationState
7: iconst_0
StackMap locals: com.googlecode.lanterna.terminal.ansi.TelnetTerminal$TelnetClientIACFilterer byte[] int int int int
StackMap stack: com.googlecode.lanterna.terminal.ansi.TelnetTerminal$NegotiationState int
8: putfield com.googlecode.lanterna.terminal.ansi.TelnetTerminal$NegotiationState.suppressGoAhead:Z
9: aload 0
getfield com.googlecode.lanterna.terminal.ansi.TelnetTerminal$TelnetClientIACFilterer.eventListener:Lcom/googlecode/lanterna/terminal/ansi/TelnetTerminal$TelnetClientEventListener;
iload 4
bipush -3
if_icmpne 10
iconst_1
goto 11
StackMap locals:
StackMap stack: com.googlecode.lanterna.terminal.ansi.TelnetTerminal$TelnetClientEventListener
10: iconst_0
StackMap locals: com.googlecode.lanterna.terminal.ansi.TelnetTerminal$TelnetClientIACFilterer byte[] int int int int
StackMap stack: com.googlecode.lanterna.terminal.ansi.TelnetTerminal$TelnetClientEventListener int
11: iload 5
invokeinterface com.googlecode.lanterna.terminal.ansi.TelnetTerminal$TelnetClientEventListener.requestReply:(ZB)V
12: goto 45
13: StackMap locals:
StackMap stack:
iload 5
iconst_1
if_icmpne 21
14: aload 0
getfield com.googlecode.lanterna.terminal.ansi.TelnetTerminal$TelnetClientIACFilterer.negotiationState:Lcom/googlecode/lanterna/terminal/ansi/TelnetTerminal$NegotiationState;
iload 4
bipush -3
if_icmpne 15
iconst_1
goto 16
StackMap locals:
StackMap stack: com.googlecode.lanterna.terminal.ansi.TelnetTerminal$NegotiationState
15: iconst_0
StackMap locals: com.googlecode.lanterna.terminal.ansi.TelnetTerminal$TelnetClientIACFilterer byte[] int int int int
StackMap stack: com.googlecode.lanterna.terminal.ansi.TelnetTerminal$NegotiationState int
16: putfield com.googlecode.lanterna.terminal.ansi.TelnetTerminal$NegotiationState.extendedAscii:Z
17: aload 0
getfield com.googlecode.lanterna.terminal.ansi.TelnetTerminal$TelnetClientIACFilterer.eventListener:Lcom/googlecode/lanterna/terminal/ansi/TelnetTerminal$TelnetClientEventListener;
iload 4
bipush -3
if_icmpne 18
iconst_1
goto 19
StackMap locals:
StackMap stack: com.googlecode.lanterna.terminal.ansi.TelnetTerminal$TelnetClientEventListener
18: iconst_0
StackMap locals: com.googlecode.lanterna.terminal.ansi.TelnetTerminal$TelnetClientIACFilterer byte[] int int int int
StackMap stack: com.googlecode.lanterna.terminal.ansi.TelnetTerminal$TelnetClientEventListener int
19: iload 5
invokeinterface com.googlecode.lanterna.terminal.ansi.TelnetTerminal$TelnetClientEventListener.requestReply:(ZB)V
20: goto 45
21: StackMap locals:
StackMap stack:
aload 0
getfield com.googlecode.lanterna.terminal.ansi.TelnetTerminal$TelnetClientIACFilterer.negotiationState:Lcom/googlecode/lanterna/terminal/ansi/TelnetTerminal$NegotiationState;
iload 4
bipush -3
if_icmpne 22
iconst_1
goto 23
StackMap locals:
StackMap stack: com.googlecode.lanterna.terminal.ansi.TelnetTerminal$NegotiationState
22: iconst_0
StackMap locals: com.googlecode.lanterna.terminal.ansi.TelnetTerminal$TelnetClientIACFilterer byte[] int int int int
StackMap stack: com.googlecode.lanterna.terminal.ansi.TelnetTerminal$NegotiationState int
23: iload 5
invokevirtual com.googlecode.lanterna.terminal.ansi.TelnetTerminal$NegotiationState.onUnsupportedRequestCommand:(ZB)V
24: goto 45
25: StackMap locals:
StackMap stack:
iload 5
iconst_1
if_icmpne 30
26: aload 0
getfield com.googlecode.lanterna.terminal.ansi.TelnetTerminal$TelnetClientIACFilterer.negotiationState:Lcom/googlecode/lanterna/terminal/ansi/TelnetTerminal$NegotiationState;
iload 4
bipush -5
if_icmpne 27
iconst_1
goto 28
StackMap locals:
StackMap stack: com.googlecode.lanterna.terminal.ansi.TelnetTerminal$NegotiationState
27: iconst_0
StackMap locals: com.googlecode.lanterna.terminal.ansi.TelnetTerminal$TelnetClientIACFilterer byte[] int int int int
StackMap stack: com.googlecode.lanterna.terminal.ansi.TelnetTerminal$NegotiationState int
28: putfield com.googlecode.lanterna.terminal.ansi.TelnetTerminal$NegotiationState.clientEcho:Z
29: goto 45
30: StackMap locals:
StackMap stack:
iload 5
bipush 34
if_icmpne 35
31: aload 0
getfield com.googlecode.lanterna.terminal.ansi.TelnetTerminal$TelnetClientIACFilterer.negotiationState:Lcom/googlecode/lanterna/terminal/ansi/TelnetTerminal$NegotiationState;
iload 4
bipush -5
if_icmpne 32
iconst_1
goto 33
StackMap locals:
StackMap stack: com.googlecode.lanterna.terminal.ansi.TelnetTerminal$NegotiationState
32: iconst_0
StackMap locals: com.googlecode.lanterna.terminal.ansi.TelnetTerminal$TelnetClientIACFilterer byte[] int int int int
StackMap stack: com.googlecode.lanterna.terminal.ansi.TelnetTerminal$NegotiationState int
33: putfield com.googlecode.lanterna.terminal.ansi.TelnetTerminal$NegotiationState.clientLineMode0:Z
34: goto 45
35: StackMap locals:
StackMap stack:
iload 5
bipush 31
if_icmpne 40
36: aload 0
getfield com.googlecode.lanterna.terminal.ansi.TelnetTerminal$TelnetClientIACFilterer.negotiationState:Lcom/googlecode/lanterna/terminal/ansi/TelnetTerminal$NegotiationState;
iload 4
bipush -5
if_icmpne 37
iconst_1
goto 38
StackMap locals:
StackMap stack: com.googlecode.lanterna.terminal.ansi.TelnetTerminal$NegotiationState
37: iconst_0
StackMap locals: com.googlecode.lanterna.terminal.ansi.TelnetTerminal$TelnetClientIACFilterer byte[] int int int int
StackMap stack: com.googlecode.lanterna.terminal.ansi.TelnetTerminal$NegotiationState int
38: putfield com.googlecode.lanterna.terminal.ansi.TelnetTerminal$NegotiationState.clientResizeNotification:Z
39: goto 45
40: StackMap locals:
StackMap stack:
aload 0
getfield com.googlecode.lanterna.terminal.ansi.TelnetTerminal$TelnetClientIACFilterer.negotiationState:Lcom/googlecode/lanterna/terminal/ansi/TelnetTerminal$NegotiationState;
iload 4
bipush -5
if_icmpne 41
iconst_1
goto 42
StackMap locals:
StackMap stack: com.googlecode.lanterna.terminal.ansi.TelnetTerminal$NegotiationState
41: iconst_0
StackMap locals: com.googlecode.lanterna.terminal.ansi.TelnetTerminal$TelnetClientIACFilterer byte[] int int int int
StackMap stack: com.googlecode.lanterna.terminal.ansi.TelnetTerminal$NegotiationState int
42: iload 5
invokevirtual com.googlecode.lanterna.terminal.ansi.TelnetTerminal$NegotiationState.onUnsupportedStateCommand:(ZB)V
43: goto 45
44: StackMap locals:
StackMap stack:
new java.lang.UnsupportedOperationException
dup
new java.lang.StringBuilder
dup
ldc "No command handler implemented for "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
getstatic com.googlecode.lanterna.terminal.ansi.TelnetProtocol.CODE_TO_NAME:Ljava/util/Map;
iload 4
invokestatic java.lang.Byte.valueOf:(B)Ljava/lang/Byte;
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
athrow
45: StackMap locals:
StackMap stack:
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 46 0 this Lcom/googlecode/lanterna/terminal/ansi/TelnetTerminal$TelnetClientIACFilterer;
0 46 1 buffer [B
0 46 2 position I
0 46 3 max I
3 46 4 command B
4 46 5 value B
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
buffer
position
max
private int parseSubNegotiation(byte[], int, int);
descriptor: ([BII)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=8, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iload 2
istore 4
start local 4 1: aload 1
iload 2
iinc 2 1
baload
istore 5
start local 5 2: new java.io.ByteArrayOutputStream
dup
invokespecial java.io.ByteArrayOutputStream.<init>:()V
astore 6
start local 6 3: goto 18
4: StackMap locals: int int java.io.ByteArrayOutputStream
StackMap stack:
aload 1
iload 2
baload
istore 7
start local 7 5: iload 7
iconst_m1
if_icmpeq 8
6: aload 6
iload 7
invokevirtual java.io.ByteArrayOutputStream.write:(I)V
7: goto 17
8: StackMap locals: int
StackMap stack:
iload 2
iconst_1
iadd
iload 3
if_icmpne 10
9: new java.lang.IllegalStateException
dup
ldc "State error, unexpected end of buffer when reading subnegotiation"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
10: StackMap locals:
StackMap stack:
iinc 2 1
11: aload 1
iload 2
baload
iconst_m1
if_icmpne 14
12: aload 6
iconst_m1
invokevirtual java.io.ByteArrayOutputStream.write:(I)V
13: goto 17
14: StackMap locals:
StackMap stack:
aload 1
iload 2
baload
bipush -16
if_icmpne 17
15: aload 0
iload 5
aload 6
invokevirtual java.io.ByteArrayOutputStream.toByteArray:()[B
invokevirtual com.googlecode.lanterna.terminal.ansi.TelnetTerminal$TelnetClientIACFilterer.parseSubNegotiation:(B[B)V
16: iinc 2 1
iload 2
iload 4
isub
ireturn
17: StackMap locals:
StackMap stack:
iinc 2 1
end local 7 18: StackMap locals:
StackMap stack:
iload 2
iload 3
if_icmplt 4
19: new java.lang.IllegalStateException
dup
ldc "State error, unexpected end of buffer when reading subnegotiation, no IAC SE"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
end local 6 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 20 0 this Lcom/googlecode/lanterna/terminal/ansi/TelnetTerminal$TelnetClientIACFilterer;
0 20 1 buffer [B
0 20 2 position I
0 20 3 max I
1 20 4 originalPosition I
2 20 5 operation B
3 20 6 outputBuffer Ljava/io/ByteArrayOutputStream;
5 18 7 read B
MethodParameters:
Name Flags
buffer
position
max
private void parseSubNegotiation(byte, byte[]);
descriptor: (B[B)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: iload 1
tableswitch { // 31 - 34
31: 1
32: 7
33: 7
34: 6
default: 7
}
1: StackMap locals:
StackMap stack:
aload 0
getfield com.googlecode.lanterna.terminal.ansi.TelnetTerminal$TelnetClientIACFilterer.eventListener:Lcom/googlecode/lanterna/terminal/ansi/TelnetTerminal$TelnetClientEventListener;
2: aload 2
iconst_1
baload
aload 2
iconst_0
baload
invokestatic com.googlecode.lanterna.terminal.ansi.TelnetTerminal.convertTwoBytesToInt2:(BB)I
3: aload 2
iconst_3
baload
aload 2
iconst_2
baload
invokestatic com.googlecode.lanterna.terminal.ansi.TelnetTerminal.convertTwoBytesToInt2:(BB)I
4: invokeinterface com.googlecode.lanterna.terminal.ansi.TelnetTerminal$TelnetClientEventListener.onResize:(II)V
5: goto 8
6: StackMap locals:
StackMap stack:
goto 8
7: StackMap locals:
StackMap stack:
aload 0
getfield com.googlecode.lanterna.terminal.ansi.TelnetTerminal$TelnetClientIACFilterer.negotiationState:Lcom/googlecode/lanterna/terminal/ansi/TelnetTerminal$NegotiationState;
iload 1
aload 2
invokevirtual com.googlecode.lanterna.terminal.ansi.TelnetTerminal$NegotiationState.onUnsupportedSubnegotiation:(B[B)V
8: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/googlecode/lanterna/terminal/ansi/TelnetTerminal$TelnetClientIACFilterer;
0 9 1 option B
0 9 2 additionalData [B
MethodParameters:
Name Flags
option
additionalData
}
SourceFile: "TelnetTerminal.java"
NestHost: com.googlecode.lanterna.terminal.ansi.TelnetTerminal
InnerClasses:
public NegotiationState = com.googlecode.lanterna.terminal.ansi.TelnetTerminal$NegotiationState of com.googlecode.lanterna.terminal.ansi.TelnetTerminal
private abstract TelnetClientEventListener = com.googlecode.lanterna.terminal.ansi.TelnetTerminal$TelnetClientEventListener of com.googlecode.lanterna.terminal.ansi.TelnetTerminal
private TelnetClientIACFilterer = com.googlecode.lanterna.terminal.ansi.TelnetTerminal$TelnetClientIACFilterer of com.googlecode.lanterna.terminal.ansi.TelnetTerminal