public class com.googlecode.lanterna.gui2.InteractableLookupMap
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.googlecode.lanterna.gui2.InteractableLookupMap
super_class: java.lang.Object
{
private final int[][] lookupMap;
descriptor: [[I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.util.List<com.googlecode.lanterna.gui2.Interactable> interactables;
descriptor: Ljava/util/List;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/List<Lcom/googlecode/lanterna/gui2/Interactable;>;
void <init>(com.googlecode.lanterna.TerminalSize);
descriptor: (Lcom/googlecode/lanterna/TerminalSize;)V
flags: (0x0000)
Code:
stack=3, locals=6, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
invokevirtual com.googlecode.lanterna.TerminalSize.getRows:()I
aload 1
invokevirtual com.googlecode.lanterna.TerminalSize.getColumns:()I
multianewarray [[I 2
putfield com.googlecode.lanterna.gui2.InteractableLookupMap.lookupMap:[[I
2: aload 0
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
putfield com.googlecode.lanterna.gui2.InteractableLookupMap.interactables:Ljava/util/List;
3: aload 0
getfield com.googlecode.lanterna.gui2.InteractableLookupMap.lookupMap:[[I
dup
astore 5
arraylength
istore 4
iconst_0
istore 3
goto 7
StackMap locals: com.googlecode.lanterna.gui2.InteractableLookupMap com.googlecode.lanterna.TerminalSize top int int int[][]
StackMap stack:
4: aload 5
iload 3
aaload
astore 2
start local 2 5: aload 2
iconst_m1
invokestatic java.util.Arrays.fill:([II)V
end local 2 6: iinc 3 1
StackMap locals:
StackMap stack:
7: iload 3
iload 4
if_icmplt 4
8: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/googlecode/lanterna/gui2/InteractableLookupMap;
0 9 1 size Lcom/googlecode/lanterna/TerminalSize;
5 6 2 aLookupMap [I
MethodParameters:
Name Flags
size
void reset();
descriptor: ()V
flags: (0x0000)
Code:
stack=2, locals=5, args_size=1
start local 0 0: aload 0
getfield com.googlecode.lanterna.gui2.InteractableLookupMap.interactables:Ljava/util/List;
invokeinterface java.util.List.clear:()V
1: aload 0
getfield com.googlecode.lanterna.gui2.InteractableLookupMap.lookupMap:[[I
dup
astore 4
arraylength
istore 3
iconst_0
istore 2
goto 5
StackMap locals: com.googlecode.lanterna.gui2.InteractableLookupMap top int int int[][]
StackMap stack:
2: aload 4
iload 2
aaload
astore 1
start local 1 3: aload 1
iconst_m1
invokestatic java.util.Arrays.fill:([II)V
end local 1 4: iinc 2 1
StackMap locals:
StackMap stack:
5: iload 2
iload 3
if_icmplt 2
6: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/googlecode/lanterna/gui2/InteractableLookupMap;
3 4 1 aLookupMap [I
com.googlecode.lanterna.TerminalSize getSize();
descriptor: ()Lcom/googlecode/lanterna/TerminalSize;
flags: (0x0000)
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
getfield com.googlecode.lanterna.gui2.InteractableLookupMap.lookupMap:[[I
arraylength
ifne 1
getstatic com.googlecode.lanterna.TerminalSize.ZERO:Lcom/googlecode/lanterna/TerminalSize;
areturn
1: StackMap locals:
StackMap stack:
new com.googlecode.lanterna.TerminalSize
dup
aload 0
getfield com.googlecode.lanterna.gui2.InteractableLookupMap.lookupMap:[[I
iconst_0
aaload
arraylength
aload 0
getfield com.googlecode.lanterna.gui2.InteractableLookupMap.lookupMap:[[I
arraylength
invokespecial com.googlecode.lanterna.TerminalSize.<init>:(II)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/googlecode/lanterna/gui2/InteractableLookupMap;
public synchronized void add(com.googlecode.lanterna.gui2.Interactable);
descriptor: (Lcom/googlecode/lanterna/gui2/Interactable;)V
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=3, locals=7, args_size=2
start local 0 start local 1 0: aload 1
getstatic com.googlecode.lanterna.TerminalPosition.TOP_LEFT_CORNER:Lcom/googlecode/lanterna/TerminalPosition;
invokeinterface com.googlecode.lanterna.gui2.Interactable.toBasePane:(Lcom/googlecode/lanterna/TerminalPosition;)Lcom/googlecode/lanterna/TerminalPosition;
astore 2
start local 2 1: aload 1
invokeinterface com.googlecode.lanterna.gui2.Interactable.getSize:()Lcom/googlecode/lanterna/TerminalSize;
astore 3
start local 3 2: aload 0
getfield com.googlecode.lanterna.gui2.InteractableLookupMap.interactables:Ljava/util/List;
aload 1
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
3: aload 0
getfield com.googlecode.lanterna.gui2.InteractableLookupMap.interactables:Ljava/util/List;
invokeinterface java.util.List.size:()I
iconst_1
isub
istore 4
start local 4 4: aload 2
invokevirtual com.googlecode.lanterna.TerminalPosition.getRow:()I
istore 5
start local 5 5: goto 14
6: StackMap locals: com.googlecode.lanterna.gui2.InteractableLookupMap com.googlecode.lanterna.gui2.Interactable com.googlecode.lanterna.TerminalPosition com.googlecode.lanterna.TerminalSize int int
StackMap stack:
aload 2
invokevirtual com.googlecode.lanterna.TerminalPosition.getColumn:()I
istore 6
start local 6 7: goto 12
8: StackMap locals: int
StackMap stack:
iload 5
iflt 11
iload 5
aload 0
getfield com.googlecode.lanterna.gui2.InteractableLookupMap.lookupMap:[[I
arraylength
if_icmpge 11
9: iload 6
iflt 11
iload 6
aload 0
getfield com.googlecode.lanterna.gui2.InteractableLookupMap.lookupMap:[[I
iload 5
aaload
arraylength
if_icmpge 11
10: aload 0
getfield com.googlecode.lanterna.gui2.InteractableLookupMap.lookupMap:[[I
iload 5
aaload
iload 6
iload 4
iastore
11: StackMap locals:
StackMap stack:
iinc 6 1
StackMap locals:
StackMap stack:
12: iload 6
aload 2
invokevirtual com.googlecode.lanterna.TerminalPosition.getColumn:()I
aload 3
invokevirtual com.googlecode.lanterna.TerminalSize.getColumns:()I
iadd
if_icmplt 8
end local 6 13: iinc 5 1
StackMap locals:
StackMap stack:
14: iload 5
aload 2
invokevirtual com.googlecode.lanterna.TerminalPosition.getRow:()I
aload 3
invokevirtual com.googlecode.lanterna.TerminalSize.getRows:()I
iadd
if_icmplt 6
end local 5 15: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lcom/googlecode/lanterna/gui2/InteractableLookupMap;
0 16 1 interactable Lcom/googlecode/lanterna/gui2/Interactable;
1 16 2 topLeft Lcom/googlecode/lanterna/TerminalPosition;
2 16 3 size Lcom/googlecode/lanterna/TerminalSize;
4 16 4 index I
5 15 5 y I
7 13 6 x I
MethodParameters:
Name Flags
interactable
public synchronized com.googlecode.lanterna.gui2.Interactable getInteractableAt(com.googlecode.lanterna.TerminalPosition);
descriptor: (Lcom/googlecode/lanterna/TerminalPosition;)Lcom/googlecode/lanterna/gui2/Interactable;
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual com.googlecode.lanterna.TerminalPosition.getRow:()I
iflt 1
aload 1
invokevirtual com.googlecode.lanterna.TerminalPosition.getColumn:()I
ifge 2
1: StackMap locals:
StackMap stack:
aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 1
invokevirtual com.googlecode.lanterna.TerminalPosition.getRow:()I
aload 0
getfield com.googlecode.lanterna.gui2.InteractableLookupMap.lookupMap:[[I
arraylength
if_icmplt 4
3: aconst_null
areturn
4: StackMap locals:
StackMap stack:
aload 1
invokevirtual com.googlecode.lanterna.TerminalPosition.getColumn:()I
aload 0
getfield com.googlecode.lanterna.gui2.InteractableLookupMap.lookupMap:[[I
iconst_0
aaload
arraylength
if_icmplt 6
5: aconst_null
areturn
6: StackMap locals:
StackMap stack:
aload 0
getfield com.googlecode.lanterna.gui2.InteractableLookupMap.lookupMap:[[I
aload 1
invokevirtual com.googlecode.lanterna.TerminalPosition.getRow:()I
aaload
aload 1
invokevirtual com.googlecode.lanterna.TerminalPosition.getColumn:()I
iaload
iconst_m1
if_icmpne 8
7: aconst_null
areturn
8: StackMap locals:
StackMap stack:
aload 0
getfield com.googlecode.lanterna.gui2.InteractableLookupMap.interactables:Ljava/util/List;
aload 0
getfield com.googlecode.lanterna.gui2.InteractableLookupMap.lookupMap:[[I
aload 1
invokevirtual com.googlecode.lanterna.TerminalPosition.getRow:()I
aaload
aload 1
invokevirtual com.googlecode.lanterna.TerminalPosition.getColumn:()I
iaload
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast com.googlecode.lanterna.gui2.Interactable
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/googlecode/lanterna/gui2/InteractableLookupMap;
0 9 1 position Lcom/googlecode/lanterna/TerminalPosition;
MethodParameters:
Name Flags
position
public synchronized com.googlecode.lanterna.gui2.Interactable findNextUp(com.googlecode.lanterna.gui2.Interactable);
descriptor: (Lcom/googlecode/lanterna/gui2/Interactable;)Lcom/googlecode/lanterna/gui2/Interactable;
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
iconst_0
invokevirtual com.googlecode.lanterna.gui2.InteractableLookupMap.findNextUpOrDown:(Lcom/googlecode/lanterna/gui2/Interactable;Z)Lcom/googlecode/lanterna/gui2/Interactable;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/googlecode/lanterna/gui2/InteractableLookupMap;
0 1 1 interactable Lcom/googlecode/lanterna/gui2/Interactable;
MethodParameters:
Name Flags
interactable
public synchronized com.googlecode.lanterna.gui2.Interactable findNextDown(com.googlecode.lanterna.gui2.Interactable);
descriptor: (Lcom/googlecode/lanterna/gui2/Interactable;)Lcom/googlecode/lanterna/gui2/Interactable;
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
iconst_1
invokevirtual com.googlecode.lanterna.gui2.InteractableLookupMap.findNextUpOrDown:(Lcom/googlecode/lanterna/gui2/Interactable;Z)Lcom/googlecode/lanterna/gui2/Interactable;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/googlecode/lanterna/gui2/InteractableLookupMap;
0 1 1 interactable Lcom/googlecode/lanterna/gui2/Interactable;
MethodParameters:
Name Flags
interactable
private com.googlecode.lanterna.gui2.Interactable findNextUpOrDown(com.googlecode.lanterna.gui2.Interactable, boolean);
descriptor: (Lcom/googlecode/lanterna/gui2/Interactable;Z)Lcom/googlecode/lanterna/gui2/Interactable;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=18, args_size=3
start local 0 start local 1 start local 2 0: iload 2
ifeq 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_m1
StackMap locals:
StackMap stack: int
2: istore 3
start local 3 3: aload 1
invokeinterface com.googlecode.lanterna.gui2.Interactable.getCursorLocation:()Lcom/googlecode/lanterna/TerminalPosition;
astore 4
start local 4 4: aload 4
ifnonnull 10
5: iload 2
ifeq 8
6: new com.googlecode.lanterna.TerminalPosition
dup
iconst_0
aload 1
invokeinterface com.googlecode.lanterna.gui2.Interactable.getSize:()Lcom/googlecode/lanterna/TerminalSize;
invokevirtual com.googlecode.lanterna.TerminalSize.getRows:()I
iconst_1
isub
invokespecial com.googlecode.lanterna.TerminalPosition.<init>:(II)V
astore 4
7: goto 14
8: StackMap locals: int com.googlecode.lanterna.TerminalPosition
StackMap stack:
getstatic com.googlecode.lanterna.TerminalPosition.TOP_LEFT_CORNER:Lcom/googlecode/lanterna/TerminalPosition;
astore 4
9: goto 14
10: StackMap locals:
StackMap stack:
iload 2
ifeq 13
11: aload 4
aload 1
invokeinterface com.googlecode.lanterna.gui2.Interactable.getSize:()Lcom/googlecode/lanterna/TerminalSize;
invokevirtual com.googlecode.lanterna.TerminalSize.getRows:()I
iconst_1
isub
invokevirtual com.googlecode.lanterna.TerminalPosition.withRow:(I)Lcom/googlecode/lanterna/TerminalPosition;
astore 4
12: goto 14
13: StackMap locals:
StackMap stack:
aload 4
iconst_0
invokevirtual com.googlecode.lanterna.TerminalPosition.withRow:(I)Lcom/googlecode/lanterna/TerminalPosition;
astore 4
14: StackMap locals:
StackMap stack:
aload 1
aload 4
invokeinterface com.googlecode.lanterna.gui2.Interactable.toBasePane:(Lcom/googlecode/lanterna/TerminalPosition;)Lcom/googlecode/lanterna/TerminalPosition;
astore 4
15: aload 4
ifnonnull 17
16: aconst_null
areturn
17: StackMap locals:
StackMap stack:
aload 0
aload 4
iconst_1
invokevirtual com.googlecode.lanterna.gui2.InteractableLookupMap.getDisqualifiedInteractables:(Lcom/googlecode/lanterna/TerminalPosition;Z)Ljava/util/Set;
astore 5
start local 5 18: aload 0
invokevirtual com.googlecode.lanterna.gui2.InteractableLookupMap.getSize:()Lcom/googlecode/lanterna/TerminalSize;
astore 6
start local 6 19: aload 1
getstatic com.googlecode.lanterna.TerminalPosition.TOP_LEFT_CORNER:Lcom/googlecode/lanterna/TerminalPosition;
invokeinterface com.googlecode.lanterna.gui2.Interactable.toBasePane:(Lcom/googlecode/lanterna/TerminalPosition;)Lcom/googlecode/lanterna/TerminalPosition;
invokevirtual com.googlecode.lanterna.TerminalPosition.getColumn:()I
istore 7
start local 7 20: iload 7
iconst_0
invokestatic java.lang.Math.max:(II)I
istore 7
21: aload 1
new com.googlecode.lanterna.TerminalPosition
dup
aload 1
invokeinterface com.googlecode.lanterna.gui2.Interactable.getSize:()Lcom/googlecode/lanterna/TerminalSize;
invokevirtual com.googlecode.lanterna.TerminalSize.getColumns:()I
iconst_1
isub
iconst_0
invokespecial com.googlecode.lanterna.TerminalPosition.<init>:(II)V
invokeinterface com.googlecode.lanterna.gui2.Interactable.toBasePane:(Lcom/googlecode/lanterna/TerminalPosition;)Lcom/googlecode/lanterna/TerminalPosition;
invokevirtual com.googlecode.lanterna.TerminalPosition.getColumn:()I
istore 8
start local 8 22: iload 8
aload 6
invokevirtual com.googlecode.lanterna.TerminalSize.getColumns:()I
iconst_1
isub
invokestatic java.lang.Math.min:(II)I
istore 8
23: aload 4
invokevirtual com.googlecode.lanterna.TerminalPosition.getColumn:()I
iload 7
isub
iload 8
aload 4
invokevirtual com.googlecode.lanterna.TerminalPosition.getRow:()I
isub
invokestatic java.lang.Math.max:(II)I
istore 9
start local 9 24: aload 4
invokevirtual com.googlecode.lanterna.TerminalPosition.getRow:()I
iload 3
iadd
istore 10
start local 10 25: goto 43
26: StackMap locals: com.googlecode.lanterna.gui2.InteractableLookupMap com.googlecode.lanterna.gui2.Interactable int int com.googlecode.lanterna.TerminalPosition java.util.Set com.googlecode.lanterna.TerminalSize int int int int
StackMap stack:
iconst_0
istore 11
start local 11 27: goto 41
28: StackMap locals: int
StackMap stack:
iconst_2
newarray 10
dup
iconst_0
iconst_1
iastore
dup
iconst_1
iconst_m1
iastore
dup
astore 15
arraylength
istore 14
iconst_0
istore 13
goto 39
StackMap locals: com.googlecode.lanterna.gui2.InteractableLookupMap com.googlecode.lanterna.gui2.Interactable int int com.googlecode.lanterna.TerminalPosition java.util.Set com.googlecode.lanterna.TerminalSize int int int int int top int int int[]
StackMap stack:
29: aload 15
iload 13
iaload
istore 12
start local 12 30: iload 11
ifne 32
iload 12
iconst_m1
if_icmpne 32
31: goto 40
32: StackMap locals: com.googlecode.lanterna.gui2.InteractableLookupMap com.googlecode.lanterna.gui2.Interactable int int com.googlecode.lanterna.TerminalPosition java.util.Set com.googlecode.lanterna.TerminalSize int int int int int int int int int[]
StackMap stack:
aload 4
invokevirtual com.googlecode.lanterna.TerminalPosition.getColumn:()I
iload 11
iload 12
imul
iadd
istore 16
start local 16 33: iload 16
iload 7
if_icmplt 38
iload 16
iload 8
if_icmple 35
34: goto 38
35: StackMap locals: int
StackMap stack:
aload 0
getfield com.googlecode.lanterna.gui2.InteractableLookupMap.lookupMap:[[I
iload 10
aaload
iload 16
iaload
istore 17
start local 17 36: iload 17
iconst_m1
if_icmpeq 38
aload 5
aload 0
getfield com.googlecode.lanterna.gui2.InteractableLookupMap.interactables:Ljava/util/List;
iload 17
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifne 38
37: aload 0
getfield com.googlecode.lanterna.gui2.InteractableLookupMap.interactables:Ljava/util/List;
iload 17
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast com.googlecode.lanterna.gui2.Interactable
areturn
end local 17 end local 16 end local 12 38: StackMap locals: com.googlecode.lanterna.gui2.InteractableLookupMap com.googlecode.lanterna.gui2.Interactable int int com.googlecode.lanterna.TerminalPosition java.util.Set com.googlecode.lanterna.TerminalSize int int int int int top int int int[]
StackMap stack:
iinc 13 1
StackMap locals:
StackMap stack:
39: iload 13
iload 14
if_icmplt 29
40: StackMap locals: com.googlecode.lanterna.gui2.InteractableLookupMap com.googlecode.lanterna.gui2.Interactable int int com.googlecode.lanterna.TerminalPosition java.util.Set com.googlecode.lanterna.TerminalSize int int int int int
StackMap stack:
iinc 11 1
StackMap locals:
StackMap stack:
41: iload 11
iload 9
if_icmple 28
end local 11 42: iload 10
iload 3
iadd
istore 10
43: StackMap locals:
StackMap stack:
iload 10
iflt 45
iload 10
aload 6
invokevirtual com.googlecode.lanterna.TerminalSize.getRows:()I
44: if_icmplt 26
end local 10 45: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 9 end local 8 end local 7 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 46 0 this Lcom/googlecode/lanterna/gui2/InteractableLookupMap;
0 46 1 interactable Lcom/googlecode/lanterna/gui2/Interactable;
0 46 2 isDown Z
3 46 3 directionTerm I
4 46 4 startPosition Lcom/googlecode/lanterna/TerminalPosition;
18 46 5 disqualified Ljava/util/Set<Lcom/googlecode/lanterna/gui2/Interactable;>;
19 46 6 size Lcom/googlecode/lanterna/TerminalSize;
20 46 7 maxShiftLeft I
22 46 8 maxShiftRight I
24 46 9 maxShift I
25 45 10 searchRow I
27 42 11 xShift I
30 38 12 modifier I
33 38 16 searchColumn I
36 38 17 index I
MethodParameters:
Name Flags
interactable
isDown
public synchronized com.googlecode.lanterna.gui2.Interactable findNextLeft(com.googlecode.lanterna.gui2.Interactable);
descriptor: (Lcom/googlecode/lanterna/gui2/Interactable;)Lcom/googlecode/lanterna/gui2/Interactable;
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
iconst_0
invokevirtual com.googlecode.lanterna.gui2.InteractableLookupMap.findNextLeftOrRight:(Lcom/googlecode/lanterna/gui2/Interactable;Z)Lcom/googlecode/lanterna/gui2/Interactable;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/googlecode/lanterna/gui2/InteractableLookupMap;
0 1 1 interactable Lcom/googlecode/lanterna/gui2/Interactable;
MethodParameters:
Name Flags
interactable
public synchronized com.googlecode.lanterna.gui2.Interactable findNextRight(com.googlecode.lanterna.gui2.Interactable);
descriptor: (Lcom/googlecode/lanterna/gui2/Interactable;)Lcom/googlecode/lanterna/gui2/Interactable;
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
iconst_1
invokevirtual com.googlecode.lanterna.gui2.InteractableLookupMap.findNextLeftOrRight:(Lcom/googlecode/lanterna/gui2/Interactable;Z)Lcom/googlecode/lanterna/gui2/Interactable;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/googlecode/lanterna/gui2/InteractableLookupMap;
0 1 1 interactable Lcom/googlecode/lanterna/gui2/Interactable;
MethodParameters:
Name Flags
interactable
private com.googlecode.lanterna.gui2.Interactable findNextLeftOrRight(com.googlecode.lanterna.gui2.Interactable, boolean);
descriptor: (Lcom/googlecode/lanterna/gui2/Interactable;Z)Lcom/googlecode/lanterna/gui2/Interactable;
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=18, args_size=3
start local 0 start local 1 start local 2 0: iload 2
ifeq 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_m1
StackMap locals:
StackMap stack: int
2: istore 3
start local 3 3: aload 1
invokeinterface com.googlecode.lanterna.gui2.Interactable.getCursorLocation:()Lcom/googlecode/lanterna/TerminalPosition;
astore 4
start local 4 4: aload 4
ifnonnull 10
5: iload 2
ifeq 8
6: new com.googlecode.lanterna.TerminalPosition
dup
aload 1
invokeinterface com.googlecode.lanterna.gui2.Interactable.getSize:()Lcom/googlecode/lanterna/TerminalSize;
invokevirtual com.googlecode.lanterna.TerminalSize.getColumns:()I
iconst_1
isub
iconst_0
invokespecial com.googlecode.lanterna.TerminalPosition.<init>:(II)V
astore 4
7: goto 14
8: StackMap locals: int com.googlecode.lanterna.TerminalPosition
StackMap stack:
getstatic com.googlecode.lanterna.TerminalPosition.TOP_LEFT_CORNER:Lcom/googlecode/lanterna/TerminalPosition;
astore 4
9: goto 14
10: StackMap locals:
StackMap stack:
iload 2
ifeq 13
11: aload 4
aload 1
invokeinterface com.googlecode.lanterna.gui2.Interactable.getSize:()Lcom/googlecode/lanterna/TerminalSize;
invokevirtual com.googlecode.lanterna.TerminalSize.getColumns:()I
iconst_1
isub
invokevirtual com.googlecode.lanterna.TerminalPosition.withColumn:(I)Lcom/googlecode/lanterna/TerminalPosition;
astore 4
12: goto 14
13: StackMap locals:
StackMap stack:
aload 4
iconst_0
invokevirtual com.googlecode.lanterna.TerminalPosition.withColumn:(I)Lcom/googlecode/lanterna/TerminalPosition;
astore 4
14: StackMap locals:
StackMap stack:
aload 1
aload 4
invokeinterface com.googlecode.lanterna.gui2.Interactable.toBasePane:(Lcom/googlecode/lanterna/TerminalPosition;)Lcom/googlecode/lanterna/TerminalPosition;
astore 4
15: aload 4
ifnonnull 17
16: aconst_null
areturn
17: StackMap locals:
StackMap stack:
aload 0
aload 4
iconst_0
invokevirtual com.googlecode.lanterna.gui2.InteractableLookupMap.getDisqualifiedInteractables:(Lcom/googlecode/lanterna/TerminalPosition;Z)Ljava/util/Set;
astore 5
start local 5 18: aload 0
invokevirtual com.googlecode.lanterna.gui2.InteractableLookupMap.getSize:()Lcom/googlecode/lanterna/TerminalSize;
astore 6
start local 6 19: aload 1
getstatic com.googlecode.lanterna.TerminalPosition.TOP_LEFT_CORNER:Lcom/googlecode/lanterna/TerminalPosition;
invokeinterface com.googlecode.lanterna.gui2.Interactable.toBasePane:(Lcom/googlecode/lanterna/TerminalPosition;)Lcom/googlecode/lanterna/TerminalPosition;
invokevirtual com.googlecode.lanterna.TerminalPosition.getRow:()I
istore 7
start local 7 20: iload 7
iconst_0
invokestatic java.lang.Math.max:(II)I
istore 7
21: aload 1
new com.googlecode.lanterna.TerminalPosition
dup
iconst_0
aload 1
invokeinterface com.googlecode.lanterna.gui2.Interactable.getSize:()Lcom/googlecode/lanterna/TerminalSize;
invokevirtual com.googlecode.lanterna.TerminalSize.getRows:()I
iconst_1
isub
invokespecial com.googlecode.lanterna.TerminalPosition.<init>:(II)V
invokeinterface com.googlecode.lanterna.gui2.Interactable.toBasePane:(Lcom/googlecode/lanterna/TerminalPosition;)Lcom/googlecode/lanterna/TerminalPosition;
invokevirtual com.googlecode.lanterna.TerminalPosition.getRow:()I
istore 8
start local 8 22: iload 8
aload 6
invokevirtual com.googlecode.lanterna.TerminalSize.getRows:()I
iconst_1
isub
invokestatic java.lang.Math.min:(II)I
istore 8
23: aload 4
invokevirtual com.googlecode.lanterna.TerminalPosition.getRow:()I
iload 7
isub
iload 8
aload 4
invokevirtual com.googlecode.lanterna.TerminalPosition.getRow:()I
isub
invokestatic java.lang.Math.max:(II)I
istore 9
start local 9 24: aload 4
invokevirtual com.googlecode.lanterna.TerminalPosition.getColumn:()I
iload 3
iadd
istore 10
start local 10 25: goto 43
26: StackMap locals: com.googlecode.lanterna.gui2.InteractableLookupMap com.googlecode.lanterna.gui2.Interactable int int com.googlecode.lanterna.TerminalPosition java.util.Set com.googlecode.lanterna.TerminalSize int int int int
StackMap stack:
iconst_0
istore 11
start local 11 27: goto 41
28: StackMap locals: int
StackMap stack:
iconst_2
newarray 10
dup
iconst_0
iconst_1
iastore
dup
iconst_1
iconst_m1
iastore
dup
astore 15
arraylength
istore 14
iconst_0
istore 13
goto 39
StackMap locals: com.googlecode.lanterna.gui2.InteractableLookupMap com.googlecode.lanterna.gui2.Interactable int int com.googlecode.lanterna.TerminalPosition java.util.Set com.googlecode.lanterna.TerminalSize int int int int int top int int int[]
StackMap stack:
29: aload 15
iload 13
iaload
istore 12
start local 12 30: iload 11
ifne 32
iload 12
iconst_m1
if_icmpne 32
31: goto 40
32: StackMap locals: com.googlecode.lanterna.gui2.InteractableLookupMap com.googlecode.lanterna.gui2.Interactable int int com.googlecode.lanterna.TerminalPosition java.util.Set com.googlecode.lanterna.TerminalSize int int int int int int int int int[]
StackMap stack:
aload 4
invokevirtual com.googlecode.lanterna.TerminalPosition.getRow:()I
iload 11
iload 12
imul
iadd
istore 16
start local 16 33: iload 16
iload 7
if_icmplt 38
iload 16
iload 8
if_icmple 35
34: goto 38
35: StackMap locals: int
StackMap stack:
aload 0
getfield com.googlecode.lanterna.gui2.InteractableLookupMap.lookupMap:[[I
iload 16
aaload
iload 10
iaload
istore 17
start local 17 36: iload 17
iconst_m1
if_icmpeq 38
aload 5
aload 0
getfield com.googlecode.lanterna.gui2.InteractableLookupMap.interactables:Ljava/util/List;
iload 17
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifne 38
37: aload 0
getfield com.googlecode.lanterna.gui2.InteractableLookupMap.interactables:Ljava/util/List;
iload 17
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast com.googlecode.lanterna.gui2.Interactable
areturn
end local 17 end local 16 end local 12 38: StackMap locals: com.googlecode.lanterna.gui2.InteractableLookupMap com.googlecode.lanterna.gui2.Interactable int int com.googlecode.lanterna.TerminalPosition java.util.Set com.googlecode.lanterna.TerminalSize int int int int int top int int int[]
StackMap stack:
iinc 13 1
StackMap locals:
StackMap stack:
39: iload 13
iload 14
if_icmplt 29
40: StackMap locals: com.googlecode.lanterna.gui2.InteractableLookupMap com.googlecode.lanterna.gui2.Interactable int int com.googlecode.lanterna.TerminalPosition java.util.Set com.googlecode.lanterna.TerminalSize int int int int int
StackMap stack:
iinc 11 1
StackMap locals:
StackMap stack:
41: iload 11
iload 9
if_icmple 28
end local 11 42: iload 10
iload 3
iadd
istore 10
43: StackMap locals:
StackMap stack:
iload 10
iflt 45
iload 10
aload 6
invokevirtual com.googlecode.lanterna.TerminalSize.getColumns:()I
44: if_icmplt 26
end local 10 45: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 9 end local 8 end local 7 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 46 0 this Lcom/googlecode/lanterna/gui2/InteractableLookupMap;
0 46 1 interactable Lcom/googlecode/lanterna/gui2/Interactable;
0 46 2 isRight Z
3 46 3 directionTerm I
4 46 4 startPosition Lcom/googlecode/lanterna/TerminalPosition;
18 46 5 disqualified Ljava/util/Set<Lcom/googlecode/lanterna/gui2/Interactable;>;
19 46 6 size Lcom/googlecode/lanterna/TerminalSize;
20 46 7 maxShiftUp I
22 46 8 maxShiftDown I
24 46 9 maxShift I
25 45 10 searchColumn I
27 42 11 yShift I
30 38 12 modifier I
33 38 16 searchRow I
36 38 17 index I
MethodParameters:
Name Flags
interactable
isRight
private java.util.Set<com.googlecode.lanterna.gui2.Interactable> getDisqualifiedInteractables(com.googlecode.lanterna.TerminalPosition, boolean);
descriptor: (Lcom/googlecode/lanterna/TerminalPosition;Z)Ljava/util/Set;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=7, args_size=3
start local 0 start local 1 start local 2 0: new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
astore 3
start local 3 1: aload 0
getfield com.googlecode.lanterna.gui2.InteractableLookupMap.lookupMap:[[I
arraylength
ifne 2
aload 3
areturn
2: StackMap locals: java.util.Set
StackMap stack:
aload 0
invokevirtual com.googlecode.lanterna.gui2.InteractableLookupMap.getSize:()Lcom/googlecode/lanterna/TerminalSize;
astore 4
start local 4 3: aload 1
invokevirtual com.googlecode.lanterna.TerminalPosition.getRow:()I
ifge 6
4: aload 1
iconst_0
invokevirtual com.googlecode.lanterna.TerminalPosition.withRow:(I)Lcom/googlecode/lanterna/TerminalPosition;
astore 1
5: goto 8
6: StackMap locals: com.googlecode.lanterna.TerminalSize
StackMap stack:
aload 1
invokevirtual com.googlecode.lanterna.TerminalPosition.getRow:()I
aload 0
getfield com.googlecode.lanterna.gui2.InteractableLookupMap.lookupMap:[[I
arraylength
if_icmplt 8
7: aload 1
aload 0
getfield com.googlecode.lanterna.gui2.InteractableLookupMap.lookupMap:[[I
arraylength
iconst_1
isub
invokevirtual com.googlecode.lanterna.TerminalPosition.withRow:(I)Lcom/googlecode/lanterna/TerminalPosition;
astore 1
8: StackMap locals:
StackMap stack:
aload 1
invokevirtual com.googlecode.lanterna.TerminalPosition.getColumn:()I
ifge 11
9: aload 1
iconst_0
invokevirtual com.googlecode.lanterna.TerminalPosition.withColumn:(I)Lcom/googlecode/lanterna/TerminalPosition;
astore 1
10: goto 13
11: StackMap locals:
StackMap stack:
aload 1
invokevirtual com.googlecode.lanterna.TerminalPosition.getColumn:()I
aload 0
getfield com.googlecode.lanterna.gui2.InteractableLookupMap.lookupMap:[[I
aload 1
invokevirtual com.googlecode.lanterna.TerminalPosition.getRow:()I
aaload
arraylength
if_icmplt 13
12: aload 1
aload 0
getfield com.googlecode.lanterna.gui2.InteractableLookupMap.lookupMap:[[I
aload 1
invokevirtual com.googlecode.lanterna.TerminalPosition.getRow:()I
aaload
arraylength
iconst_1
isub
invokevirtual com.googlecode.lanterna.TerminalPosition.withColumn:(I)Lcom/googlecode/lanterna/TerminalPosition;
astore 1
13: StackMap locals:
StackMap stack:
iload 2
ifeq 22
14: iconst_0
istore 5
start local 5 15: goto 20
16: StackMap locals: int
StackMap stack:
aload 0
getfield com.googlecode.lanterna.gui2.InteractableLookupMap.lookupMap:[[I
aload 1
invokevirtual com.googlecode.lanterna.TerminalPosition.getRow:()I
aaload
iload 5
iaload
istore 6
start local 6 17: iload 6
iconst_m1
if_icmpeq 19
18: aload 3
aload 0
getfield com.googlecode.lanterna.gui2.InteractableLookupMap.interactables:Ljava/util/List;
iload 6
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast com.googlecode.lanterna.gui2.Interactable
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
end local 6 19: StackMap locals:
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
20: iload 5
aload 4
invokevirtual com.googlecode.lanterna.TerminalSize.getColumns:()I
if_icmplt 16
end local 5 21: goto 29
22: StackMap locals:
StackMap stack:
iconst_0
istore 5
start local 5 23: goto 28
24: StackMap locals: int
StackMap stack:
aload 0
getfield com.googlecode.lanterna.gui2.InteractableLookupMap.lookupMap:[[I
iload 5
aaload
aload 1
invokevirtual com.googlecode.lanterna.TerminalPosition.getColumn:()I
iaload
istore 6
start local 6 25: iload 6
iconst_m1
if_icmpeq 27
26: aload 3
aload 0
getfield com.googlecode.lanterna.gui2.InteractableLookupMap.interactables:Ljava/util/List;
iload 6
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast com.googlecode.lanterna.gui2.Interactable
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
end local 6 27: StackMap locals:
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
28: iload 5
aload 4
invokevirtual com.googlecode.lanterna.TerminalSize.getRows:()I
if_icmplt 24
end local 5 29: StackMap locals:
StackMap stack:
aload 3
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 30 0 this Lcom/googlecode/lanterna/gui2/InteractableLookupMap;
0 30 1 startPosition Lcom/googlecode/lanterna/TerminalPosition;
0 30 2 scanHorizontally Z
1 30 3 disqualified Ljava/util/Set<Lcom/googlecode/lanterna/gui2/Interactable;>;
3 30 4 size Lcom/googlecode/lanterna/TerminalSize;
15 21 5 column I
17 19 6 index I
23 29 5 row I
25 27 6 index I
Signature: (Lcom/googlecode/lanterna/TerminalPosition;Z)Ljava/util/Set<Lcom/googlecode/lanterna/gui2/Interactable;>;
MethodParameters:
Name Flags
startPosition
scanHorizontally
void debug();
descriptor: ()V
flags: (0x0000)
Code:
stack=2, locals=9, args_size=1
start local 0 0: aload 0
getfield com.googlecode.lanterna.gui2.InteractableLookupMap.lookupMap:[[I
dup
astore 4
arraylength
istore 3
iconst_0
istore 2
goto 11
StackMap locals: com.googlecode.lanterna.gui2.InteractableLookupMap top int int int[][]
StackMap stack:
1: aload 4
iload 2
aaload
astore 1
start local 1 2: aload 1
dup
astore 8
arraylength
istore 7
iconst_0
istore 6
goto 8
StackMap locals: com.googlecode.lanterna.gui2.InteractableLookupMap int[] int int int[][] top int int int[]
StackMap stack:
3: aload 8
iload 6
iaload
istore 5
start local 5 4: iload 5
iflt 6
5: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc " "
invokevirtual java.io.PrintStream.print:(Ljava/lang/String;)V
6: StackMap locals: com.googlecode.lanterna.gui2.InteractableLookupMap int[] int int int[][] int int int int[]
StackMap stack:
getstatic java.lang.System.out:Ljava/io/PrintStream;
iload 5
invokevirtual java.io.PrintStream.print:(I)V
end local 5 7: iinc 6 1
StackMap locals: com.googlecode.lanterna.gui2.InteractableLookupMap int[] int int int[][] top int int int[]
StackMap stack:
8: iload 6
iload 7
if_icmplt 3
9: getstatic java.lang.System.out:Ljava/io/PrintStream;
invokevirtual java.io.PrintStream.println:()V
end local 1 10: iinc 2 1
StackMap locals: com.googlecode.lanterna.gui2.InteractableLookupMap top int int int[][]
StackMap stack:
11: iload 2
iload 3
if_icmplt 1
12: getstatic java.lang.System.out:Ljava/io/PrintStream;
invokevirtual java.io.PrintStream.println:()V
13: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lcom/googlecode/lanterna/gui2/InteractableLookupMap;
2 10 1 row [I
4 7 5 value I
}
SourceFile: "InteractableLookupMap.java"