public final class org.apache.tomcat.util.buf.HexUtils
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: org.apache.tomcat.util.buf.HexUtils
super_class: java.lang.Object
{
private static final org.apache.tomcat.util.res.StringManager sm;
descriptor: Lorg/apache/tomcat/util/res/StringManager;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final int[] DEC;
descriptor: [I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final byte[] HEX;
descriptor: [B
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final char[] hex;
descriptor: [C
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: ldc Lorg/apache/tomcat/util/buf/HexUtils;
invokestatic org.apache.tomcat.util.res.StringManager.getManager:(Ljava/lang/Class;)Lorg/apache/tomcat/util/res/StringManager;
putstatic org.apache.tomcat.util.buf.HexUtils.sm:Lorg/apache/tomcat/util/res/StringManager;
1: bipush 55
newarray 10
dup
iconst_1
2: iconst_1
iastore
dup
iconst_2
iconst_2
iastore
dup
iconst_3
iconst_3
iastore
dup
iconst_4
iconst_4
iastore
dup
iconst_5
iconst_5
iastore
dup
bipush 6
bipush 6
iastore
dup
bipush 7
bipush 7
iastore
dup
bipush 8
bipush 8
iastore
dup
bipush 9
bipush 9
iastore
dup
bipush 10
iconst_m1
iastore
dup
bipush 11
iconst_m1
iastore
dup
bipush 12
iconst_m1
iastore
dup
bipush 13
iconst_m1
iastore
dup
bipush 14
iconst_m1
iastore
dup
bipush 15
iconst_m1
iastore
dup
bipush 16
3: iconst_m1
iastore
dup
bipush 17
bipush 10
iastore
dup
bipush 18
bipush 11
iastore
dup
bipush 19
bipush 12
iastore
dup
bipush 20
bipush 13
iastore
dup
bipush 21
bipush 14
iastore
dup
bipush 22
bipush 15
iastore
dup
bipush 23
iconst_m1
iastore
dup
bipush 24
iconst_m1
iastore
dup
bipush 25
iconst_m1
iastore
dup
bipush 26
iconst_m1
iastore
dup
bipush 27
iconst_m1
iastore
dup
bipush 28
iconst_m1
iastore
dup
bipush 29
iconst_m1
iastore
dup
bipush 30
iconst_m1
iastore
dup
bipush 31
iconst_m1
iastore
dup
bipush 32
4: iconst_m1
iastore
dup
bipush 33
iconst_m1
iastore
dup
bipush 34
iconst_m1
iastore
dup
bipush 35
iconst_m1
iastore
dup
bipush 36
iconst_m1
iastore
dup
bipush 37
iconst_m1
iastore
dup
bipush 38
iconst_m1
iastore
dup
bipush 39
iconst_m1
iastore
dup
bipush 40
iconst_m1
iastore
dup
bipush 41
iconst_m1
iastore
dup
bipush 42
iconst_m1
iastore
dup
bipush 43
iconst_m1
iastore
dup
bipush 44
iconst_m1
iastore
dup
bipush 45
iconst_m1
iastore
dup
bipush 46
iconst_m1
iastore
dup
bipush 47
iconst_m1
iastore
dup
bipush 48
5: iconst_m1
iastore
dup
bipush 49
bipush 10
iastore
dup
bipush 50
bipush 11
iastore
dup
bipush 51
bipush 12
iastore
dup
bipush 52
bipush 13
iastore
dup
bipush 53
bipush 14
iastore
dup
bipush 54
bipush 15
iastore
6: putstatic org.apache.tomcat.util.buf.HexUtils.DEC:[I
7: bipush 16
newarray 8
dup
iconst_0
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
8: bipush 54
bastore
dup
bipush 7
bipush 55
bastore
dup
bipush 8
bipush 56
bastore
dup
bipush 9
bipush 57
bastore
dup
bipush 10
bipush 97
bastore
dup
bipush 11
bipush 98
bastore
dup
bipush 12
9: bipush 99
bastore
dup
bipush 13
bipush 100
bastore
dup
bipush 14
bipush 101
bastore
dup
bipush 15
bipush 102
bastore
10: putstatic org.apache.tomcat.util.buf.HexUtils.HEX:[B
11: ldc "0123456789abcdef"
invokevirtual java.lang.String.toCharArray:()[C
putstatic org.apache.tomcat.util.buf.HexUtils.hex:[C
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 0: aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/tomcat/util/buf/HexUtils;
public static int getDec(int);
descriptor: (I)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: getstatic org.apache.tomcat.util.buf.HexUtils.DEC:[I
iload 0
bipush 48
isub
iaload
1: ireturn
2: StackMap locals:
StackMap stack: java.lang.ArrayIndexOutOfBoundsException
pop
3: iconst_m1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 index I
Exception table:
from to target type
0 1 2 Class java.lang.ArrayIndexOutOfBoundsException
MethodParameters:
Name Flags
index
public static byte getHex(int);
descriptor: (I)B
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: getstatic org.apache.tomcat.util.buf.HexUtils.HEX:[B
iload 0
baload
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 index I
MethodParameters:
Name Flags
index
public static java.lang.String toHexString(byte[]);
descriptor: ([B)Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=6, args_size=1
start local 0 0: aload 0
ifnonnull 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
aload 0
arraylength
iconst_1
ishl
invokespecial java.lang.StringBuilder.<init>:(I)V
astore 1
start local 1 3: aload 0
dup
astore 5
arraylength
istore 4
iconst_0
istore 3
goto 8
StackMap locals: byte[] java.lang.StringBuilder top int int byte[]
StackMap stack:
4: aload 5
iload 3
baload
istore 2
start local 2 5: aload 1
getstatic org.apache.tomcat.util.buf.HexUtils.hex:[C
iload 2
sipush 240
iand
iconst_4
ishr
caload
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
6: getstatic org.apache.tomcat.util.buf.HexUtils.hex:[C
iload 2
bipush 15
iand
caload
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
end local 2 7: iinc 3 1
StackMap locals:
StackMap stack:
8: iload 3
iload 4
if_icmplt 4
9: aload 1
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 bytes [B
3 10 1 sb Ljava/lang/StringBuilder;
5 7 2 aByte B
MethodParameters:
Name Flags
bytes
public static byte[] fromHexString(java.lang.String);
descriptor: (Ljava/lang/String;)[B
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=6, args_size=1
start local 0 0: aload 0
ifnonnull 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.lang.String.length:()I
iconst_1
iand
iconst_1
if_icmpne 4
3: new java.lang.IllegalArgumentException
dup
getstatic org.apache.tomcat.util.buf.HexUtils.sm:Lorg/apache/tomcat/util/res/StringManager;
ldc "hexUtils.fromHex.oddDigits"
invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;)Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
4: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.lang.String.toCharArray:()[C
astore 1
start local 1 5: aload 0
invokevirtual java.lang.String.length:()I
iconst_1
ishr
newarray 8
astore 2
start local 2 6: iconst_0
istore 3
start local 3 7: goto 14
8: StackMap locals: char[] byte[] int
StackMap stack:
aload 1
iconst_2
iload 3
imul
caload
invokestatic org.apache.tomcat.util.buf.HexUtils.getDec:(I)I
istore 4
start local 4 9: aload 1
iconst_2
iload 3
imul
iconst_1
iadd
caload
invokestatic org.apache.tomcat.util.buf.HexUtils.getDec:(I)I
istore 5
start local 5 10: iload 4
iflt 11
iload 5
ifge 12
11: StackMap locals: int int
StackMap stack:
new java.lang.IllegalArgumentException
dup
getstatic org.apache.tomcat.util.buf.HexUtils.sm:Lorg/apache/tomcat/util/res/StringManager;
ldc "hexUtils.fromHex.nonHex"
invokevirtual org.apache.tomcat.util.res.StringManager.getString:(Ljava/lang/String;)Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
12: StackMap locals:
StackMap stack:
aload 2
iload 3
iload 4
iconst_4
ishl
iload 5
iadd
i2b
bastore
end local 5 end local 4 13: iinc 3 1
StackMap locals:
StackMap stack:
14: iload 3
aload 2
arraylength
if_icmplt 8
end local 3 15: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 input Ljava/lang/String;
5 16 1 inputChars [C
6 16 2 result [B
7 15 3 i I
9 13 4 upperNibble I
10 13 5 lowerNibble I
MethodParameters:
Name Flags
input
}
SourceFile: "HexUtils.java"