public class org.bouncycastle.util.encoders.HexTranslator implements org.bouncycastle.util.encoders.Translator
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.bouncycastle.util.encoders.HexTranslator
super_class: java.lang.Object
{
private static final byte[] hexTable;
descriptor: [B
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=0, args_size=0
0: .line 10
bipush 16
newarray 8
dup
iconst_0
1: .line 11
bipush 48
bastore
dup
iconst_1
bipush 49
bastore
dup
iconst_2
bipush 50
bastore
dup
iconst_3
bipush 51
bastore
dup
iconst_4
bipush 52
bastore
dup
iconst_5
bipush 53
bastore
dup
bipush 6
bipush 54
bastore
dup
bipush 7
bipush 55
bastore
dup
bipush 8
2: .line 12
bipush 56
bastore
dup
bipush 9
bipush 57
bastore
dup
bipush 10
bipush 97
bastore
dup
bipush 11
bipush 98
bastore
dup
bipush 12
bipush 99
bastore
dup
bipush 13
bipush 100
bastore
dup
bipush 14
bipush 101
bastore
dup
bipush 15
bipush 102
bastore
3: .line 9
putstatic org.bouncycastle.util.encoders.HexTranslator.hexTable:[B
4: .line 13
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 // org.bouncycastle.util.encoders.HexTranslator this
0: .line 6
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
return
end local 0 // org.bouncycastle.util.encoders.HexTranslator this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/util/encoders/HexTranslator;
public int getEncodedBlockSize();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 // org.bouncycastle.util.encoders.HexTranslator this
0: .line 21
iconst_2
ireturn
end local 0 // org.bouncycastle.util.encoders.HexTranslator this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/util/encoders/HexTranslator;
public int encode(byte[], int, int, byte[], int);
descriptor: ([BII[BI)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=8, args_size=6
start local 0 // org.bouncycastle.util.encoders.HexTranslator this
start local 1 // byte[] in
start local 2 // int inOff
start local 3 // int length
start local 4 // byte[] out
start local 5 // int outOff
0: .line 31
iconst_0
istore 6 /* i */
start local 6 // int i
1: iconst_0
istore 7 /* j */
start local 7 // int j
2: goto 7
3: .line 33
StackMap locals: int int
StackMap stack:
aload 4 /* out */
iload 5 /* outOff */
iload 7 /* j */
iadd
getstatic org.bouncycastle.util.encoders.HexTranslator.hexTable:[B
aload 1 /* in */
iload 2 /* inOff */
baload
iconst_4
ishr
bipush 15
iand
baload
bastore
4: .line 34
aload 4 /* out */
iload 5 /* outOff */
iload 7 /* j */
iadd
iconst_1
iadd
getstatic org.bouncycastle.util.encoders.HexTranslator.hexTable:[B
aload 1 /* in */
iload 2 /* inOff */
baload
bipush 15
iand
baload
bastore
5: .line 36
iinc 2 /* inOff */ 1
6: .line 31
iinc 6 /* i */ 1
iinc 7 /* j */ 2
StackMap locals:
StackMap stack:
7: iload 6 /* i */
iload 3 /* length */
if_icmplt 3
end local 7 // int j
end local 6 // int i
8: .line 39
iload 3 /* length */
iconst_2
imul
ireturn
end local 5 // int outOff
end local 4 // byte[] out
end local 3 // int length
end local 2 // int inOff
end local 1 // byte[] in
end local 0 // org.bouncycastle.util.encoders.HexTranslator this
LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/bouncycastle/util/encoders/HexTranslator;
0 9 1 in [B
0 9 2 inOff I
0 9 3 length I
0 9 4 out [B
0 9 5 outOff I
1 8 6 i I
2 8 7 j I
MethodParameters:
Name Flags
in
inOff
length
out
outOff
public int getDecodedBlockSize();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 // org.bouncycastle.util.encoders.HexTranslator this
0: .line 48
iconst_1
ireturn
end local 0 // org.bouncycastle.util.encoders.HexTranslator this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/bouncycastle/util/encoders/HexTranslator;
public int decode(byte[], int, int, byte[], int);
descriptor: ([BII[BI)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=10, args_size=6
start local 0 // org.bouncycastle.util.encoders.HexTranslator this
start local 1 // byte[] in
start local 2 // int inOff
start local 3 // int length
start local 4 // byte[] out
start local 5 // int outOff
0: .line 58
iload 3 /* length */
iconst_2
idiv
istore 6 /* halfLength */
start local 6 // int halfLength
1: .line 60
iconst_0
istore 9 /* i */
start local 9 // int i
2: goto 15
3: .line 62
StackMap locals: org.bouncycastle.util.encoders.HexTranslator byte[] int int byte[] int int top top int
StackMap stack:
aload 1 /* in */
iload 2 /* inOff */
iload 9 /* i */
iconst_2
imul
iadd
baload
istore 7 /* left */
start local 7 // byte left
4: .line 63
aload 1 /* in */
iload 2 /* inOff */
iload 9 /* i */
iconst_2
imul
iadd
iconst_1
iadd
baload
istore 8 /* right */
start local 8 // byte right
5: .line 65
iload 7 /* left */
bipush 97
if_icmpge 8
6: .line 67
aload 4 /* out */
iload 5 /* outOff */
iload 7 /* left */
bipush 48
isub
iconst_4
ishl
i2b
bastore
7: .line 68
goto 9
8: .line 71
StackMap locals: org.bouncycastle.util.encoders.HexTranslator byte[] int int byte[] int int int int int
StackMap stack:
aload 4 /* out */
iload 5 /* outOff */
iload 7 /* left */
bipush 97
isub
bipush 10
iadd
iconst_4
ishl
i2b
bastore
9: .line 73
StackMap locals:
StackMap stack:
iload 8 /* right */
bipush 97
if_icmpge 12
10: .line 75
aload 4 /* out */
iload 5 /* outOff */
dup2
baload
iload 8 /* right */
bipush 48
isub
i2b
iadd
i2b
bastore
11: .line 76
goto 13
12: .line 79
StackMap locals:
StackMap stack:
aload 4 /* out */
iload 5 /* outOff */
dup2
baload
iload 8 /* right */
bipush 97
isub
bipush 10
iadd
i2b
iadd
i2b
bastore
13: .line 82
StackMap locals:
StackMap stack:
iinc 5 /* outOff */ 1
14: .line 60
iinc 9 /* i */ 1
end local 8 // byte right
end local 7 // byte left
StackMap locals: org.bouncycastle.util.encoders.HexTranslator byte[] int int byte[] int int top top int
StackMap stack:
15: iload 9 /* i */
iload 6 /* halfLength */
if_icmplt 3
end local 9 // int i
16: .line 85
iload 6 /* halfLength */
ireturn
end local 6 // int halfLength
end local 5 // int outOff
end local 4 // byte[] out
end local 3 // int length
end local 2 // int inOff
end local 1 // byte[] in
end local 0 // org.bouncycastle.util.encoders.HexTranslator this
LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lorg/bouncycastle/util/encoders/HexTranslator;
0 17 1 in [B
0 17 2 inOff I
0 17 3 length I
0 17 4 out [B
0 17 5 outOff I
1 17 6 halfLength I
4 15 7 left B
5 15 8 right B
2 16 9 i I
MethodParameters:
Name Flags
in
inOff
length
out
outOff
}
SourceFile: "HexTranslator.java"