class com.jcraft.jsch.Util
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: com.jcraft.jsch.Util
super_class: java.lang.Object
{
private static final byte[] b64;
descriptor: [B
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static java.lang.String[] chars;
descriptor: [Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
static final byte[] empty;
descriptor: [B
flags: (0x0018) ACC_STATIC, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=0, args_size=0
0: .line 38
ldc "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="
invokestatic com.jcraft.jsch.Util.str2byte:(Ljava/lang/String;)[B
putstatic com.jcraft.jsch.Util.b64:[B
1: .line 309
bipush 16
anewarray java.lang.String
dup
iconst_0
2: .line 310
ldc "0"
aastore
dup
iconst_1
ldc "1"
aastore
dup
iconst_2
ldc "2"
aastore
dup
iconst_3
ldc "3"
aastore
dup
iconst_4
ldc "4"
aastore
dup
iconst_5
ldc "5"
aastore
dup
bipush 6
ldc "6"
aastore
dup
bipush 7
ldc "7"
aastore
dup
bipush 8
ldc "8"
aastore
dup
bipush 9
ldc "9"
aastore
dup
bipush 10
ldc "a"
aastore
dup
bipush 11
ldc "b"
aastore
dup
bipush 12
ldc "c"
aastore
dup
bipush 13
ldc "d"
aastore
dup
bipush 14
ldc "e"
aastore
dup
bipush 15
ldc "f"
aastore
3: .line 309
putstatic com.jcraft.jsch.Util.chars:[Ljava/lang/String;
4: .line 442
ldc ""
invokestatic com.jcraft.jsch.Util.str2byte:(Ljava/lang/String;)[B
putstatic com.jcraft.jsch.Util.empty:[B
return
LocalVariableTable:
Start End Slot Name Signature
void <init>();
descriptor: ()V
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 // com.jcraft.jsch.Util this
0: .line 36
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
return
end local 0 // com.jcraft.jsch.Util this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/jcraft/jsch/Util;
private static byte val(byte);
descriptor: (B)B
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=2, args_size=1
start local 0 // byte foo
0: .line 40
iload 0 /* foo */
bipush 61
if_icmpne 1
iconst_0
ireturn
1: .line 41
StackMap locals:
StackMap stack:
iconst_0
istore 1 /* j */
start local 1 // int j
2: goto 5
3: .line 42
StackMap locals: int
StackMap stack:
iload 0 /* foo */
getstatic com.jcraft.jsch.Util.b64:[B
iload 1 /* j */
baload
if_icmpne 4
iload 1 /* j */
i2b
ireturn
4: .line 41
StackMap locals:
StackMap stack:
iinc 1 /* j */ 1
StackMap locals:
StackMap stack:
5: iload 1 /* j */
getstatic com.jcraft.jsch.Util.b64:[B
arraylength
if_icmplt 3
end local 1 // int j
6: .line 44
iconst_0
ireturn
end local 0 // byte foo
LocalVariableTable:
Start End Slot Name Signature
0 7 0 foo B
2 6 1 j I
MethodParameters:
Name Flags
foo
static byte[] fromBase64(byte[], int, int);
descriptor: ([BII)[B
flags: (0x0008) ACC_STATIC
Code:
stack=6, locals=6, args_size=3
start local 0 // byte[] buf
start local 1 // int start
start local 2 // int length
0: .line 48
iload 2 /* length */
newarray 8
astore 3 /* foo */
start local 3 // byte[] foo
1: .line 49
iconst_0
istore 4 /* j */
start local 4 // int j
2: .line 50
iload 1 /* start */
istore 5 /* i */
start local 5 // int i
3: goto 11
4: .line 51
StackMap locals: byte[] int int
StackMap stack:
aload 3 /* foo */
iload 4 /* j */
aload 0 /* buf */
iload 5 /* i */
baload
invokestatic com.jcraft.jsch.Util.val:(B)B
iconst_2
ishl
aload 0 /* buf */
iload 5 /* i */
iconst_1
iadd
baload
invokestatic com.jcraft.jsch.Util.val:(B)B
bipush 48
iand
iconst_4
iushr
ior
i2b
bastore
5: .line 52
aload 0 /* buf */
iload 5 /* i */
iconst_2
iadd
baload
bipush 61
if_icmpne 6
iinc 4 /* j */ 1
goto 12
6: .line 53
StackMap locals:
StackMap stack:
aload 3 /* foo */
iload 4 /* j */
iconst_1
iadd
aload 0 /* buf */
iload 5 /* i */
iconst_1
iadd
baload
invokestatic com.jcraft.jsch.Util.val:(B)B
bipush 15
iand
iconst_4
ishl
aload 0 /* buf */
iload 5 /* i */
iconst_2
iadd
baload
invokestatic com.jcraft.jsch.Util.val:(B)B
bipush 60
iand
iconst_2
iushr
ior
i2b
bastore
7: .line 54
aload 0 /* buf */
iload 5 /* i */
iconst_3
iadd
baload
bipush 61
if_icmpne 8
iinc 4 /* j */ 2
goto 12
8: .line 55
StackMap locals:
StackMap stack:
aload 3 /* foo */
iload 4 /* j */
iconst_2
iadd
aload 0 /* buf */
iload 5 /* i */
iconst_2
iadd
baload
invokestatic com.jcraft.jsch.Util.val:(B)B
iconst_3
iand
bipush 6
ishl
aload 0 /* buf */
iload 5 /* i */
iconst_3
iadd
baload
invokestatic com.jcraft.jsch.Util.val:(B)B
bipush 63
iand
ior
i2b
bastore
9: .line 56
iinc 4 /* j */ 3
10: .line 50
iinc 5 /* i */ 4
StackMap locals:
StackMap stack:
11: iload 5 /* i */
iload 1 /* start */
iload 2 /* length */
iadd
if_icmplt 4
end local 5 // int i
12: .line 58
StackMap locals:
StackMap stack:
iload 4 /* j */
newarray 8
astore 5 /* bar */
start local 5 // byte[] bar
13: .line 59
aload 3 /* foo */
iconst_0
aload 5 /* bar */
iconst_0
iload 4 /* j */
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
14: .line 60
aload 5 /* bar */
15: areturn
end local 5 // byte[] bar
end local 4 // int j
end local 3 // byte[] foo
16: .line 62
StackMap locals: byte[] int int
StackMap stack: java.lang.ArrayIndexOutOfBoundsException
astore 3 /* e */
start local 3 // java.lang.ArrayIndexOutOfBoundsException e
17: .line 63
new com.jcraft.jsch.JSchException
dup
ldc "fromBase64: invalid base64 data"
aload 3 /* e */
invokespecial com.jcraft.jsch.JSchException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 3 // java.lang.ArrayIndexOutOfBoundsException e
end local 2 // int length
end local 1 // int start
end local 0 // byte[] buf
LocalVariableTable:
Start End Slot Name Signature
0 18 0 buf [B
0 18 1 start I
0 18 2 length I
1 16 3 foo [B
2 16 4 j I
3 12 5 i I
13 16 5 bar [B
17 18 3 e Ljava/lang/ArrayIndexOutOfBoundsException;
Exception table:
from to target type
0 15 16 Class java.lang.ArrayIndexOutOfBoundsException
Exceptions:
throws com.jcraft.jsch.JSchException
MethodParameters:
Name Flags
buf
start
length
static byte[] toBase64(byte[], int, int);
descriptor: ([BII)[B
flags: (0x0008) ACC_STATIC
Code:
stack=5, locals=9, args_size=3
start local 0 // byte[] buf
start local 1 // int start
start local 2 // int length
0: .line 68
iload 2 /* length */
iconst_2
imul
newarray 8
astore 3 /* tmp */
start local 3 // byte[] tmp
1: .line 71
iload 2 /* length */
iconst_3
idiv
iconst_3
imul
iload 1 /* start */
iadd
istore 7 /* foo */
start local 7 // int foo
2: .line 72
iconst_0
istore 4 /* i */
start local 4 // int i
3: .line 73
iload 1 /* start */
istore 5 /* j */
start local 5 // int j
4: goto 14
5: .line 74
StackMap locals: byte[] int int byte[] int int top int
StackMap stack:
aload 0 /* buf */
iload 5 /* j */
baload
iconst_2
iushr
bipush 63
iand
istore 6 /* k */
start local 6 // int k
6: .line 75
aload 3 /* tmp */
iload 4 /* i */
iinc 4 /* i */ 1
getstatic com.jcraft.jsch.Util.b64:[B
iload 6 /* k */
baload
bastore
7: .line 76
aload 0 /* buf */
iload 5 /* j */
baload
iconst_3
iand
iconst_4
ishl
aload 0 /* buf */
iload 5 /* j */
iconst_1
iadd
baload
iconst_4
iushr
bipush 15
iand
ior
istore 6 /* k */
8: .line 77
aload 3 /* tmp */
iload 4 /* i */
iinc 4 /* i */ 1
getstatic com.jcraft.jsch.Util.b64:[B
iload 6 /* k */
baload
bastore
9: .line 78
aload 0 /* buf */
iload 5 /* j */
iconst_1
iadd
baload
bipush 15
iand
iconst_2
ishl
aload 0 /* buf */
iload 5 /* j */
iconst_2
iadd
baload
bipush 6
iushr
iconst_3
iand
ior
istore 6 /* k */
10: .line 79
aload 3 /* tmp */
iload 4 /* i */
iinc 4 /* i */ 1
getstatic com.jcraft.jsch.Util.b64:[B
iload 6 /* k */
baload
bastore
11: .line 80
aload 0 /* buf */
iload 5 /* j */
iconst_2
iadd
baload
bipush 63
iand
istore 6 /* k */
12: .line 81
aload 3 /* tmp */
iload 4 /* i */
iinc 4 /* i */ 1
getstatic com.jcraft.jsch.Util.b64:[B
iload 6 /* k */
baload
bastore
13: .line 73
iinc 5 /* j */ 3
end local 6 // int k
StackMap locals:
StackMap stack:
14: iload 5 /* j */
iload 7 /* foo */
if_icmplt 5
15: .line 84
iload 1 /* start */
iload 2 /* length */
iadd
iload 7 /* foo */
isub
istore 7 /* foo */
16: .line 85
iload 7 /* foo */
iconst_1
if_icmpne 24
17: .line 86
aload 0 /* buf */
iload 5 /* j */
baload
iconst_2
iushr
bipush 63
iand
istore 6 /* k */
start local 6 // int k
18: .line 87
aload 3 /* tmp */
iload 4 /* i */
iinc 4 /* i */ 1
getstatic com.jcraft.jsch.Util.b64:[B
iload 6 /* k */
baload
bastore
19: .line 88
aload 0 /* buf */
iload 5 /* j */
baload
iconst_3
iand
iconst_4
ishl
bipush 63
iand
istore 6 /* k */
20: .line 89
aload 3 /* tmp */
iload 4 /* i */
iinc 4 /* i */ 1
getstatic com.jcraft.jsch.Util.b64:[B
iload 6 /* k */
baload
bastore
21: .line 90
aload 3 /* tmp */
iload 4 /* i */
iinc 4 /* i */ 1
bipush 61
bastore
22: .line 91
aload 3 /* tmp */
iload 4 /* i */
iinc 4 /* i */ 1
bipush 61
bastore
23: .line 92
goto 32
end local 6 // int k
24: .line 93
StackMap locals:
StackMap stack:
iload 7 /* foo */
iconst_2
if_icmpne 32
25: .line 94
aload 0 /* buf */
iload 5 /* j */
baload
iconst_2
iushr
bipush 63
iand
istore 6 /* k */
start local 6 // int k
26: .line 95
aload 3 /* tmp */
iload 4 /* i */
iinc 4 /* i */ 1
getstatic com.jcraft.jsch.Util.b64:[B
iload 6 /* k */
baload
bastore
27: .line 96
aload 0 /* buf */
iload 5 /* j */
baload
iconst_3
iand
iconst_4
ishl
aload 0 /* buf */
iload 5 /* j */
iconst_1
iadd
baload
iconst_4
iushr
bipush 15
iand
ior
istore 6 /* k */
28: .line 97
aload 3 /* tmp */
iload 4 /* i */
iinc 4 /* i */ 1
getstatic com.jcraft.jsch.Util.b64:[B
iload 6 /* k */
baload
bastore
29: .line 98
aload 0 /* buf */
iload 5 /* j */
iconst_1
iadd
baload
bipush 15
iand
iconst_2
ishl
bipush 63
iand
istore 6 /* k */
30: .line 99
aload 3 /* tmp */
iload 4 /* i */
iinc 4 /* i */ 1
getstatic com.jcraft.jsch.Util.b64:[B
iload 6 /* k */
baload
bastore
31: .line 100
aload 3 /* tmp */
iload 4 /* i */
iinc 4 /* i */ 1
bipush 61
bastore
end local 6 // int k
32: .line 102
StackMap locals:
StackMap stack:
iload 4 /* i */
newarray 8
astore 8 /* bar */
start local 8 // byte[] bar
33: .line 103
aload 3 /* tmp */
iconst_0
aload 8 /* bar */
iconst_0
iload 4 /* i */
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
34: .line 104
aload 8 /* bar */
areturn
end local 8 // byte[] bar
end local 7 // int foo
end local 5 // int j
end local 4 // int i
end local 3 // byte[] tmp
end local 2 // int length
end local 1 // int start
end local 0 // byte[] buf
LocalVariableTable:
Start End Slot Name Signature
0 35 0 buf [B
0 35 1 start I
0 35 2 length I
1 35 3 tmp [B
3 35 4 i I
4 35 5 j I
6 14 6 k I
18 24 6 k I
26 32 6 k I
2 35 7 foo I
33 35 8 bar [B
MethodParameters:
Name Flags
buf
start
length
static java.lang.String[] split(java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;)[Ljava/lang/String;
flags: (0x0008) ACC_STATIC
Code:
stack=5, locals=8, args_size=2
start local 0 // java.lang.String foo
start local 1 // java.lang.String split
0: .line 110
aload 0 /* foo */
ifnonnull 2
1: .line 111
aconst_null
areturn
2: .line 112
StackMap locals:
StackMap stack:
aload 0 /* foo */
invokestatic com.jcraft.jsch.Util.str2byte:(Ljava/lang/String;)[B
astore 2 /* buf */
start local 2 // byte[] buf
3: .line 113
new java.util.Vector
dup
invokespecial java.util.Vector.<init>:()V
astore 3 /* bar */
start local 3 // java.util.Vector bar
4: .line 114
iconst_0
istore 4 /* start */
start local 4 // int start
5: .line 117
StackMap locals: byte[] java.util.Vector int
StackMap stack:
aload 0 /* foo */
aload 1 /* split */
iload 4 /* start */
invokevirtual java.lang.String.indexOf:(Ljava/lang/String;I)I
istore 5 /* index */
start local 5 // int index
6: .line 118
iload 5 /* index */
iflt 10
7: .line 119
aload 3 /* bar */
aload 2 /* buf */
iload 4 /* start */
iload 5 /* index */
iload 4 /* start */
isub
invokestatic com.jcraft.jsch.Util.byte2str:([BII)Ljava/lang/String;
invokevirtual java.util.Vector.addElement:(Ljava/lang/Object;)V
8: .line 120
iload 5 /* index */
iconst_1
iadd
istore 4 /* start */
9: .line 121
goto 5
10: .line 123
StackMap locals: int
StackMap stack:
aload 3 /* bar */
aload 2 /* buf */
iload 4 /* start */
aload 2 /* buf */
arraylength
iload 4 /* start */
isub
invokestatic com.jcraft.jsch.Util.byte2str:([BII)Ljava/lang/String;
invokevirtual java.util.Vector.addElement:(Ljava/lang/Object;)V
11: .line 126
aload 3 /* bar */
invokevirtual java.util.Vector.size:()I
anewarray java.lang.String
astore 6 /* result */
start local 6 // java.lang.String[] result
12: .line 127
iconst_0
istore 7 /* i */
start local 7 // int i
13: goto 16
14: .line 128
StackMap locals: java.lang.String[] int
StackMap stack:
aload 6 /* result */
iload 7 /* i */
aload 3 /* bar */
iload 7 /* i */
invokevirtual java.util.Vector.elementAt:(I)Ljava/lang/Object;
checkcast java.lang.String
aastore
15: .line 127
iinc 7 /* i */ 1
StackMap locals:
StackMap stack:
16: iload 7 /* i */
aload 6 /* result */
arraylength
if_icmplt 14
end local 7 // int i
17: .line 130
aload 6 /* result */
areturn
end local 6 // java.lang.String[] result
end local 5 // int index
end local 4 // int start
end local 3 // java.util.Vector bar
end local 2 // byte[] buf
end local 1 // java.lang.String split
end local 0 // java.lang.String foo
LocalVariableTable:
Start End Slot Name Signature
0 18 0 foo Ljava/lang/String;
0 18 1 split Ljava/lang/String;
3 18 2 buf [B
4 18 3 bar Ljava/util/Vector;
5 18 4 start I
6 18 5 index I
12 18 6 result [Ljava/lang/String;
13 17 7 i I
MethodParameters:
Name Flags
foo
split
static boolean glob(byte[], byte[]);
descriptor: ([B[B)Z
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=2, args_size=2
start local 0 // byte[] pattern
start local 1 // byte[] name
0: .line 133
aload 0 /* pattern */
iconst_0
aload 1 /* name */
iconst_0
invokestatic com.jcraft.jsch.Util.glob0:([BI[BI)Z
ireturn
end local 1 // byte[] name
end local 0 // byte[] pattern
LocalVariableTable:
Start End Slot Name Signature
0 1 0 pattern [B
0 1 1 name [B
MethodParameters:
Name Flags
pattern
name
private static boolean glob0(byte[], int, byte[], int);
descriptor: ([BI[BI)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=4, args_size=4
start local 0 // byte[] pattern
start local 1 // int pattern_index
start local 2 // byte[] name
start local 3 // int name_index
0: .line 137
aload 2 /* name */
arraylength
ifle 5
aload 2 /* name */
iconst_0
baload
bipush 46
if_icmpne 5
1: .line 138
aload 0 /* pattern */
arraylength
ifle 4
aload 0 /* pattern */
iconst_0
baload
bipush 46
if_icmpne 4
2: .line 139
aload 0 /* pattern */
arraylength
iconst_2
if_icmpne 3
aload 0 /* pattern */
iconst_1
baload
bipush 42
if_icmpne 3
iconst_1
ireturn
3: .line 140
StackMap locals:
StackMap stack:
aload 0 /* pattern */
iload 1 /* pattern_index */
iconst_1
iadd
aload 2 /* name */
iload 3 /* name_index */
iconst_1
iadd
invokestatic com.jcraft.jsch.Util.glob:([BI[BI)Z
ireturn
4: .line 142
StackMap locals:
StackMap stack:
iconst_0
ireturn
5: .line 144
StackMap locals:
StackMap stack:
aload 0 /* pattern */
iload 1 /* pattern_index */
aload 2 /* name */
iload 3 /* name_index */
invokestatic com.jcraft.jsch.Util.glob:([BI[BI)Z
ireturn
end local 3 // int name_index
end local 2 // byte[] name
end local 1 // int pattern_index
end local 0 // byte[] pattern
LocalVariableTable:
Start End Slot Name Signature
0 6 0 pattern [B
0 6 1 pattern_index I
0 6 2 name [B
0 6 3 name_index I
MethodParameters:
Name Flags
pattern
pattern_index
name
name_index
private static boolean glob(byte[], int, byte[], int);
descriptor: ([BI[BI)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=9, args_size=4
start local 0 // byte[] pattern
start local 1 // int pattern_index
start local 2 // byte[] name
start local 3 // int name_index
0: .line 150
aload 0 /* pattern */
arraylength
istore 4 /* patternlen */
start local 4 // int patternlen
1: .line 151
iload 4 /* patternlen */
ifne 3
2: .line 152
iconst_0
ireturn
3: .line 154
StackMap locals: int
StackMap stack:
aload 2 /* name */
arraylength
istore 5 /* namelen */
start local 5 // int namelen
4: .line 155
iload 1 /* pattern_index */
istore 6 /* i */
start local 6 // int i
5: .line 156
iload 3 /* name_index */
istore 7 /* j */
start local 7 // int j
6: .line 158
goto 65
7: .line 159
StackMap locals: int int int
StackMap stack:
aload 0 /* pattern */
iload 6 /* i */
baload
bipush 92
if_icmpne 16
8: .line 160
iload 6 /* i */
iconst_1
iadd
iload 4 /* patternlen */
if_icmpne 10
9: .line 161
iconst_0
ireturn
10: .line 162
StackMap locals:
StackMap stack:
iinc 6 /* i */ 1
11: .line 163
aload 0 /* pattern */
iload 6 /* i */
baload
aload 2 /* name */
iload 7 /* j */
baload
if_icmpeq 13
12: .line 164
iconst_0
ireturn
13: .line 165
StackMap locals:
StackMap stack:
iload 6 /* i */
aload 0 /* pattern */
iload 6 /* i */
baload
invokestatic com.jcraft.jsch.Util.skipUTF8Char:(B)I
iadd
istore 6 /* i */
14: .line 166
iload 7 /* j */
aload 2 /* name */
iload 7 /* j */
baload
invokestatic com.jcraft.jsch.Util.skipUTF8Char:(B)I
iadd
istore 7 /* j */
15: .line 167
goto 65
16: .line 170
StackMap locals:
StackMap stack:
aload 0 /* pattern */
iload 6 /* i */
baload
bipush 42
if_icmpne 52
17: .line 171
goto 20
18: .line 172
StackMap locals:
StackMap stack:
aload 0 /* pattern */
iload 6 /* i */
baload
bipush 42
if_icmpne 21
19: .line 173
iinc 6 /* i */ 1
20: .line 171
StackMap locals:
StackMap stack:
iload 6 /* i */
iload 4 /* patternlen */
if_icmplt 18
21: .line 178
StackMap locals:
StackMap stack:
iload 4 /* patternlen */
iload 6 /* i */
if_icmpne 23
22: .line 179
iconst_1
ireturn
23: .line 181
StackMap locals:
StackMap stack:
aload 0 /* pattern */
iload 6 /* i */
baload
istore 8 /* foo */
start local 8 // byte foo
24: .line 182
iload 8 /* foo */
bipush 63
if_icmpne 31
25: .line 183
goto 29
26: .line 184
StackMap locals: int
StackMap stack:
aload 0 /* pattern */
iload 6 /* i */
aload 2 /* name */
iload 7 /* j */
invokestatic com.jcraft.jsch.Util.glob:([BI[BI)Z
ifeq 28
27: .line 185
iconst_1
ireturn
28: .line 187
StackMap locals:
StackMap stack:
iload 7 /* j */
aload 2 /* name */
iload 7 /* j */
baload
invokestatic com.jcraft.jsch.Util.skipUTF8Char:(B)I
iadd
istore 7 /* j */
29: .line 183
StackMap locals:
StackMap stack:
iload 7 /* j */
iload 5 /* namelen */
if_icmplt 26
30: .line 189
iconst_0
ireturn
31: .line 191
StackMap locals:
StackMap stack:
iload 8 /* foo */
bipush 92
if_icmpne 50
32: .line 192
iload 6 /* i */
iconst_1
iadd
iload 4 /* patternlen */
if_icmpne 34
33: .line 193
iconst_0
ireturn
34: .line 194
StackMap locals:
StackMap stack:
iinc 6 /* i */ 1
35: .line 195
aload 0 /* pattern */
iload 6 /* i */
baload
istore 8 /* foo */
36: .line 196
goto 44
37: .line 197
StackMap locals:
StackMap stack:
iload 8 /* foo */
aload 2 /* name */
iload 7 /* j */
baload
if_icmpne 43
38: .line 198
aload 0 /* pattern */
iload 6 /* i */
iload 8 /* foo */
invokestatic com.jcraft.jsch.Util.skipUTF8Char:(B)I
iadd
39: .line 199
aload 2 /* name */
iload 7 /* j */
aload 2 /* name */
iload 7 /* j */
baload
invokestatic com.jcraft.jsch.Util.skipUTF8Char:(B)I
iadd
40: .line 198
invokestatic com.jcraft.jsch.Util.glob:([BI[BI)Z
41: .line 199
ifeq 43
42: .line 200
iconst_1
ireturn
43: .line 203
StackMap locals:
StackMap stack:
iload 7 /* j */
aload 2 /* name */
iload 7 /* j */
baload
invokestatic com.jcraft.jsch.Util.skipUTF8Char:(B)I
iadd
istore 7 /* j */
44: .line 196
StackMap locals:
StackMap stack:
iload 7 /* j */
iload 5 /* namelen */
if_icmplt 37
45: .line 205
iconst_0
ireturn
46: .line 209
StackMap locals:
StackMap stack:
iload 8 /* foo */
aload 2 /* name */
iload 7 /* j */
baload
if_icmpne 49
47: .line 210
aload 0 /* pattern */
iload 6 /* i */
aload 2 /* name */
iload 7 /* j */
invokestatic com.jcraft.jsch.Util.glob:([BI[BI)Z
ifeq 49
48: .line 211
iconst_1
ireturn
49: .line 214
StackMap locals:
StackMap stack:
iload 7 /* j */
aload 2 /* name */
iload 7 /* j */
baload
invokestatic com.jcraft.jsch.Util.skipUTF8Char:(B)I
iadd
istore 7 /* j */
50: .line 208
StackMap locals:
StackMap stack:
iload 7 /* j */
iload 5 /* namelen */
if_icmplt 46
51: .line 216
iconst_0
ireturn
end local 8 // byte foo
52: .line 219
StackMap locals:
StackMap stack:
aload 0 /* pattern */
iload 6 /* i */
baload
bipush 63
if_icmpne 56
53: .line 220
iinc 6 /* i */ 1
54: .line 221
iload 7 /* j */
aload 2 /* name */
iload 7 /* j */
baload
invokestatic com.jcraft.jsch.Util.skipUTF8Char:(B)I
iadd
istore 7 /* j */
55: .line 222
goto 65
56: .line 225
StackMap locals:
StackMap stack:
aload 0 /* pattern */
iload 6 /* i */
baload
aload 2 /* name */
iload 7 /* j */
baload
if_icmpeq 58
57: .line 226
iconst_0
ireturn
58: .line 228
StackMap locals:
StackMap stack:
iload 6 /* i */
aload 0 /* pattern */
iload 6 /* i */
baload
invokestatic com.jcraft.jsch.Util.skipUTF8Char:(B)I
iadd
istore 6 /* i */
59: .line 229
iload 7 /* j */
aload 2 /* name */
iload 7 /* j */
baload
invokestatic com.jcraft.jsch.Util.skipUTF8Char:(B)I
iadd
istore 7 /* j */
60: .line 231
iload 7 /* j */
iload 5 /* namelen */
if_icmplt 65
61: .line 232
iload 6 /* i */
iload 4 /* patternlen */
if_icmplt 63
62: .line 233
iconst_1
ireturn
63: .line 235
StackMap locals:
StackMap stack:
aload 0 /* pattern */
iload 6 /* i */
baload
bipush 42
if_icmpne 65
64: .line 236
goto 66
65: .line 158
StackMap locals:
StackMap stack:
iload 6 /* i */
iload 4 /* patternlen */
if_icmpge 66
iload 7 /* j */
iload 5 /* namelen */
if_icmplt 7
66: .line 242
StackMap locals:
StackMap stack:
iload 6 /* i */
iload 4 /* patternlen */
if_icmpne 68
iload 7 /* j */
iload 5 /* namelen */
if_icmpne 68
67: .line 243
iconst_1
ireturn
68: .line 245
StackMap locals:
StackMap stack:
iload 7 /* j */
iload 5 /* namelen */
if_icmplt 77
69: .line 246
aload 0 /* pattern */
iload 6 /* i */
baload
bipush 42
if_icmpne 77
70: .line 247
iconst_1
istore 8 /* ok */
start local 8 // boolean ok
71: .line 248
goto 75
72: .line 249
StackMap locals: int
StackMap stack:
aload 0 /* pattern */
iload 6 /* i */
iinc 6 /* i */ 1
baload
bipush 42
if_icmpeq 75
73: .line 250
iconst_0
istore 8 /* ok */
74: .line 251
goto 76
75: .line 248
StackMap locals:
StackMap stack:
iload 6 /* i */
iload 4 /* patternlen */
if_icmplt 72
76: .line 254
StackMap locals:
StackMap stack:
iload 8 /* ok */
ireturn
end local 8 // boolean ok
77: .line 257
StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 7 // int j
end local 6 // int i
end local 5 // int namelen
end local 4 // int patternlen
end local 3 // int name_index
end local 2 // byte[] name
end local 1 // int pattern_index
end local 0 // byte[] pattern
LocalVariableTable:
Start End Slot Name Signature
0 78 0 pattern [B
0 78 1 pattern_index I
0 78 2 name [B
0 78 3 name_index I
1 78 4 patternlen I
4 78 5 namelen I
5 78 6 i I
6 78 7 j I
24 52 8 foo B
71 77 8 ok Z
MethodParameters:
Name Flags
pattern
pattern_index
name
name_index
static java.lang.String quote(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=7, args_size=1
start local 0 // java.lang.String path
0: .line 261
aload 0 /* path */
invokestatic com.jcraft.jsch.Util.str2byte:(Ljava/lang/String;)[B
astore 1 /* _path */
start local 1 // byte[] _path
1: .line 262
iconst_0
istore 2 /* count */
start local 2 // int count
2: .line 263
iconst_0
istore 3 /* i */
start local 3 // int i
3: goto 8
4: .line 264
StackMap locals: byte[] int int
StackMap stack:
aload 1 /* _path */
iload 3 /* i */
baload
istore 4 /* b */
start local 4 // byte b
5: .line 265
iload 4 /* b */
bipush 92
if_icmpeq 6
iload 4 /* b */
bipush 63
if_icmpeq 6
iload 4 /* b */
bipush 42
if_icmpne 7
6: .line 266
StackMap locals: int
StackMap stack:
iinc 2 /* count */ 1
end local 4 // byte b
7: .line 263
StackMap locals:
StackMap stack:
iinc 3 /* i */ 1
StackMap locals:
StackMap stack:
8: iload 3 /* i */
aload 1 /* _path */
arraylength
if_icmplt 4
end local 3 // int i
9: .line 268
iload 2 /* count */
ifne 11
10: .line 269
aload 0 /* path */
areturn
11: .line 270
StackMap locals:
StackMap stack:
aload 1 /* _path */
arraylength
iload 2 /* count */
iadd
newarray 8
astore 3 /* _path2 */
start local 3 // byte[] _path2
12: .line 271
iconst_0
istore 4 /* i */
start local 4 // int i
13: iconst_0
istore 5 /* j */
start local 5 // int j
14: goto 20
15: .line 272
StackMap locals: byte[] int int
StackMap stack:
aload 1 /* _path */
iload 4 /* i */
baload
istore 6 /* b */
start local 6 // byte b
16: .line 273
iload 6 /* b */
bipush 92
if_icmpeq 17
iload 6 /* b */
bipush 63
if_icmpeq 17
iload 6 /* b */
bipush 42
if_icmpne 18
17: .line 274
StackMap locals: int
StackMap stack:
aload 3 /* _path2 */
iload 5 /* j */
iinc 5 /* j */ 1
bipush 92
bastore
18: .line 276
StackMap locals:
StackMap stack:
aload 3 /* _path2 */
iload 5 /* j */
iinc 5 /* j */ 1
iload 6 /* b */
bastore
end local 6 // byte b
19: .line 271
iinc 4 /* i */ 1
StackMap locals:
StackMap stack:
20: iload 4 /* i */
aload 1 /* _path */
arraylength
if_icmplt 15
end local 5 // int j
end local 4 // int i
21: .line 278
aload 3 /* _path2 */
invokestatic com.jcraft.jsch.Util.byte2str:([B)Ljava/lang/String;
areturn
end local 3 // byte[] _path2
end local 2 // int count
end local 1 // byte[] _path
end local 0 // java.lang.String path
LocalVariableTable:
Start End Slot Name Signature
0 22 0 path Ljava/lang/String;
1 22 1 _path [B
2 22 2 count I
3 9 3 i I
5 7 4 b B
12 22 3 _path2 [B
13 21 4 i I
14 21 5 j I
16 19 6 b B
MethodParameters:
Name Flags
path
static java.lang.String unquote(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=3, args_size=1
start local 0 // java.lang.String path
0: .line 282
aload 0 /* path */
invokestatic com.jcraft.jsch.Util.str2byte:(Ljava/lang/String;)[B
astore 1 /* foo */
start local 1 // byte[] foo
1: .line 283
aload 1 /* foo */
invokestatic com.jcraft.jsch.Util.unquote:([B)[B
astore 2 /* bar */
start local 2 // byte[] bar
2: .line 284
aload 1 /* foo */
arraylength
aload 2 /* bar */
arraylength
if_icmpne 4
3: .line 285
aload 0 /* path */
areturn
4: .line 286
StackMap locals: byte[] byte[]
StackMap stack:
aload 2 /* bar */
invokestatic com.jcraft.jsch.Util.byte2str:([B)Ljava/lang/String;
areturn
end local 2 // byte[] bar
end local 1 // byte[] foo
end local 0 // java.lang.String path
LocalVariableTable:
Start End Slot Name Signature
0 5 0 path Ljava/lang/String;
1 5 1 foo [B
2 5 2 bar [B
MethodParameters:
Name Flags
path
static byte[] unquote(byte[]);
descriptor: ([B)[B
flags: (0x0008) ACC_STATIC
Code:
stack=7, locals=4, args_size=1
start local 0 // byte[] path
0: .line 289
aload 0 /* path */
arraylength
istore 1 /* pathlen */
start local 1 // int pathlen
1: .line 290
iconst_0
istore 2 /* i */
start local 2 // int i
2: .line 291
goto 11
3: .line 292
StackMap locals: int int
StackMap stack:
aload 0 /* path */
iload 2 /* i */
baload
bipush 92
if_icmpne 10
4: .line 293
iload 2 /* i */
iconst_1
iadd
iload 1 /* pathlen */
if_icmpne 6
5: .line 294
goto 12
6: .line 295
StackMap locals:
StackMap stack:
aload 0 /* path */
iload 2 /* i */
iconst_1
iadd
aload 0 /* path */
iload 2 /* i */
aload 0 /* path */
arraylength
iload 2 /* i */
iconst_1
iadd
isub
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
7: .line 296
iinc 1 /* pathlen */ -1
8: .line 297
iinc 2 /* i */ 1
9: .line 298
goto 11
10: .line 300
StackMap locals:
StackMap stack:
iinc 2 /* i */ 1
11: .line 291
StackMap locals:
StackMap stack:
iload 2 /* i */
iload 1 /* pathlen */
if_icmplt 3
12: .line 302
StackMap locals:
StackMap stack:
iload 1 /* pathlen */
aload 0 /* path */
arraylength
if_icmpne 14
13: .line 303
aload 0 /* path */
areturn
14: .line 304
StackMap locals:
StackMap stack:
iload 1 /* pathlen */
newarray 8
astore 3 /* foo */
start local 3 // byte[] foo
15: .line 305
aload 0 /* path */
iconst_0
aload 3 /* foo */
iconst_0
iload 1 /* pathlen */
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
16: .line 306
aload 3 /* foo */
areturn
end local 3 // byte[] foo
end local 2 // int i
end local 1 // int pathlen
end local 0 // byte[] path
LocalVariableTable:
Start End Slot Name Signature
0 17 0 path [B
1 17 1 pathlen I
2 17 2 i I
15 17 3 foo [B
MethodParameters:
Name Flags
path
static java.lang.String getFingerPrint(com.jcraft.jsch.HASH, byte[]);
descriptor: (Lcom/jcraft/jsch/HASH;[B)Ljava/lang/String;
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=6, args_size=2
start local 0 // com.jcraft.jsch.HASH hash
start local 1 // byte[] data
0: .line 314
aload 0 /* hash */
invokeinterface com.jcraft.jsch.HASH.init:()V
1: .line 315
aload 0 /* hash */
aload 1 /* data */
iconst_0
aload 1 /* data */
arraylength
invokeinterface com.jcraft.jsch.HASH.update:([BII)V
2: .line 316
aload 0 /* hash */
invokeinterface com.jcraft.jsch.HASH.digest:()[B
astore 2 /* foo */
start local 2 // byte[] foo
3: .line 317
new java.lang.StringBuffer
dup
invokespecial java.lang.StringBuffer.<init>:()V
astore 3 /* sb */
start local 3 // java.lang.StringBuffer sb
4: .line 319
iconst_0
istore 5 /* i */
start local 5 // int i
5: goto 12
6: .line 320
StackMap locals: com.jcraft.jsch.HASH byte[] byte[] java.lang.StringBuffer top int
StackMap stack:
aload 2 /* foo */
iload 5 /* i */
baload
sipush 255
iand
istore 4 /* bar */
start local 4 // int bar
7: .line 321
aload 3 /* sb */
getstatic com.jcraft.jsch.Util.chars:[Ljava/lang/String;
iload 4 /* bar */
iconst_4
iushr
bipush 15
iand
aaload
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
8: .line 322
aload 3 /* sb */
getstatic com.jcraft.jsch.Util.chars:[Ljava/lang/String;
iload 4 /* bar */
bipush 15
iand
aaload
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
9: .line 323
iload 5 /* i */
iconst_1
iadd
aload 2 /* foo */
arraylength
if_icmpge 11
10: .line 324
aload 3 /* sb */
ldc ":"
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
11: .line 319
StackMap locals: com.jcraft.jsch.HASH byte[] byte[] java.lang.StringBuffer int int
StackMap stack:
iinc 5 /* i */ 1
end local 4 // int bar
StackMap locals: com.jcraft.jsch.HASH byte[] byte[] java.lang.StringBuffer top int
StackMap stack:
12: iload 5 /* i */
aload 2 /* foo */
arraylength
if_icmplt 6
end local 5 // int i
13: .line 326
aload 3 /* sb */
invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
14: areturn
end local 3 // java.lang.StringBuffer sb
end local 2 // byte[] foo
15: .line 328
StackMap locals: com.jcraft.jsch.HASH byte[]
StackMap stack: java.lang.Exception
pop
16: .line 329
ldc "???"
areturn
end local 1 // byte[] data
end local 0 // com.jcraft.jsch.HASH hash
LocalVariableTable:
Start End Slot Name Signature
0 17 0 hash Lcom/jcraft/jsch/HASH;
0 17 1 data [B
3 15 2 foo [B
4 15 3 sb Ljava/lang/StringBuffer;
7 12 4 bar I
5 13 5 i I
Exception table:
from to target type
0 14 15 Class java.lang.Exception
MethodParameters:
Name Flags
hash
data
static boolean array_equals(byte[], byte[]);
descriptor: ([B[B)Z
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=4, args_size=2
start local 0 // byte[] foo
start local 1 // byte[] bar
0: .line 333
aload 0 /* foo */
arraylength
istore 2 /* i */
start local 2 // int i
1: .line 334
iload 2 /* i */
aload 1 /* bar */
arraylength
if_icmpeq 2
iconst_0
ireturn
2: .line 335
StackMap locals: int
StackMap stack:
iconst_0
istore 3 /* j */
start local 3 // int j
3: goto 6
StackMap locals: int
StackMap stack:
4: aload 0 /* foo */
iload 3 /* j */
baload
aload 1 /* bar */
iload 3 /* j */
baload
if_icmpeq 5
iconst_0
ireturn
StackMap locals:
StackMap stack:
5: iinc 3 /* j */ 1
StackMap locals:
StackMap stack:
6: iload 3 /* j */
iload 2 /* i */
if_icmplt 4
end local 3 // int j
7: .line 337
iconst_1
ireturn
end local 2 // int i
end local 1 // byte[] bar
end local 0 // byte[] foo
LocalVariableTable:
Start End Slot Name Signature
0 8 0 foo [B
0 8 1 bar [B
1 8 2 i I
3 7 3 j I
MethodParameters:
Name Flags
foo
bar
static java.net.Socket createSocket(java.lang.String, int, int);
descriptor: (Ljava/lang/String;II)Ljava/net/Socket;
flags: (0x0008) ACC_STATIC
Code:
stack=8, locals=10, args_size=3
start local 0 // java.lang.String host
start local 1 // int port
start local 2 // int timeout
0: .line 340
aconst_null
astore 3 /* socket */
start local 3 // java.net.Socket socket
1: .line 341
iload 2 /* timeout */
ifne 10
2: .line 343
new java.net.Socket
dup
aload 0 /* host */
iload 1 /* port */
invokespecial java.net.Socket.<init>:(Ljava/lang/String;I)V
astore 3 /* socket */
3: .line 344
aload 3 /* socket */
4: areturn
5: .line 346
StackMap locals: java.lang.String int int java.net.Socket
StackMap stack: java.lang.Exception
astore 4 /* e */
start local 4 // java.lang.Exception e
6: .line 347
aload 4 /* e */
invokevirtual java.lang.Exception.toString:()Ljava/lang/String;
astore 5 /* message */
start local 5 // java.lang.String message
7: .line 348
aload 4 /* e */
instanceof java.lang.Throwable
ifeq 9
8: .line 349
new com.jcraft.jsch.JSchException
dup
aload 5 /* message */
aload 4 /* e */
invokespecial com.jcraft.jsch.JSchException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
9: .line 350
StackMap locals: java.lang.Exception java.lang.String
StackMap stack:
new com.jcraft.jsch.JSchException
dup
aload 5 /* message */
invokespecial com.jcraft.jsch.JSchException.<init>:(Ljava/lang/String;)V
athrow
end local 5 // java.lang.String message
end local 4 // java.lang.Exception e
10: .line 353
StackMap locals:
StackMap stack:
aload 0 /* host */
astore 4 /* _host */
start local 4 // java.lang.String _host
11: .line 354
iload 1 /* port */
istore 5 /* _port */
start local 5 // int _port
12: .line 355
iconst_1
anewarray java.net.Socket
astore 6 /* sockp */
start local 6 // java.net.Socket[] sockp
13: .line 356
iconst_1
anewarray java.lang.Exception
astore 7 /* ee */
start local 7 // java.lang.Exception[] ee
14: .line 357
ldc ""
astore 8 /* message */
start local 8 // java.lang.String message
15: .line 358
new java.lang.Thread
dup
new com.jcraft.jsch.Util$1
dup
aload 6 /* sockp */
aload 4 /* _host */
iload 5 /* _port */
aload 7 /* ee */
invokespecial com.jcraft.jsch.Util$1.<init>:([Ljava/net/Socket;Ljava/lang/String;I[Ljava/lang/Exception;)V
invokespecial java.lang.Thread.<init>:(Ljava/lang/Runnable;)V
astore 9 /* tmp */
start local 9 // java.lang.Thread tmp
16: .line 376
aload 9 /* tmp */
new java.lang.StringBuilder
dup
ldc "Opening Socket "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0 /* host */
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.lang.Thread.setName:(Ljava/lang/String;)V
17: .line 377
aload 9 /* tmp */
invokevirtual java.lang.Thread.start:()V
18: .line 379
aload 9 /* tmp */
iload 2 /* timeout */
i2l
invokevirtual java.lang.Thread.join:(J)V
19: .line 380
ldc "timeout: "
astore 8 /* message */
20: .line 381
goto 22
21: .line 382
StackMap locals: java.lang.String int int java.net.Socket java.lang.String int java.net.Socket[] java.lang.Exception[] java.lang.String java.lang.Thread
StackMap stack: java.lang.InterruptedException
pop
22: .line 384
StackMap locals:
StackMap stack:
aload 6 /* sockp */
iconst_0
aaload
ifnull 25
aload 6 /* sockp */
iconst_0
aaload
invokevirtual java.net.Socket.isConnected:()Z
ifeq 25
23: .line 385
aload 6 /* sockp */
iconst_0
aaload
astore 3 /* socket */
24: .line 386
goto 31
25: .line 388
StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
aload 8 /* message */
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc "socket is not established"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 8 /* message */
26: .line 389
aload 7 /* ee */
iconst_0
aaload
ifnull 28
27: .line 390
aload 7 /* ee */
iconst_0
aaload
invokevirtual java.lang.Exception.toString:()Ljava/lang/String;
astore 8 /* message */
28: .line 392
StackMap locals:
StackMap stack:
aload 9 /* tmp */
invokevirtual java.lang.Thread.interrupt:()V
29: .line 393
aconst_null
astore 9 /* tmp */
30: .line 394
new com.jcraft.jsch.JSchException
dup
aload 8 /* message */
aload 7 /* ee */
iconst_0
aaload
invokespecial com.jcraft.jsch.JSchException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
31: .line 396
StackMap locals:
StackMap stack:
aload 3 /* socket */
areturn
end local 9 // java.lang.Thread tmp
end local 8 // java.lang.String message
end local 7 // java.lang.Exception[] ee
end local 6 // java.net.Socket[] sockp
end local 5 // int _port
end local 4 // java.lang.String _host
end local 3 // java.net.Socket socket
end local 2 // int timeout
end local 1 // int port
end local 0 // java.lang.String host
LocalVariableTable:
Start End Slot Name Signature
0 32 0 host Ljava/lang/String;
0 32 1 port I
0 32 2 timeout I
1 32 3 socket Ljava/net/Socket;
6 10 4 e Ljava/lang/Exception;
7 10 5 message Ljava/lang/String;
11 32 4 _host Ljava/lang/String;
12 32 5 _port I
13 32 6 sockp [Ljava/net/Socket;
14 32 7 ee [Ljava/lang/Exception;
15 32 8 message Ljava/lang/String;
16 32 9 tmp Ljava/lang/Thread;
Exception table:
from to target type
2 4 5 Class java.lang.Exception
18 20 21 Class java.lang.InterruptedException
Exceptions:
throws com.jcraft.jsch.JSchException
MethodParameters:
Name Flags
host
port
timeout
static byte[] str2byte(java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;)[B
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 // java.lang.String str
start local 1 // java.lang.String encoding
0: .line 400
aload 0 /* str */
ifnonnull 2
1: .line 401
aconst_null
areturn
2: .line 402
StackMap locals:
StackMap stack:
aload 0 /* str */
aload 1 /* encoding */
invokevirtual java.lang.String.getBytes:(Ljava/lang/String;)[B
3: areturn
4: .line 403
StackMap locals:
StackMap stack: java.io.UnsupportedEncodingException
pop
5: .line 404
aload 0 /* str */
invokevirtual java.lang.String.getBytes:()[B
areturn
end local 1 // java.lang.String encoding
end local 0 // java.lang.String str
LocalVariableTable:
Start End Slot Name Signature
0 6 0 str Ljava/lang/String;
0 6 1 encoding Ljava/lang/String;
Exception table:
from to target type
2 3 4 Class java.io.UnsupportedEncodingException
MethodParameters:
Name Flags
str
encoding
static byte[] str2byte(java.lang.String);
descriptor: (Ljava/lang/String;)[B
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 // java.lang.String str
0: .line 409
aload 0 /* str */
ldc "UTF-8"
invokestatic com.jcraft.jsch.Util.str2byte:(Ljava/lang/String;Ljava/lang/String;)[B
areturn
end local 0 // java.lang.String str
LocalVariableTable:
Start End Slot Name Signature
0 1 0 str Ljava/lang/String;
MethodParameters:
Name Flags
str
static java.lang.String byte2str(byte[], java.lang.String);
descriptor: ([BLjava/lang/String;)Ljava/lang/String;
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=2, args_size=2
start local 0 // byte[] str
start local 1 // java.lang.String encoding
0: .line 413
aload 0 /* str */
iconst_0
aload 0 /* str */
arraylength
aload 1 /* encoding */
invokestatic com.jcraft.jsch.Util.byte2str:([BIILjava/lang/String;)Ljava/lang/String;
areturn
end local 1 // java.lang.String encoding
end local 0 // byte[] str
LocalVariableTable:
Start End Slot Name Signature
0 1 0 str [B
0 1 1 encoding Ljava/lang/String;
MethodParameters:
Name Flags
str
encoding
static java.lang.String byte2str(byte[], int, int, java.lang.String);
descriptor: ([BIILjava/lang/String;)Ljava/lang/String;
flags: (0x0008) ACC_STATIC
Code:
stack=6, locals=4, args_size=4
start local 0 // byte[] str
start local 1 // int s
start local 2 // int l
start local 3 // java.lang.String encoding
0: .line 417
new java.lang.String
dup
aload 0 /* str */
iload 1 /* s */
iload 2 /* l */
aload 3 /* encoding */
invokespecial java.lang.String.<init>:([BIILjava/lang/String;)V
1: areturn
2: .line 418
StackMap locals:
StackMap stack: java.io.UnsupportedEncodingException
pop
3: .line 419
new java.lang.String
dup
aload 0 /* str */
iload 1 /* s */
iload 2 /* l */
invokespecial java.lang.String.<init>:([BII)V
areturn
end local 3 // java.lang.String encoding
end local 2 // int l
end local 1 // int s
end local 0 // byte[] str
LocalVariableTable:
Start End Slot Name Signature
0 4 0 str [B
0 4 1 s I
0 4 2 l I
0 4 3 encoding Ljava/lang/String;
Exception table:
from to target type
0 1 2 Class java.io.UnsupportedEncodingException
MethodParameters:
Name Flags
str
s
l
encoding
static java.lang.String byte2str(byte[]);
descriptor: ([B)Ljava/lang/String;
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=1, args_size=1
start local 0 // byte[] str
0: .line 424
aload 0 /* str */
iconst_0
aload 0 /* str */
arraylength
ldc "UTF-8"
invokestatic com.jcraft.jsch.Util.byte2str:([BIILjava/lang/String;)Ljava/lang/String;
areturn
end local 0 // byte[] str
LocalVariableTable:
Start End Slot Name Signature
0 1 0 str [B
MethodParameters:
Name Flags
str
static java.lang.String byte2str(byte[], int, int);
descriptor: ([BII)Ljava/lang/String;
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=3, args_size=3
start local 0 // byte[] str
start local 1 // int s
start local 2 // int l
0: .line 428
aload 0 /* str */
iload 1 /* s */
iload 2 /* l */
ldc "UTF-8"
invokestatic com.jcraft.jsch.Util.byte2str:([BIILjava/lang/String;)Ljava/lang/String;
areturn
end local 2 // int l
end local 1 // int s
end local 0 // byte[] str
LocalVariableTable:
Start End Slot Name Signature
0 1 0 str [B
0 1 1 s I
0 1 2 l I
MethodParameters:
Name Flags
str
s
l
static java.lang.String toHex(byte[]);
descriptor: ([B)Ljava/lang/String;
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=4, args_size=1
start local 0 // byte[] str
0: .line 432
new java.lang.StringBuffer
dup
invokespecial java.lang.StringBuffer.<init>:()V
astore 1 /* sb */
start local 1 // java.lang.StringBuffer sb
1: .line 433
iconst_0
istore 2 /* i */
start local 2 // int i
2: goto 10
3: .line 434
StackMap locals: java.lang.StringBuffer int
StackMap stack:
aload 0 /* str */
iload 2 /* i */
baload
sipush 255
iand
invokestatic java.lang.Integer.toHexString:(I)Ljava/lang/String;
astore 3 /* foo */
start local 3 // java.lang.String foo
4: .line 435
aload 1 /* sb */
new java.lang.StringBuilder
dup
ldc "0x"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 3 /* foo */
invokevirtual java.lang.String.length:()I
iconst_1
if_icmpne 5
ldc "0"
goto 6
StackMap locals: byte[] java.lang.StringBuffer int java.lang.String
StackMap stack: java.lang.StringBuffer java.lang.StringBuilder
5: ldc ""
StackMap locals: byte[] java.lang.StringBuffer int java.lang.String
StackMap stack: java.lang.StringBuffer java.lang.StringBuilder java.lang.String
6: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 3 /* foo */
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
7: .line 436
iload 2 /* i */
iconst_1
iadd
aload 0 /* str */
arraylength
if_icmpge 9
8: .line 437
aload 1 /* sb */
ldc ":"
invokevirtual java.lang.StringBuffer.append:(Ljava/lang/String;)Ljava/lang/StringBuffer;
pop
end local 3 // java.lang.String foo
9: .line 433
StackMap locals:
StackMap stack:
iinc 2 /* i */ 1
StackMap locals:
StackMap stack:
10: iload 2 /* i */
aload 0 /* str */
arraylength
if_icmplt 3
end local 2 // int i
11: .line 439
aload 1 /* sb */
invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
areturn
end local 1 // java.lang.StringBuffer sb
end local 0 // byte[] str
LocalVariableTable:
Start End Slot Name Signature
0 12 0 str [B
1 12 1 sb Ljava/lang/StringBuffer;
2 11 2 i I
4 9 3 foo Ljava/lang/String;
MethodParameters:
Name Flags
str
static void bzero(byte[]);
descriptor: ([B)V
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=2, args_size=1
start local 0 // byte[] foo
0: .line 465
aload 0 /* foo */
ifnonnull 2
1: .line 466
return
2: .line 467
StackMap locals:
StackMap stack:
iconst_0
istore 1 /* i */
start local 1 // int i
3: goto 6
4: .line 468
StackMap locals: int
StackMap stack:
aload 0 /* foo */
iload 1 /* i */
iconst_0
bastore
5: .line 467
iinc 1 /* i */ 1
StackMap locals:
StackMap stack:
6: iload 1 /* i */
aload 0 /* foo */
arraylength
if_icmplt 4
end local 1 // int i
7: .line 469
return
end local 0 // byte[] foo
LocalVariableTable:
Start End Slot Name Signature
0 8 0 foo [B
3 7 1 i I
MethodParameters:
Name Flags
foo
static java.lang.String diffString(java.lang.String, java.lang.String[]);
descriptor: (Ljava/lang/String;[Ljava/lang/String;)Ljava/lang/String;
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=6, args_size=2
start local 0 // java.lang.String str
start local 1 // java.lang.String[] not_available
0: .line 472
aload 0 /* str */
ldc ","
invokestatic com.jcraft.jsch.Util.split:(Ljava/lang/String;Ljava/lang/String;)[Ljava/lang/String;
astore 2 /* stra */
start local 2 // java.lang.String[] stra
1: .line 473
aconst_null
astore 3 /* result */
start local 3 // java.lang.String result
2: .line 475
iconst_0
istore 4 /* i */
start local 4 // int i
3: goto 13
4: .line 476
StackMap locals: java.lang.String[] java.lang.String int
StackMap stack:
iconst_0
istore 5 /* j */
start local 5 // int j
5: goto 9
6: .line 477
StackMap locals: int
StackMap stack:
aload 2 /* stra */
iload 4 /* i */
aaload
aload 1 /* not_available */
iload 5 /* j */
aaload
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 8
7: .line 478
goto 12
8: .line 476
StackMap locals:
StackMap stack:
iinc 5 /* j */ 1
StackMap locals:
StackMap stack:
9: iload 5 /* j */
aload 1 /* not_available */
arraylength
if_icmplt 6
end local 5 // int j
10: .line 481
aload 3 /* result */
ifnonnull 11
aload 2 /* stra */
iload 4 /* i */
aaload
astore 3 /* result */
goto 12
11: .line 482
StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
aload 3 /* result */
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc ","
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 2 /* stra */
iload 4 /* i */
aaload
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 3 /* result */
12: .line 475
StackMap locals:
StackMap stack:
iinc 4 /* i */ 1
StackMap locals:
StackMap stack:
13: iload 4 /* i */
aload 2 /* stra */
arraylength
if_icmplt 4
end local 4 // int i
14: .line 484
aload 3 /* result */
areturn
end local 3 // java.lang.String result
end local 2 // java.lang.String[] stra
end local 1 // java.lang.String[] not_available
end local 0 // java.lang.String str
LocalVariableTable:
Start End Slot Name Signature
0 15 0 str Ljava/lang/String;
0 15 1 not_available [Ljava/lang/String;
1 15 2 stra [Ljava/lang/String;
2 15 3 result Ljava/lang/String;
3 14 4 i I
5 10 5 j I
MethodParameters:
Name Flags
str
not_available
static java.lang.String checkTilde(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 // java.lang.String str
0: .line 489
aload 0 /* str */
ldc "~"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 4
1: .line 490
aload 0 /* str */
ldc "~"
ldc "user.home"
invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.lang.String.replace:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;
astore 0 /* str */
2: .line 492
goto 4
3: .line 493
StackMap locals:
StackMap stack: java.lang.SecurityException
pop
4: .line 495
StackMap locals:
StackMap stack:
aload 0 /* str */
areturn
end local 0 // java.lang.String str
LocalVariableTable:
Start End Slot Name Signature
0 5 0 str Ljava/lang/String;
Exception table:
from to target type
0 2 3 Class java.lang.SecurityException
MethodParameters:
Name Flags
str
private static int skipUTF8Char(byte);
descriptor: (B)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 // byte b
0: .line 499
iload 0 /* b */
sipush 128
iand
i2b
ifne 1
iconst_1
ireturn
1: .line 500
StackMap locals:
StackMap stack:
iload 0 /* b */
sipush 224
iand
i2b
bipush -64
if_icmpne 2
iconst_2
ireturn
2: .line 501
StackMap locals:
StackMap stack:
iload 0 /* b */
sipush 240
iand
i2b
bipush -32
if_icmpne 3
iconst_3
ireturn
3: .line 502
StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 0 // byte b
LocalVariableTable:
Start End Slot Name Signature
0 4 0 b B
MethodParameters:
Name Flags
b
static byte[] fromFile(java.lang.String);
descriptor: (Ljava/lang/String;)[B
flags: (0x0008) ACC_STATIC
Code:
stack=5, locals=8, args_size=1
start local 0 // java.lang.String _file
0: .line 506
aload 0 /* _file */
invokestatic com.jcraft.jsch.Util.checkTilde:(Ljava/lang/String;)Ljava/lang/String;
astore 0 /* _file */
1: .line 507
new java.io.File
dup
aload 0 /* _file */
invokespecial java.io.File.<init>:(Ljava/lang/String;)V
astore 1 /* file */
start local 1 // java.io.File file
2: .line 508
new java.io.FileInputStream
dup
aload 0 /* _file */
invokespecial java.io.FileInputStream.<init>:(Ljava/lang/String;)V
astore 2 /* fis */
start local 2 // java.io.FileInputStream fis
3: .line 510
aload 1 /* file */
invokevirtual java.io.File.length:()J
l2i
newarray 8
astore 3 /* result */
start local 3 // byte[] result
4: .line 511
iconst_0
istore 4 /* len */
start local 4 // int len
5: .line 513
StackMap locals: java.lang.String java.io.File java.io.FileInputStream byte[] int
StackMap stack:
aload 2 /* fis */
aload 3 /* result */
iload 4 /* len */
aload 3 /* result */
arraylength
iload 4 /* len */
isub
invokevirtual java.io.FileInputStream.read:([BII)I
istore 5 /* i */
start local 5 // int i
6: .line 514
iload 5 /* i */
ifgt 8
7: .line 515
goto 10
8: .line 516
StackMap locals: int
StackMap stack:
iload 4 /* len */
iload 5 /* i */
iadd
istore 4 /* len */
end local 5 // int i
9: .line 512
goto 5
10: .line 518
StackMap locals:
StackMap stack:
aload 2 /* fis */
invokevirtual java.io.FileInputStream.close:()V
11: .line 519
aload 3 /* result */
astore 7
12: .line 522
aload 2 /* fis */
ifnull 14
13: .line 523
aload 2 /* fis */
invokevirtual java.io.FileInputStream.close:()V
14: .line 519
StackMap locals: java.lang.String java.io.File java.io.FileInputStream byte[] int top top byte[]
StackMap stack:
aload 7
areturn
end local 4 // int len
end local 3 // byte[] result
15: .line 521
StackMap locals: java.lang.String java.io.File java.io.FileInputStream
StackMap stack: java.lang.Throwable
astore 6
16: .line 522
aload 2 /* fis */
ifnull 18
17: .line 523
aload 2 /* fis */
invokevirtual java.io.FileInputStream.close:()V
18: .line 524
StackMap locals: java.lang.String java.io.File java.io.FileInputStream top top top java.lang.Throwable
StackMap stack:
aload 6
athrow
end local 2 // java.io.FileInputStream fis
end local 1 // java.io.File file
end local 0 // java.lang.String _file
LocalVariableTable:
Start End Slot Name Signature
0 19 0 _file Ljava/lang/String;
2 19 1 file Ljava/io/File;
3 19 2 fis Ljava/io/FileInputStream;
4 15 3 result [B
5 15 4 len I
6 9 5 i I
Exception table:
from to target type
3 12 15 any
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
_file
}
SourceFile: "Util.java"
NestMembers:
com.jcraft.jsch.Util$1
InnerClasses:
com.jcraft.jsch.Util$1