public final class java.lang.String implements java.io.Serializable, java.lang.Comparable<java.lang.String>, java.lang.CharSequence
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: java.lang.String
super_class: java.lang.Object
{
private final char[] value;
descriptor: [C
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private int hash;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private static final long serialVersionUID;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: -6849794470754667710
private static final java.io.ObjectStreamField[] serialPersistentFields;
descriptor: [Ljava/io/ObjectStreamField;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
public static final java.util.Comparator<java.lang.String> CASE_INSENSITIVE_ORDER;
descriptor: Ljava/util/Comparator;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
Signature: Ljava/util/Comparator<Ljava/lang/String;>;
private static final int HASHING_SEED;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private transient int hash32;
descriptor: I
flags: (0x0082) ACC_PRIVATE, ACC_TRANSIENT
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=6, locals=10, args_size=0
0: .line 132
iconst_0
anewarray java.io.ObjectStreamField
1: .line 131
putstatic java.lang.String.serialPersistentFields:[Ljava/io/ObjectStreamField;
2: .line 1169
new java.lang.String$CaseInsensitiveComparator
dup
invokespecial java.lang.String$CaseInsensitiveComparator.<init>:()V
3: .line 1168
putstatic java.lang.String.CASE_INSENSITIVE_ORDER:Ljava/util/Comparator;
4: .line 3030
invokestatic java.lang.System.nanoTime:()J
lstore 0 /* nanos */
start local 0 // long nanos
5: .line 3031
invokestatic java.lang.System.currentTimeMillis:()J
lstore 2 /* now */
start local 2 // long now
6: .line 3032
bipush 7
newarray 10
dup
iconst_0
7: .line 3033
ldc Ljava/lang/String;
invokestatic java.lang.System.identityHashCode:(Ljava/lang/Object;)I
iastore
dup
iconst_1
8: .line 3034
ldc Ljava/lang/System;
invokestatic java.lang.System.identityHashCode:(Ljava/lang/Object;)I
iastore
dup
iconst_2
9: .line 3035
lload 0 /* nanos */
bipush 32
lushr
l2i
iastore
dup
iconst_3
10: .line 3036
lload 0 /* nanos */
l2i
iastore
dup
iconst_4
11: .line 3037
lload 2 /* now */
bipush 32
lushr
l2i
iastore
dup
iconst_5
12: .line 3038
lload 2 /* now */
l2i
iastore
dup
bipush 6
13: .line 3039
invokestatic java.lang.System.nanoTime:()J
iconst_2
lushr
l2i
iastore
14: .line 3032
astore 4 /* SEED_MATERIAL */
start local 4 // int[] SEED_MATERIAL
15: .line 3044
iconst_0
istore 5 /* h1 */
start local 5 // int h1
16: .line 3047
aload 4 /* SEED_MATERIAL */
dup
astore 9
arraylength
istore 8
iconst_0
istore 7
goto 25
StackMap locals: long long int[] int top int int int[]
StackMap stack:
17: aload 9
iload 7
iaload
istore 6 /* k1 */
start local 6 // int k1
18: .line 3048
iload 6 /* k1 */
ldc -862048943
imul
istore 6 /* k1 */
19: .line 3049
iload 6 /* k1 */
bipush 15
ishl
iload 6 /* k1 */
bipush 17
iushr
ior
istore 6 /* k1 */
20: .line 3050
iload 6 /* k1 */
ldc 461845907
imul
istore 6 /* k1 */
21: .line 3052
iload 5 /* h1 */
iload 6 /* k1 */
ixor
istore 5 /* h1 */
22: .line 3053
iload 5 /* h1 */
bipush 13
ishl
iload 5 /* h1 */
bipush 19
iushr
ior
istore 5 /* h1 */
23: .line 3054
iload 5 /* h1 */
iconst_5
imul
ldc -430675100
iadd
istore 5 /* h1 */
end local 6 // int k1
24: .line 3047
iinc 7 1
StackMap locals:
StackMap stack:
25: iload 7
iload 8
if_icmplt 17
26: .line 3061
iload 5 /* h1 */
aload 4 /* SEED_MATERIAL */
arraylength
iconst_4
imul
ixor
istore 5 /* h1 */
27: .line 3064
iload 5 /* h1 */
iload 5 /* h1 */
bipush 16
iushr
ixor
istore 5 /* h1 */
28: .line 3065
iload 5 /* h1 */
ldc -2048144789
imul
istore 5 /* h1 */
29: .line 3066
iload 5 /* h1 */
iload 5 /* h1 */
bipush 13
iushr
ixor
istore 5 /* h1 */
30: .line 3067
iload 5 /* h1 */
ldc -1028477387
imul
istore 5 /* h1 */
31: .line 3068
iload 5 /* h1 */
iload 5 /* h1 */
bipush 16
iushr
ixor
istore 5 /* h1 */
32: .line 3070
iload 5 /* h1 */
putstatic java.lang.String.HASHING_SEED:I
end local 5 // int h1
end local 4 // int[] SEED_MATERIAL
end local 2 // long now
end local 0 // long nanos
33: .line 3071
return
LocalVariableTable:
Start End Slot Name Signature
5 33 0 nanos J
6 33 2 now J
15 33 4 SEED_MATERIAL [I
16 33 5 h1 I
18 24 6 k1 I
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 // java.lang.String this
0: .line 139
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
1: .line 3076
aload 0 /* this */
iconst_0
putfield java.lang.String.hash32:I
2: .line 140
aload 0 /* this */
iconst_0
newarray 5
putfield java.lang.String.value:[C
3: .line 141
return
end local 0 // java.lang.String this
LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljava/lang/String;
public void <init>(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 // java.lang.String this
start local 1 // java.lang.String original
0: .line 153
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
1: .line 3076
aload 0 /* this */
iconst_0
putfield java.lang.String.hash32:I
2: .line 154
aload 0 /* this */
aload 1 /* original */
getfield java.lang.String.value:[C
putfield java.lang.String.value:[C
3: .line 155
aload 0 /* this */
aload 1 /* original */
getfield java.lang.String.hash:I
putfield java.lang.String.hash:I
4: .line 156
return
end local 1 // java.lang.String original
end local 0 // java.lang.String this
LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljava/lang/String;
0 5 1 original Ljava/lang/String;
MethodParameters:
Name Flags
original
public void <init>(char[]);
descriptor: ([C)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 // java.lang.String this
start local 1 // char[] value
0: .line 167
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
1: .line 3076
aload 0 /* this */
iconst_0
putfield java.lang.String.hash32:I
2: .line 168
aload 0 /* this */
aload 1 /* value */
aload 1 /* value */
arraylength
invokestatic java.util.Arrays.copyOf:([CI)[C
putfield java.lang.String.value:[C
3: .line 169
return
end local 1 // char[] value
end local 0 // java.lang.String this
LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljava/lang/String;
0 4 1 value [C
MethodParameters:
Name Flags
value
public void <init>(char[], int, int);
descriptor: ([CII)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=4
start local 0 // java.lang.String this
start local 1 // char[] value
start local 2 // int offset
start local 3 // int count
0: .line 192
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
1: .line 3076
aload 0 /* this */
iconst_0
putfield java.lang.String.hash32:I
2: .line 193
iload 2 /* offset */
ifge 4
3: .line 194
new java.lang.StringIndexOutOfBoundsException
dup
iload 2 /* offset */
invokespecial java.lang.StringIndexOutOfBoundsException.<init>:(I)V
athrow
4: .line 196
StackMap locals: java.lang.String char[] int int
StackMap stack:
iload 3 /* count */
ifge 6
5: .line 197
new java.lang.StringIndexOutOfBoundsException
dup
iload 3 /* count */
invokespecial java.lang.StringIndexOutOfBoundsException.<init>:(I)V
athrow
6: .line 200
StackMap locals:
StackMap stack:
iload 2 /* offset */
aload 1 /* value */
arraylength
iload 3 /* count */
isub
if_icmple 8
7: .line 201
new java.lang.StringIndexOutOfBoundsException
dup
iload 2 /* offset */
iload 3 /* count */
iadd
invokespecial java.lang.StringIndexOutOfBoundsException.<init>:(I)V
athrow
8: .line 203
StackMap locals:
StackMap stack:
aload 0 /* this */
aload 1 /* value */
iload 2 /* offset */
iload 2 /* offset */
iload 3 /* count */
iadd
invokestatic java.util.Arrays.copyOfRange:([CII)[C
putfield java.lang.String.value:[C
9: .line 204
return
end local 3 // int count
end local 2 // int offset
end local 1 // char[] value
end local 0 // java.lang.String this
LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Ljava/lang/String;
0 10 1 value [C
0 10 2 offset I
0 10 3 count I
MethodParameters:
Name Flags
value
offset
count
public void <init>(int[], int, int);
descriptor: ([III)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=10, args_size=4
start local 0 // java.lang.String this
start local 1 // int[] codePoints
start local 2 // int offset
start local 3 // int count
0: .line 234
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
1: .line 3076
aload 0 /* this */
iconst_0
putfield java.lang.String.hash32:I
2: .line 235
iload 2 /* offset */
ifge 4
3: .line 236
new java.lang.StringIndexOutOfBoundsException
dup
iload 2 /* offset */
invokespecial java.lang.StringIndexOutOfBoundsException.<init>:(I)V
athrow
4: .line 238
StackMap locals: java.lang.String int[] int int
StackMap stack:
iload 3 /* count */
ifge 6
5: .line 239
new java.lang.StringIndexOutOfBoundsException
dup
iload 3 /* count */
invokespecial java.lang.StringIndexOutOfBoundsException.<init>:(I)V
athrow
6: .line 242
StackMap locals:
StackMap stack:
iload 2 /* offset */
aload 1 /* codePoints */
arraylength
iload 3 /* count */
isub
if_icmple 8
7: .line 243
new java.lang.StringIndexOutOfBoundsException
dup
iload 2 /* offset */
iload 3 /* count */
iadd
invokespecial java.lang.StringIndexOutOfBoundsException.<init>:(I)V
athrow
8: .line 246
StackMap locals:
StackMap stack:
iload 2 /* offset */
iload 3 /* count */
iadd
istore 4 /* end */
start local 4 // int end
9: .line 249
iload 3 /* count */
istore 5 /* n */
start local 5 // int n
10: .line 250
iload 2 /* offset */
istore 6 /* i */
start local 6 // int i
11: goto 19
12: .line 251
StackMap locals: int int int
StackMap stack:
aload 1 /* codePoints */
iload 6 /* i */
iaload
istore 7 /* c */
start local 7 // int c
13: .line 252
iload 7 /* c */
invokestatic java.lang.Character.isBmpCodePoint:(I)Z
ifeq 15
14: .line 253
goto 18
15: .line 254
StackMap locals: int
StackMap stack:
iload 7 /* c */
invokestatic java.lang.Character.isValidCodePoint:(I)Z
ifeq 17
16: .line 255
iinc 5 /* n */ 1
goto 18
17: .line 256
StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
iload 7 /* c */
invokestatic java.lang.Integer.toString:(I)Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
end local 7 // int c
18: .line 250
StackMap locals:
StackMap stack:
iinc 6 /* i */ 1
StackMap locals:
StackMap stack:
19: iload 6 /* i */
iload 4 /* end */
if_icmplt 12
end local 6 // int i
20: .line 260
iload 5 /* n */
newarray 5
astore 6 /* v */
start local 6 // char[] v
21: .line 262
iload 2 /* offset */
istore 7 /* i */
start local 7 // int i
22: iconst_0
istore 8 /* j */
start local 8 // int j
23: goto 29
24: .line 263
StackMap locals: java.lang.String int[] int int int int char[] int int
StackMap stack:
aload 1 /* codePoints */
iload 7 /* i */
iaload
istore 9 /* c */
start local 9 // int c
25: .line 264
iload 9 /* c */
invokestatic java.lang.Character.isBmpCodePoint:(I)Z
ifeq 27
26: .line 265
aload 6 /* v */
iload 8 /* j */
iload 9 /* c */
i2c
castore
goto 28
27: .line 267
StackMap locals: int
StackMap stack:
iload 9 /* c */
aload 6 /* v */
iload 8 /* j */
iinc 8 /* j */ 1
invokestatic java.lang.Character.toSurrogates:(I[CI)V
end local 9 // int c
28: .line 262
StackMap locals:
StackMap stack:
iinc 7 /* i */ 1
iinc 8 /* j */ 1
StackMap locals:
StackMap stack:
29: iload 7 /* i */
iload 4 /* end */
if_icmplt 24
end local 8 // int j
end local 7 // int i
30: .line 270
aload 0 /* this */
aload 6 /* v */
putfield java.lang.String.value:[C
31: .line 271
return
end local 6 // char[] v
end local 5 // int n
end local 4 // int end
end local 3 // int count
end local 2 // int offset
end local 1 // int[] codePoints
end local 0 // java.lang.String this
LocalVariableTable:
Start End Slot Name Signature
0 32 0 this Ljava/lang/String;
0 32 1 codePoints [I
0 32 2 offset I
0 32 3 count I
9 32 4 end I
10 32 5 n I
11 20 6 i I
13 18 7 c I
21 32 6 v [C
22 30 7 i I
23 30 8 j I
25 28 9 c I
MethodParameters:
Name Flags
codePoints
offset
count
public void <init>(byte[], int, int, int);
descriptor: ([BIII)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=7, args_size=5
start local 0 // java.lang.String this
start local 1 // byte[] ascii
start local 2 // int hibyte
start local 3 // int offset
start local 4 // int count
0: .line 313
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
1: .line 3076
aload 0 /* this */
iconst_0
putfield java.lang.String.hash32:I
2: .line 314
aload 1 /* ascii */
iload 3 /* offset */
iload 4 /* count */
invokestatic java.lang.String.checkBounds:([BII)V
3: .line 315
iload 4 /* count */
newarray 5
astore 5 /* value */
start local 5 // char[] value
4: .line 317
iload 2 /* hibyte */
ifne 10
5: .line 318
iload 4 /* count */
istore 6 /* i */
start local 6 // int i
6: goto 8
7: .line 319
StackMap locals: java.lang.String byte[] int int int char[] int
StackMap stack:
aload 5 /* value */
iload 6 /* i */
aload 1 /* ascii */
iload 6 /* i */
iload 3 /* offset */
iadd
baload
sipush 255
iand
i2c
castore
8: .line 318
StackMap locals:
StackMap stack:
iload 6 /* i */
iinc 6 /* i */ -1
ifgt 7
end local 6 // int i
9: .line 321
goto 15
10: .line 322
StackMap locals:
StackMap stack:
iload 2 /* hibyte */
bipush 8
ishl
istore 2 /* hibyte */
11: .line 323
iload 4 /* count */
istore 6 /* i */
start local 6 // int i
12: goto 14
13: .line 324
StackMap locals: int
StackMap stack:
aload 5 /* value */
iload 6 /* i */
iload 2 /* hibyte */
aload 1 /* ascii */
iload 6 /* i */
iload 3 /* offset */
iadd
baload
sipush 255
iand
ior
i2c
castore
14: .line 323
StackMap locals:
StackMap stack:
iload 6 /* i */
iinc 6 /* i */ -1
ifgt 13
end local 6 // int i
15: .line 327
StackMap locals:
StackMap stack:
aload 0 /* this */
aload 5 /* value */
putfield java.lang.String.value:[C
16: .line 328
return
end local 5 // char[] value
end local 4 // int count
end local 3 // int offset
end local 2 // int hibyte
end local 1 // byte[] ascii
end local 0 // java.lang.String this
LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Ljava/lang/String;
0 17 1 ascii [B
0 17 2 hibyte I
0 17 3 offset I
0 17 4 count I
4 17 5 value [C
6 9 6 i I
12 15 6 i I
RuntimeVisibleAnnotations:
java.lang.Deprecated()
MethodParameters:
Name Flags
ascii
hibyte
offset
count
public void <init>(byte[], int);
descriptor: ([BI)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=3
start local 0 // java.lang.String this
start local 1 // byte[] ascii
start local 2 // int hibyte
0: .line 362
aload 0 /* this */
aload 1 /* ascii */
iload 2 /* hibyte */
iconst_0
aload 1 /* ascii */
arraylength
invokespecial java.lang.String.<init>:([BIII)V
1: .line 363
return
end local 2 // int hibyte
end local 1 // byte[] ascii
end local 0 // java.lang.String this
LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/lang/String;
0 2 1 ascii [B
0 2 2 hibyte I
RuntimeVisibleAnnotations:
java.lang.Deprecated()
MethodParameters:
Name Flags
ascii
hibyte
private static void checkBounds(byte[], int, int);
descriptor: ([BII)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=3, args_size=3
start local 0 // byte[] bytes
start local 1 // int offset
start local 2 // int length
0: .line 370
iload 2 /* length */
ifge 2
1: .line 371
new java.lang.StringIndexOutOfBoundsException
dup
iload 2 /* length */
invokespecial java.lang.StringIndexOutOfBoundsException.<init>:(I)V
athrow
2: .line 372
StackMap locals:
StackMap stack:
iload 1 /* offset */
ifge 4
3: .line 373
new java.lang.StringIndexOutOfBoundsException
dup
iload 1 /* offset */
invokespecial java.lang.StringIndexOutOfBoundsException.<init>:(I)V
athrow
4: .line 374
StackMap locals:
StackMap stack:
iload 1 /* offset */
aload 0 /* bytes */
arraylength
iload 2 /* length */
isub
if_icmple 6
5: .line 375
new java.lang.StringIndexOutOfBoundsException
dup
iload 1 /* offset */
iload 2 /* length */
iadd
invokespecial java.lang.StringIndexOutOfBoundsException.<init>:(I)V
athrow
6: .line 376
StackMap locals:
StackMap stack:
return
end local 2 // int length
end local 1 // int offset
end local 0 // byte[] bytes
LocalVariableTable:
Start End Slot Name Signature
0 7 0 bytes [B
0 7 1 offset I
0 7 2 length I
MethodParameters:
Name Flags
bytes
offset
length
public void <init>(byte[], int, int, java.lang.String);
descriptor: ([BIILjava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=5, args_size=5
start local 0 // java.lang.String this
start local 1 // byte[] bytes
start local 2 // int offset
start local 3 // int length
start local 4 // java.lang.String charsetName
0: .line 411
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
1: .line 3076
aload 0 /* this */
iconst_0
putfield java.lang.String.hash32:I
2: .line 413
aload 4 /* charsetName */
ifnonnull 4
3: .line 414
new java.lang.NullPointerException
dup
ldc "charsetName"
invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
athrow
4: .line 415
StackMap locals: java.lang.String byte[] int int java.lang.String
StackMap stack:
aload 1 /* bytes */
iload 2 /* offset */
iload 3 /* length */
invokestatic java.lang.String.checkBounds:([BII)V
5: .line 416
aload 0 /* this */
aload 4 /* charsetName */
aload 1 /* bytes */
iload 2 /* offset */
iload 3 /* length */
invokestatic java.lang.StringCoding.decode:(Ljava/lang/String;[BII)[C
putfield java.lang.String.value:[C
6: .line 417
return
end local 4 // java.lang.String charsetName
end local 3 // int length
end local 2 // int offset
end local 1 // byte[] bytes
end local 0 // java.lang.String this
LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Ljava/lang/String;
0 7 1 bytes [B
0 7 2 offset I
0 7 3 length I
0 7 4 charsetName Ljava/lang/String;
Exceptions:
throws java.io.UnsupportedEncodingException
MethodParameters:
Name Flags
bytes
offset
length
charsetName
public void <init>(byte[], int, int, java.nio.charset.Charset);
descriptor: ([BIILjava/nio/charset/Charset;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=5, args_size=5
start local 0 // java.lang.String this
start local 1 // byte[] bytes
start local 2 // int offset
start local 3 // int length
start local 4 // java.nio.charset.Charset charset
0: .line 449
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
1: .line 3076
aload 0 /* this */
iconst_0
putfield java.lang.String.hash32:I
2: .line 450
aload 4 /* charset */
ifnonnull 4
3: .line 451
new java.lang.NullPointerException
dup
ldc "charset"
invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
athrow
4: .line 452
StackMap locals: java.lang.String byte[] int int java.nio.charset.Charset
StackMap stack:
aload 1 /* bytes */
iload 2 /* offset */
iload 3 /* length */
invokestatic java.lang.String.checkBounds:([BII)V
5: .line 453
aload 0 /* this */
aload 4 /* charset */
aload 1 /* bytes */
iload 2 /* offset */
iload 3 /* length */
invokestatic java.lang.StringCoding.decode:(Ljava/nio/charset/Charset;[BII)[C
putfield java.lang.String.value:[C
6: .line 454
return
end local 4 // java.nio.charset.Charset charset
end local 3 // int length
end local 2 // int offset
end local 1 // byte[] bytes
end local 0 // java.lang.String this
LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Ljava/lang/String;
0 7 1 bytes [B
0 7 2 offset I
0 7 3 length I
0 7 4 charset Ljava/nio/charset/Charset;
MethodParameters:
Name Flags
bytes
offset
length
charset
public void <init>(byte[], java.lang.String);
descriptor: ([BLjava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=3
start local 0 // java.lang.String this
start local 1 // byte[] bytes
start local 2 // java.lang.String charsetName
0: .line 481
aload 0 /* this */
aload 1 /* bytes */
iconst_0
aload 1 /* bytes */
arraylength
aload 2 /* charsetName */
invokespecial java.lang.String.<init>:([BIILjava/lang/String;)V
1: .line 482
return
end local 2 // java.lang.String charsetName
end local 1 // byte[] bytes
end local 0 // java.lang.String this
LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/lang/String;
0 2 1 bytes [B
0 2 2 charsetName Ljava/lang/String;
Exceptions:
throws java.io.UnsupportedEncodingException
MethodParameters:
Name Flags
bytes
charsetName
public void <init>(byte[], java.nio.charset.Charset);
descriptor: ([BLjava/nio/charset/Charset;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=3
start local 0 // java.lang.String this
start local 1 // byte[] bytes
start local 2 // java.nio.charset.Charset charset
0: .line 505
aload 0 /* this */
aload 1 /* bytes */
iconst_0
aload 1 /* bytes */
arraylength
aload 2 /* charset */
invokespecial java.lang.String.<init>:([BIILjava/nio/charset/Charset;)V
1: .line 506
return
end local 2 // java.nio.charset.Charset charset
end local 1 // byte[] bytes
end local 0 // java.lang.String this
LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/lang/String;
0 2 1 bytes [B
0 2 2 charset Ljava/nio/charset/Charset;
MethodParameters:
Name Flags
bytes
charset
public void <init>(byte[], int, int);
descriptor: ([BII)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=4
start local 0 // java.lang.String this
start local 1 // byte[] bytes
start local 2 // int offset
start local 3 // int length
0: .line 534
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
1: .line 3076
aload 0 /* this */
iconst_0
putfield java.lang.String.hash32:I
2: .line 535
aload 1 /* bytes */
iload 2 /* offset */
iload 3 /* length */
invokestatic java.lang.String.checkBounds:([BII)V
3: .line 536
aload 0 /* this */
aload 1 /* bytes */
iload 2 /* offset */
iload 3 /* length */
invokestatic java.lang.StringCoding.decode:([BII)[C
putfield java.lang.String.value:[C
4: .line 537
return
end local 3 // int length
end local 2 // int offset
end local 1 // byte[] bytes
end local 0 // java.lang.String this
LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljava/lang/String;
0 5 1 bytes [B
0 5 2 offset I
0 5 3 length I
MethodParameters:
Name Flags
bytes
offset
length
public void <init>(byte[]);
descriptor: ([B)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 // java.lang.String this
start local 1 // byte[] bytes
0: .line 556
aload 0 /* this */
aload 1 /* bytes */
iconst_0
aload 1 /* bytes */
arraylength
invokespecial java.lang.String.<init>:([BII)V
1: .line 557
return
end local 1 // byte[] bytes
end local 0 // java.lang.String this
LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/lang/String;
0 2 1 bytes [B
MethodParameters:
Name Flags
bytes
public void <init>(java.lang.StringBuffer);
descriptor: (Ljava/lang/StringBuffer;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 // java.lang.String this
start local 1 // java.lang.StringBuffer buffer
0: .line 568
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
1: .line 3076
aload 0 /* this */
iconst_0
putfield java.lang.String.hash32:I
2: .line 569
aload 1 /* buffer */
dup
astore 2
monitorenter
3: .line 570
aload 0 /* this */
aload 1 /* buffer */
invokevirtual java.lang.StringBuffer.getValue:()[C
aload 1 /* buffer */
invokevirtual java.lang.StringBuffer.length:()I
invokestatic java.util.Arrays.copyOf:([CI)[C
putfield java.lang.String.value:[C
4: .line 569
aload 2
monitorexit
5: goto 8
StackMap locals: java.lang.String java.lang.StringBuffer java.lang.StringBuffer
StackMap stack: java.lang.Throwable
6: aload 2
monitorexit
7: athrow
8: .line 572
StackMap locals:
StackMap stack:
return
end local 1 // java.lang.StringBuffer buffer
end local 0 // java.lang.String this
LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Ljava/lang/String;
0 9 1 buffer Ljava/lang/StringBuffer;
Exception table:
from to target type
3 5 6 any
6 7 6 any
MethodParameters:
Name Flags
buffer
public void <init>(java.lang.StringBuilder);
descriptor: (Ljava/lang/StringBuilder;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 // java.lang.String this
start local 1 // java.lang.StringBuilder builder
0: .line 589
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
1: .line 3076
aload 0 /* this */
iconst_0
putfield java.lang.String.hash32:I
2: .line 590
aload 0 /* this */
aload 1 /* builder */
invokevirtual java.lang.StringBuilder.getValue:()[C
aload 1 /* builder */
invokevirtual java.lang.StringBuilder.length:()I
invokestatic java.util.Arrays.copyOf:([CI)[C
putfield java.lang.String.value:[C
3: .line 591
return
end local 1 // java.lang.StringBuilder builder
end local 0 // java.lang.String this
LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljava/lang/String;
0 4 1 builder Ljava/lang/StringBuilder;
MethodParameters:
Name Flags
builder
void <init>(char[], boolean);
descriptor: ([CZ)V
flags: (0x0000)
Code:
stack=2, locals=3, args_size=3
start local 0 // java.lang.String this
start local 1 // char[] value
start local 2 // boolean share
0: .line 599
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
1: .line 3076
aload 0 /* this */
iconst_0
putfield java.lang.String.hash32:I
2: .line 601
aload 0 /* this */
aload 1 /* value */
putfield java.lang.String.value:[C
3: .line 602
return
end local 2 // boolean share
end local 1 // char[] value
end local 0 // java.lang.String this
LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljava/lang/String;
0 4 1 value [C
0 4 2 share Z
MethodParameters:
Name Flags
value
share
void <init>(int, int, char[]);
descriptor: (II[C)V
flags: (0x0000)
Code:
stack=4, locals=4, args_size=4
start local 0 // java.lang.String this
start local 1 // int offset
start local 2 // int count
start local 3 // char[] value
0: .line 611
aload 0 /* this */
aload 3 /* value */
iload 1 /* offset */
iload 2 /* count */
invokespecial java.lang.String.<init>:([CII)V
1: .line 612
return
end local 3 // char[] value
end local 2 // int count
end local 1 // int offset
end local 0 // java.lang.String this
LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/lang/String;
0 2 1 offset I
0 2 2 count I
0 2 3 value [C
RuntimeVisibleAnnotations:
java.lang.Deprecated()
MethodParameters:
Name Flags
offset
count
value
public int length();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 // java.lang.String this
0: .line 623
aload 0 /* this */
getfield java.lang.String.value:[C
arraylength
ireturn
end local 0 // java.lang.String this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/lang/String;
public boolean isEmpty();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 // java.lang.String this
0: .line 635
aload 0 /* this */
getfield java.lang.String.value:[C
arraylength
ifne 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 // java.lang.String this
LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/lang/String;
public char charAt(int);
descriptor: (I)C
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 // java.lang.String this
start local 1 // int index
0: .line 657
iload 1 /* index */
iflt 1
iload 1 /* index */
aload 0 /* this */
getfield java.lang.String.value:[C
arraylength
if_icmplt 2
1: .line 658
StackMap locals:
StackMap stack:
new java.lang.StringIndexOutOfBoundsException
dup
iload 1 /* index */
invokespecial java.lang.StringIndexOutOfBoundsException.<init>:(I)V
athrow
2: .line 660
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield java.lang.String.value:[C
iload 1 /* index */
caload
ireturn
end local 1 // int index
end local 0 // java.lang.String this
LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljava/lang/String;
0 3 1 index I
MethodParameters:
Name Flags
index
public int codePointAt(int);
descriptor: (I)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 // java.lang.String this
start local 1 // int index
0: .line 686
iload 1 /* index */
iflt 1
iload 1 /* index */
aload 0 /* this */
getfield java.lang.String.value:[C
arraylength
if_icmplt 2
1: .line 687
StackMap locals:
StackMap stack:
new java.lang.StringIndexOutOfBoundsException
dup
iload 1 /* index */
invokespecial java.lang.StringIndexOutOfBoundsException.<init>:(I)V
athrow
2: .line 689
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield java.lang.String.value:[C
iload 1 /* index */
aload 0 /* this */
getfield java.lang.String.value:[C
arraylength
invokestatic java.lang.Character.codePointAtImpl:([CII)I
ireturn
end local 1 // int index
end local 0 // java.lang.String this
LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljava/lang/String;
0 3 1 index I
MethodParameters:
Name Flags
index
public int codePointBefore(int);
descriptor: (I)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 // java.lang.String this
start local 1 // int index
0: .line 715
iload 1 /* index */
iconst_1
isub
istore 2 /* i */
start local 2 // int i
1: .line 716
iload 2 /* i */
iflt 2
iload 2 /* i */
aload 0 /* this */
getfield java.lang.String.value:[C
arraylength
if_icmplt 3
2: .line 717
StackMap locals: int
StackMap stack:
new java.lang.StringIndexOutOfBoundsException
dup
iload 1 /* index */
invokespecial java.lang.StringIndexOutOfBoundsException.<init>:(I)V
athrow
3: .line 719
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield java.lang.String.value:[C
iload 1 /* index */
iconst_0
invokestatic java.lang.Character.codePointBeforeImpl:([CII)I
ireturn
end local 2 // int i
end local 1 // int index
end local 0 // java.lang.String this
LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljava/lang/String;
0 4 1 index I
1 4 2 i I
MethodParameters:
Name Flags
index
public int codePointCount(int, int);
descriptor: (II)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 // java.lang.String this
start local 1 // int beginIndex
start local 2 // int endIndex
0: .line 744
iload 1 /* beginIndex */
iflt 1
iload 2 /* endIndex */
aload 0 /* this */
getfield java.lang.String.value:[C
arraylength
if_icmpgt 1
iload 1 /* beginIndex */
iload 2 /* endIndex */
if_icmple 2
1: .line 745
StackMap locals:
StackMap stack:
new java.lang.IndexOutOfBoundsException
dup
invokespecial java.lang.IndexOutOfBoundsException.<init>:()V
athrow
2: .line 747
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield java.lang.String.value:[C
iload 1 /* beginIndex */
iload 2 /* endIndex */
iload 1 /* beginIndex */
isub
invokestatic java.lang.Character.codePointCountImpl:([CII)I
ireturn
end local 2 // int endIndex
end local 1 // int beginIndex
end local 0 // java.lang.String this
LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljava/lang/String;
0 3 1 beginIndex I
0 3 2 endIndex I
MethodParameters:
Name Flags
beginIndex
endIndex
public int offsetByCodePoints(int, int);
descriptor: (II)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=3
start local 0 // java.lang.String this
start local 1 // int index
start local 2 // int codePointOffset
0: .line 771
iload 1 /* index */
iflt 1
iload 1 /* index */
aload 0 /* this */
getfield java.lang.String.value:[C
arraylength
if_icmple 2
1: .line 772
StackMap locals:
StackMap stack:
new java.lang.IndexOutOfBoundsException
dup
invokespecial java.lang.IndexOutOfBoundsException.<init>:()V
athrow
2: .line 774
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield java.lang.String.value:[C
iconst_0
aload 0 /* this */
getfield java.lang.String.value:[C
arraylength
3: .line 775
iload 1 /* index */
iload 2 /* codePointOffset */
4: .line 774
invokestatic java.lang.Character.offsetByCodePointsImpl:([CIIII)I
ireturn
end local 2 // int codePointOffset
end local 1 // int index
end local 0 // java.lang.String this
LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljava/lang/String;
0 5 1 index I
0 5 2 codePointOffset I
MethodParameters:
Name Flags
index
codePointOffset
void getChars(char[], int);
descriptor: ([CI)V
flags: (0x0000)
Code:
stack=5, locals=3, args_size=3
start local 0 // java.lang.String this
start local 1 // char[] dst
start local 2 // int dstBegin
0: .line 783
aload 0 /* this */
getfield java.lang.String.value:[C
iconst_0
aload 1 /* dst */
iload 2 /* dstBegin */
aload 0 /* this */
getfield java.lang.String.value:[C
arraylength
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
1: .line 784
return
end local 2 // int dstBegin
end local 1 // char[] dst
end local 0 // java.lang.String this
LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/lang/String;
0 2 1 dst [C
0 2 2 dstBegin I
MethodParameters:
Name Flags
dst
dstBegin
public void getChars(int, int, char[], int);
descriptor: (II[CI)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=5, args_size=5
start local 0 // java.lang.String this
start local 1 // int srcBegin
start local 2 // int srcEnd
start local 3 // char[] dst
start local 4 // int dstBegin
0: .line 817
iload 1 /* srcBegin */
ifge 2
1: .line 818
new java.lang.StringIndexOutOfBoundsException
dup
iload 1 /* srcBegin */
invokespecial java.lang.StringIndexOutOfBoundsException.<init>:(I)V
athrow
2: .line 820
StackMap locals:
StackMap stack:
iload 2 /* srcEnd */
aload 0 /* this */
getfield java.lang.String.value:[C
arraylength
if_icmple 4
3: .line 821
new java.lang.StringIndexOutOfBoundsException
dup
iload 2 /* srcEnd */
invokespecial java.lang.StringIndexOutOfBoundsException.<init>:(I)V
athrow
4: .line 823
StackMap locals:
StackMap stack:
iload 1 /* srcBegin */
iload 2 /* srcEnd */
if_icmple 6
5: .line 824
new java.lang.StringIndexOutOfBoundsException
dup
iload 2 /* srcEnd */
iload 1 /* srcBegin */
isub
invokespecial java.lang.StringIndexOutOfBoundsException.<init>:(I)V
athrow
6: .line 826
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield java.lang.String.value:[C
iload 1 /* srcBegin */
aload 3 /* dst */
iload 4 /* dstBegin */
iload 2 /* srcEnd */
iload 1 /* srcBegin */
isub
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
7: .line 827
return
end local 4 // int dstBegin
end local 3 // char[] dst
end local 2 // int srcEnd
end local 1 // int srcBegin
end local 0 // java.lang.String this
LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Ljava/lang/String;
0 8 1 srcBegin I
0 8 2 srcEnd I
0 8 3 dst [C
0 8 4 dstBegin I
MethodParameters:
Name Flags
srcBegin
srcEnd
dst
dstBegin
public void getBytes(int, int, byte[], int);
descriptor: (II[BI)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=9, args_size=5
start local 0 // java.lang.String this
start local 1 // int srcBegin
start local 2 // int srcEnd
start local 3 // byte[] dst
start local 4 // int dstBegin
0: .line 874
iload 1 /* srcBegin */
ifge 2
1: .line 875
new java.lang.StringIndexOutOfBoundsException
dup
iload 1 /* srcBegin */
invokespecial java.lang.StringIndexOutOfBoundsException.<init>:(I)V
athrow
2: .line 877
StackMap locals:
StackMap stack:
iload 2 /* srcEnd */
aload 0 /* this */
getfield java.lang.String.value:[C
arraylength
if_icmple 4
3: .line 878
new java.lang.StringIndexOutOfBoundsException
dup
iload 2 /* srcEnd */
invokespecial java.lang.StringIndexOutOfBoundsException.<init>:(I)V
athrow
4: .line 880
StackMap locals:
StackMap stack:
iload 1 /* srcBegin */
iload 2 /* srcEnd */
if_icmple 6
5: .line 881
new java.lang.StringIndexOutOfBoundsException
dup
iload 2 /* srcEnd */
iload 1 /* srcBegin */
isub
invokespecial java.lang.StringIndexOutOfBoundsException.<init>:(I)V
athrow
6: .line 883
StackMap locals:
StackMap stack:
iload 4 /* dstBegin */
istore 5 /* j */
start local 5 // int j
7: .line 884
iload 2 /* srcEnd */
istore 6 /* n */
start local 6 // int n
8: .line 885
iload 1 /* srcBegin */
istore 7 /* i */
start local 7 // int i
9: .line 886
aload 0 /* this */
getfield java.lang.String.value:[C
astore 8 /* val */
start local 8 // char[] val
10: .line 888
goto 12
11: .line 889
StackMap locals: java.lang.String int int byte[] int int int int char[]
StackMap stack:
aload 3 /* dst */
iload 5 /* j */
iinc 5 /* j */ 1
aload 8 /* val */
iload 7 /* i */
iinc 7 /* i */ 1
caload
i2b
bastore
12: .line 888
StackMap locals:
StackMap stack:
iload 7 /* i */
iload 6 /* n */
if_icmplt 11
13: .line 891
return
end local 8 // char[] val
end local 7 // int i
end local 6 // int n
end local 5 // int j
end local 4 // int dstBegin
end local 3 // byte[] dst
end local 2 // int srcEnd
end local 1 // int srcBegin
end local 0 // java.lang.String this
LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Ljava/lang/String;
0 14 1 srcBegin I
0 14 2 srcEnd I
0 14 3 dst [B
0 14 4 dstBegin I
7 14 5 j I
8 14 6 n I
9 14 7 i I
10 14 8 val [C
RuntimeVisibleAnnotations:
java.lang.Deprecated()
MethodParameters:
Name Flags
srcBegin
srcEnd
dst
dstBegin
public byte[] getBytes(java.lang.String);
descriptor: (Ljava/lang/String;)[B
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 // java.lang.String this
start local 1 // java.lang.String charsetName
0: .line 915
aload 1 /* charsetName */
ifnonnull 1
new java.lang.NullPointerException
dup
invokespecial java.lang.NullPointerException.<init>:()V
athrow
1: .line 916
StackMap locals:
StackMap stack:
aload 1 /* charsetName */
aload 0 /* this */
getfield java.lang.String.value:[C
iconst_0
aload 0 /* this */
getfield java.lang.String.value:[C
arraylength
invokestatic java.lang.StringCoding.encode:(Ljava/lang/String;[CII)[B
areturn
end local 1 // java.lang.String charsetName
end local 0 // java.lang.String this
LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/lang/String;
0 2 1 charsetName Ljava/lang/String;
Exceptions:
throws java.io.UnsupportedEncodingException
MethodParameters:
Name Flags
charsetName
public byte[] getBytes(java.nio.charset.Charset);
descriptor: (Ljava/nio/charset/Charset;)[B
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 // java.lang.String this
start local 1 // java.nio.charset.Charset charset
0: .line 938
aload 1 /* charset */
ifnonnull 1
new java.lang.NullPointerException
dup
invokespecial java.lang.NullPointerException.<init>:()V
athrow
1: .line 939
StackMap locals:
StackMap stack:
aload 1 /* charset */
aload 0 /* this */
getfield java.lang.String.value:[C
iconst_0
aload 0 /* this */
getfield java.lang.String.value:[C
arraylength
invokestatic java.lang.StringCoding.encode:(Ljava/nio/charset/Charset;[CII)[B
areturn
end local 1 // java.nio.charset.Charset charset
end local 0 // java.lang.String this
LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/lang/String;
0 2 1 charset Ljava/nio/charset/Charset;
MethodParameters:
Name Flags
charset
public byte[] getBytes();
descriptor: ()[B
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 // java.lang.String this
0: .line 956
aload 0 /* this */
getfield java.lang.String.value:[C
iconst_0
aload 0 /* this */
getfield java.lang.String.value:[C
arraylength
invokestatic java.lang.StringCoding.encode:([CII)[B
areturn
end local 0 // java.lang.String this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/lang/String;
public boolean equals(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=7, args_size=2
start local 0 // java.lang.String this
start local 1 // java.lang.Object anObject
0: .line 975
aload 0 /* this */
aload 1 /* anObject */
if_acmpne 2
1: .line 976
iconst_1
ireturn
2: .line 978
StackMap locals:
StackMap stack:
aload 1 /* anObject */
instanceof java.lang.String
ifeq 15
3: .line 979
aload 1 /* anObject */
checkcast java.lang.String
astore 2 /* anotherString */
start local 2 // java.lang.String anotherString
4: .line 980
aload 0 /* this */
getfield java.lang.String.value:[C
arraylength
istore 3 /* n */
start local 3 // int n
5: .line 981
iload 3 /* n */
aload 2 /* anotherString */
getfield java.lang.String.value:[C
arraylength
if_icmpne 15
6: .line 982
aload 0 /* this */
getfield java.lang.String.value:[C
astore 4 /* v1 */
start local 4 // char[] v1
7: .line 983
aload 2 /* anotherString */
getfield java.lang.String.value:[C
astore 5 /* v2 */
start local 5 // char[] v2
8: .line 984
iconst_0
istore 6 /* i */
start local 6 // int i
9: .line 985
goto 13
10: .line 986
StackMap locals: java.lang.String java.lang.Object java.lang.String int char[] char[] int
StackMap stack:
aload 4 /* v1 */
iload 6 /* i */
caload
aload 5 /* v2 */
iload 6 /* i */
caload
if_icmpeq 12
11: .line 987
iconst_0
ireturn
12: .line 988
StackMap locals:
StackMap stack:
iinc 6 /* i */ 1
13: .line 985
StackMap locals:
StackMap stack:
iload 3 /* n */
iinc 3 /* n */ -1
ifne 10
14: .line 990
iconst_1
ireturn
end local 6 // int i
end local 5 // char[] v2
end local 4 // char[] v1
end local 3 // int n
end local 2 // java.lang.String anotherString
15: .line 993
StackMap locals: java.lang.String java.lang.Object
StackMap stack:
iconst_0
ireturn
end local 1 // java.lang.Object anObject
end local 0 // java.lang.String this
LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Ljava/lang/String;
0 16 1 anObject Ljava/lang/Object;
4 15 2 anotherString Ljava/lang/String;
5 15 3 n I
7 15 4 v1 [C
8 15 5 v2 [C
9 15 6 i I
MethodParameters:
Name Flags
anObject
public boolean contentEquals(java.lang.StringBuffer);
descriptor: (Ljava/lang/StringBuffer;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 // java.lang.String this
start local 1 // java.lang.StringBuffer sb
0: .line 1011
aload 1 /* sb */
dup
astore 2
monitorenter
1: .line 1012
aload 0 /* this */
aload 1 /* sb */
invokevirtual java.lang.String.contentEquals:(Ljava/lang/CharSequence;)Z
aload 2
monitorexit
2: ireturn
3: .line 1011
StackMap locals: java.lang.String java.lang.StringBuffer java.lang.StringBuffer
StackMap stack: java.lang.Throwable
aload 2
monitorexit
4: athrow
end local 1 // java.lang.StringBuffer sb
end local 0 // java.lang.String this
LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljava/lang/String;
0 5 1 sb Ljava/lang/StringBuffer;
Exception table:
from to target type
1 2 3 any
3 4 3 any
MethodParameters:
Name Flags
sb
public boolean contentEquals(java.lang.CharSequence);
descriptor: (Ljava/lang/CharSequence;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=6, args_size=2
start local 0 // java.lang.String this
start local 1 // java.lang.CharSequence cs
0: .line 1031
aload 0 /* this */
getfield java.lang.String.value:[C
arraylength
aload 1 /* cs */
invokeinterface java.lang.CharSequence.length:()I
if_icmpeq 2
1: .line 1032
iconst_0
ireturn
2: .line 1034
StackMap locals:
StackMap stack:
aload 1 /* cs */
instanceof java.lang.AbstractStringBuilder
ifeq 13
3: .line 1035
aload 0 /* this */
getfield java.lang.String.value:[C
astore 2 /* v1 */
start local 2 // char[] v1
4: .line 1036
aload 1 /* cs */
checkcast java.lang.AbstractStringBuilder
invokevirtual java.lang.AbstractStringBuilder.getValue:()[C
astore 3 /* v2 */
start local 3 // char[] v2
5: .line 1037
iconst_0
istore 4 /* i */
start local 4 // int i
6: .line 1038
aload 0 /* this */
getfield java.lang.String.value:[C
arraylength
istore 5 /* n */
start local 5 // int n
7: .line 1039
goto 11
8: .line 1040
StackMap locals: java.lang.String java.lang.CharSequence char[] char[] int int
StackMap stack:
aload 2 /* v1 */
iload 4 /* i */
caload
aload 3 /* v2 */
iload 4 /* i */
caload
if_icmpeq 10
9: .line 1041
iconst_0
ireturn
10: .line 1042
StackMap locals:
StackMap stack:
iinc 4 /* i */ 1
11: .line 1039
StackMap locals:
StackMap stack:
iload 5 /* n */
iinc 5 /* n */ -1
ifne 8
12: .line 1044
iconst_1
ireturn
end local 5 // int n
end local 4 // int i
end local 3 // char[] v2
end local 2 // char[] v1
13: .line 1047
StackMap locals: java.lang.String java.lang.CharSequence
StackMap stack:
aload 1 /* cs */
aload 0 /* this */
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 15
14: .line 1048
iconst_1
ireturn
15: .line 1050
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield java.lang.String.value:[C
astore 2 /* v1 */
start local 2 // char[] v1
16: .line 1051
iconst_0
istore 3 /* i */
start local 3 // int i
17: .line 1052
aload 0 /* this */
getfield java.lang.String.value:[C
arraylength
istore 4 /* n */
start local 4 // int n
18: .line 1053
goto 22
19: .line 1054
StackMap locals: char[] int int
StackMap stack:
aload 2 /* v1 */
iload 3 /* i */
caload
aload 1 /* cs */
iload 3 /* i */
invokeinterface java.lang.CharSequence.charAt:(I)C
if_icmpeq 21
20: .line 1055
iconst_0
ireturn
21: .line 1056
StackMap locals:
StackMap stack:
iinc 3 /* i */ 1
22: .line 1053
StackMap locals:
StackMap stack:
iload 4 /* n */
iinc 4 /* n */ -1
ifne 19
23: .line 1058
iconst_1
ireturn
end local 4 // int n
end local 3 // int i
end local 2 // char[] v1
end local 1 // java.lang.CharSequence cs
end local 0 // java.lang.String this
LocalVariableTable:
Start End Slot Name Signature
0 24 0 this Ljava/lang/String;
0 24 1 cs Ljava/lang/CharSequence;
4 13 2 v1 [C
5 13 3 v2 [C
6 13 4 i I
7 13 5 n I
16 24 2 v1 [C
17 24 3 i I
18 24 4 n I
MethodParameters:
Name Flags
cs
public boolean equalsIgnoreCase(java.lang.String);
descriptor: (Ljava/lang/String;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=2, args_size=2
start local 0 // java.lang.String this
start local 1 // java.lang.String anotherString
0: .line 1090
aload 0 /* this */
aload 1 /* anotherString */
if_acmpne 1
iconst_1
goto 6
1: .line 1091
StackMap locals:
StackMap stack:
aload 1 /* anotherString */
ifnull 5
2: .line 1092
aload 1 /* anotherString */
getfield java.lang.String.value:[C
arraylength
aload 0 /* this */
getfield java.lang.String.value:[C
arraylength
if_icmpne 5
3: .line 1093
aload 0 /* this */
iconst_1
iconst_0
aload 1 /* anotherString */
iconst_0
aload 0 /* this */
getfield java.lang.String.value:[C
arraylength
invokevirtual java.lang.String.regionMatches:(ZILjava/lang/String;II)Z
ifeq 5
4: .line 1090
iconst_1
goto 6
StackMap locals:
StackMap stack:
5: iconst_0
StackMap locals:
StackMap stack: int
6: ireturn
end local 1 // java.lang.String anotherString
end local 0 // java.lang.String this
LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Ljava/lang/String;
0 7 1 anotherString Ljava/lang/String;
MethodParameters:
Name Flags
anotherString
public int compareTo(java.lang.String);
descriptor: (Ljava/lang/String;)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=10, args_size=2
start local 0 // java.lang.String this
start local 1 // java.lang.String anotherString
0: .line 1138
aload 0 /* this */
getfield java.lang.String.value:[C
arraylength
istore 2 /* len1 */
start local 2 // int len1
1: .line 1139
aload 1 /* anotherString */
getfield java.lang.String.value:[C
arraylength
istore 3 /* len2 */
start local 3 // int len2
2: .line 1140
iload 2 /* len1 */
iload 3 /* len2 */
invokestatic java.lang.Math.min:(II)I
istore 4 /* lim */
start local 4 // int lim
3: .line 1141
aload 0 /* this */
getfield java.lang.String.value:[C
astore 5 /* v1 */
start local 5 // char[] v1
4: .line 1142
aload 1 /* anotherString */
getfield java.lang.String.value:[C
astore 6 /* v2 */
start local 6 // char[] v2
5: .line 1144
iconst_0
istore 7 /* k */
start local 7 // int k
6: .line 1145
goto 12
7: .line 1146
StackMap locals: java.lang.String java.lang.String int int int char[] char[] int
StackMap stack:
aload 5 /* v1 */
iload 7 /* k */
caload
istore 8 /* c1 */
start local 8 // char c1
8: .line 1147
aload 6 /* v2 */
iload 7 /* k */
caload
istore 9 /* c2 */
start local 9 // char c2
9: .line 1148
iload 8 /* c1 */
iload 9 /* c2 */
if_icmpeq 11
10: .line 1149
iload 8 /* c1 */
iload 9 /* c2 */
isub
ireturn
11: .line 1151
StackMap locals: int int
StackMap stack:
iinc 7 /* k */ 1
end local 9 // char c2
end local 8 // char c1
12: .line 1145
StackMap locals:
StackMap stack:
iload 7 /* k */
iload 4 /* lim */
if_icmplt 7
13: .line 1153
iload 2 /* len1 */
iload 3 /* len2 */
isub
ireturn
end local 7 // int k
end local 6 // char[] v2
end local 5 // char[] v1
end local 4 // int lim
end local 3 // int len2
end local 2 // int len1
end local 1 // java.lang.String anotherString
end local 0 // java.lang.String this
LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Ljava/lang/String;
0 14 1 anotherString Ljava/lang/String;
1 14 2 len1 I
2 14 3 len2 I
3 14 4 lim I
4 14 5 v1 [C
5 14 6 v2 [C
6 14 7 k I
8 12 8 c1 C
9 12 9 c2 C
MethodParameters:
Name Flags
anotherString
public int compareToIgnoreCase(java.lang.String);
descriptor: (Ljava/lang/String;)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 // java.lang.String this
start local 1 // java.lang.String str
0: .line 1220
getstatic java.lang.String.CASE_INSENSITIVE_ORDER:Ljava/util/Comparator;
aload 0 /* this */
aload 1 /* str */
invokeinterface java.util.Comparator.compare:(Ljava/lang/Object;Ljava/lang/Object;)I
ireturn
end local 1 // java.lang.String str
end local 0 // java.lang.String this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/lang/String;
0 1 1 str Ljava/lang/String;
MethodParameters:
Name Flags
str
public boolean regionMatches(int, java.lang.String, int, int);
descriptor: (ILjava/lang/String;II)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=9, args_size=5
start local 0 // java.lang.String this
start local 1 // int toffset
start local 2 // java.lang.String other
start local 3 // int ooffset
start local 4 // int len
0: .line 1256
aload 0 /* this */
getfield java.lang.String.value:[C
astore 5 /* ta */
start local 5 // char[] ta
1: .line 1257
iload 1 /* toffset */
istore 6 /* to */
start local 6 // int to
2: .line 1258
aload 2 /* other */
getfield java.lang.String.value:[C
astore 7 /* pa */
start local 7 // char[] pa
3: .line 1259
iload 3 /* ooffset */
istore 8 /* po */
start local 8 // int po
4: .line 1261
iload 3 /* ooffset */
iflt 7
iload 1 /* toffset */
iflt 7
5: .line 1262
iload 1 /* toffset */
i2l
aload 0 /* this */
getfield java.lang.String.value:[C
arraylength
i2l
iload 4 /* len */
i2l
lsub
lcmp
ifgt 7
6: .line 1263
iload 3 /* ooffset */
i2l
aload 2 /* other */
getfield java.lang.String.value:[C
arraylength
i2l
iload 4 /* len */
i2l
lsub
lcmp
ifle 10
7: .line 1264
StackMap locals: java.lang.String int java.lang.String int int char[] int char[] int
StackMap stack:
iconst_0
ireturn
8: .line 1267
StackMap locals:
StackMap stack:
aload 5 /* ta */
iload 6 /* to */
iinc 6 /* to */ 1
caload
aload 7 /* pa */
iload 8 /* po */
iinc 8 /* po */ 1
caload
if_icmpeq 10
9: .line 1268
iconst_0
ireturn
10: .line 1266
StackMap locals:
StackMap stack:
iload 4 /* len */
iinc 4 /* len */ -1
ifgt 8
11: .line 1271
iconst_1
ireturn
end local 8 // int po
end local 7 // char[] pa
end local 6 // int to
end local 5 // char[] ta
end local 4 // int len
end local 3 // int ooffset
end local 2 // java.lang.String other
end local 1 // int toffset
end local 0 // java.lang.String this
LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Ljava/lang/String;
0 12 1 toffset I
0 12 2 other Ljava/lang/String;
0 12 3 ooffset I
0 12 4 len I
1 12 5 ta [C
2 12 6 to I
3 12 7 pa [C
4 12 8 po I
MethodParameters:
Name Flags
toffset
other
ooffset
len
public boolean regionMatches(boolean, int, java.lang.String, int, int);
descriptor: (ZILjava/lang/String;II)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=14, args_size=6
start local 0 // java.lang.String this
start local 1 // boolean ignoreCase
start local 2 // int toffset
start local 3 // java.lang.String other
start local 4 // int ooffset
start local 5 // int len
0: .line 1326
aload 0 /* this */
getfield java.lang.String.value:[C
astore 6 /* ta */
start local 6 // char[] ta
1: .line 1327
iload 2 /* toffset */
istore 7 /* to */
start local 7 // int to
2: .line 1328
aload 3 /* other */
getfield java.lang.String.value:[C
astore 8 /* pa */
start local 8 // char[] pa
3: .line 1329
iload 4 /* ooffset */
istore 9 /* po */
start local 9 // int po
4: .line 1331
iload 4 /* ooffset */
iflt 7
iload 2 /* toffset */
iflt 7
5: .line 1332
iload 2 /* toffset */
i2l
aload 0 /* this */
getfield java.lang.String.value:[C
arraylength
i2l
iload 5 /* len */
i2l
lsub
lcmp
ifgt 7
6: .line 1333
iload 4 /* ooffset */
i2l
aload 3 /* other */
getfield java.lang.String.value:[C
arraylength
i2l
iload 5 /* len */
i2l
lsub
lcmp
ifle 20
7: .line 1334
StackMap locals: java.lang.String int int java.lang.String int int char[] int char[] int
StackMap stack:
iconst_0
ireturn
8: .line 1337
StackMap locals:
StackMap stack:
aload 6 /* ta */
iload 7 /* to */
iinc 7 /* to */ 1
caload
istore 10 /* c1 */
start local 10 // char c1
9: .line 1338
aload 8 /* pa */
iload 9 /* po */
iinc 9 /* po */ 1
caload
istore 11 /* c2 */
start local 11 // char c2
10: .line 1339
iload 10 /* c1 */
iload 11 /* c2 */
if_icmpne 12
11: .line 1340
goto 20
12: .line 1342
StackMap locals: int int
StackMap stack:
iload 1 /* ignoreCase */
ifeq 19
13: .line 1347
iload 10 /* c1 */
invokestatic java.lang.Character.toUpperCase:(C)C
istore 12 /* u1 */
start local 12 // char u1
14: .line 1348
iload 11 /* c2 */
invokestatic java.lang.Character.toUpperCase:(C)C
istore 13 /* u2 */
start local 13 // char u2
15: .line 1349
iload 12 /* u1 */
iload 13 /* u2 */
if_icmpne 17
16: .line 1350
goto 20
17: .line 1356
StackMap locals: int int
StackMap stack:
iload 12 /* u1 */
invokestatic java.lang.Character.toLowerCase:(C)C
iload 13 /* u2 */
invokestatic java.lang.Character.toLowerCase:(C)C
if_icmpne 19
18: .line 1357
goto 20
end local 13 // char u2
end local 12 // char u1
19: .line 1360
StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 11 // char c2
end local 10 // char c1
20: .line 1336
StackMap locals:
StackMap stack:
iload 5 /* len */
iinc 5 /* len */ -1
ifgt 8
21: .line 1362
iconst_1
ireturn
end local 9 // int po
end local 8 // char[] pa
end local 7 // int to
end local 6 // char[] ta
end local 5 // int len
end local 4 // int ooffset
end local 3 // java.lang.String other
end local 2 // int toffset
end local 1 // boolean ignoreCase
end local 0 // java.lang.String this
LocalVariableTable:
Start End Slot Name Signature
0 22 0 this Ljava/lang/String;
0 22 1 ignoreCase Z
0 22 2 toffset I
0 22 3 other Ljava/lang/String;
0 22 4 ooffset I
0 22 5 len I
1 22 6 ta [C
2 22 7 to I
3 22 8 pa [C
4 22 9 po I
9 20 10 c1 C
10 20 11 c2 C
14 19 12 u1 C
15 19 13 u2 C
MethodParameters:
Name Flags
ignoreCase
toffset
other
ooffset
len
public boolean startsWith(java.lang.String, int);
descriptor: (Ljava/lang/String;I)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=8, args_size=3
start local 0 // java.lang.String this
start local 1 // java.lang.String prefix
start local 2 // int toffset
0: .line 1383
aload 0 /* this */
getfield java.lang.String.value:[C
astore 3 /* ta */
start local 3 // char[] ta
1: .line 1384
iload 2 /* toffset */
istore 4 /* to */
start local 4 // int to
2: .line 1385
aload 1 /* prefix */
getfield java.lang.String.value:[C
astore 5 /* pa */
start local 5 // char[] pa
3: .line 1386
iconst_0
istore 6 /* po */
start local 6 // int po
4: .line 1387
aload 1 /* prefix */
getfield java.lang.String.value:[C
arraylength
istore 7 /* pc */
start local 7 // int pc
5: .line 1389
iload 2 /* toffset */
iflt 6
iload 2 /* toffset */
aload 0 /* this */
getfield java.lang.String.value:[C
arraylength
iload 7 /* pc */
isub
if_icmple 9
6: .line 1390
StackMap locals: java.lang.String java.lang.String int char[] int char[] int int
StackMap stack:
iconst_0
ireturn
7: .line 1393
StackMap locals:
StackMap stack:
aload 3 /* ta */
iload 4 /* to */
iinc 4 /* to */ 1
caload
aload 5 /* pa */
iload 6 /* po */
iinc 6 /* po */ 1
caload
if_icmpeq 9
8: .line 1394
iconst_0
ireturn
9: .line 1392
StackMap locals:
StackMap stack:
iinc 7 /* pc */ -1
iload 7 /* pc */
ifge 7
10: .line 1397
iconst_1
ireturn
end local 7 // int pc
end local 6 // int po
end local 5 // char[] pa
end local 4 // int to
end local 3 // char[] ta
end local 2 // int toffset
end local 1 // java.lang.String prefix
end local 0 // java.lang.String this
LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Ljava/lang/String;
0 11 1 prefix Ljava/lang/String;
0 11 2 toffset I
1 11 3 ta [C
2 11 4 to I
3 11 5 pa [C
4 11 6 po I
5 11 7 pc I
MethodParameters:
Name Flags
prefix
toffset
public boolean startsWith(java.lang.String);
descriptor: (Ljava/lang/String;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 // java.lang.String this
start local 1 // java.lang.String prefix
0: .line 1414
aload 0 /* this */
aload 1 /* prefix */
iconst_0
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;I)Z
ireturn
end local 1 // java.lang.String prefix
end local 0 // java.lang.String this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/lang/String;
0 1 1 prefix Ljava/lang/String;
MethodParameters:
Name Flags
prefix
public boolean endsWith(java.lang.String);
descriptor: (Ljava/lang/String;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 // java.lang.String this
start local 1 // java.lang.String suffix
0: .line 1429
aload 0 /* this */
aload 1 /* suffix */
aload 0 /* this */
getfield java.lang.String.value:[C
arraylength
aload 1 /* suffix */
getfield java.lang.String.value:[C
arraylength
isub
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;I)Z
ireturn
end local 1 // java.lang.String suffix
end local 0 // java.lang.String this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/lang/String;
0 1 1 suffix Ljava/lang/String;
MethodParameters:
Name Flags
suffix
public int hashCode();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=1
start local 0 // java.lang.String this
0: .line 1446
aload 0 /* this */
getfield java.lang.String.hash:I
istore 1 /* h */
start local 1 // int h
1: .line 1447
iload 1 /* h */
ifne 9
aload 0 /* this */
getfield java.lang.String.value:[C
arraylength
ifle 9
2: .line 1448
aload 0 /* this */
getfield java.lang.String.value:[C
astore 2 /* val */
start local 2 // char[] val
3: .line 1450
iconst_0
istore 3 /* i */
start local 3 // int i
4: goto 7
5: .line 1451
StackMap locals: int char[] int
StackMap stack:
bipush 31
iload 1 /* h */
imul
aload 2 /* val */
iload 3 /* i */
caload
iadd
istore 1 /* h */
6: .line 1450
iinc 3 /* i */ 1
StackMap locals:
StackMap stack:
7: iload 3 /* i */
aload 0 /* this */
getfield java.lang.String.value:[C
arraylength
if_icmplt 5
end local 3 // int i
8: .line 1453
aload 0 /* this */
iload 1 /* h */
putfield java.lang.String.hash:I
end local 2 // char[] val
9: .line 1455
StackMap locals:
StackMap stack:
iload 1 /* h */
ireturn
end local 1 // int h
end local 0 // java.lang.String this
LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Ljava/lang/String;
1 10 1 h I
3 9 2 val [C
4 8 3 i I
public int indexOf(int);
descriptor: (I)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 // java.lang.String this
start local 1 // int ch
0: .line 1483
aload 0 /* this */
iload 1 /* ch */
iconst_0
invokevirtual java.lang.String.indexOf:(II)I
ireturn
end local 1 // int ch
end local 0 // java.lang.String this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/lang/String;
0 1 1 ch I
MethodParameters:
Name Flags
ch
public int indexOf(int, int);
descriptor: (II)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=6, args_size=3
start local 0 // java.lang.String this
start local 1 // int ch
start local 2 // int fromIndex
0: .line 1526
aload 0 /* this */
getfield java.lang.String.value:[C
arraylength
istore 3 /* max */
start local 3 // int max
1: .line 1527
iload 2 /* fromIndex */
ifge 4
2: .line 1528
iconst_0
istore 2 /* fromIndex */
3: .line 1529
goto 6
StackMap locals: int
StackMap stack:
4: iload 2 /* fromIndex */
iload 3 /* max */
if_icmplt 6
5: .line 1531
iconst_m1
ireturn
6: .line 1534
StackMap locals:
StackMap stack:
iload 1 /* ch */
ldc 65536
if_icmpge 15
7: .line 1537
aload 0 /* this */
getfield java.lang.String.value:[C
astore 4 /* value */
start local 4 // char[] value
8: .line 1538
iload 2 /* fromIndex */
istore 5 /* i */
start local 5 // int i
9: goto 13
10: .line 1539
StackMap locals: char[] int
StackMap stack:
aload 4 /* value */
iload 5 /* i */
caload
iload 1 /* ch */
if_icmpne 12
11: .line 1540
iload 5 /* i */
ireturn
12: .line 1538
StackMap locals:
StackMap stack:
iinc 5 /* i */ 1
StackMap locals:
StackMap stack:
13: iload 5 /* i */
iload 3 /* max */
if_icmplt 10
end local 5 // int i
14: .line 1543
iconst_m1
ireturn
end local 4 // char[] value
15: .line 1545
StackMap locals:
StackMap stack:
aload 0 /* this */
iload 1 /* ch */
iload 2 /* fromIndex */
invokevirtual java.lang.String.indexOfSupplementary:(II)I
ireturn
end local 3 // int max
end local 2 // int fromIndex
end local 1 // int ch
end local 0 // java.lang.String this
LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Ljava/lang/String;
0 16 1 ch I
0 16 2 fromIndex I
1 16 3 max I
8 15 4 value [C
9 14 5 i I
MethodParameters:
Name Flags
ch
fromIndex
private int indexOfSupplementary(int, int);
descriptor: (II)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=8, args_size=3
start local 0 // java.lang.String this
start local 1 // int ch
start local 2 // int fromIndex
0: .line 1553
iload 1 /* ch */
invokestatic java.lang.Character.isValidCodePoint:(I)Z
ifeq 11
1: .line 1554
aload 0 /* this */
getfield java.lang.String.value:[C
astore 3 /* value */
start local 3 // char[] value
2: .line 1555
iload 1 /* ch */
invokestatic java.lang.Character.highSurrogate:(I)C
istore 4 /* hi */
start local 4 // char hi
3: .line 1556
iload 1 /* ch */
invokestatic java.lang.Character.lowSurrogate:(I)C
istore 5 /* lo */
start local 5 // char lo
4: .line 1557
aload 3 /* value */
arraylength
iconst_1
isub
istore 6 /* max */
start local 6 // int max
5: .line 1558
iload 2 /* fromIndex */
istore 7 /* i */
start local 7 // int i
6: goto 10
7: .line 1559
StackMap locals: java.lang.String int int char[] int int int int
StackMap stack:
aload 3 /* value */
iload 7 /* i */
caload
iload 4 /* hi */
if_icmpne 9
aload 3 /* value */
iload 7 /* i */
iconst_1
iadd
caload
iload 5 /* lo */
if_icmpne 9
8: .line 1560
iload 7 /* i */
ireturn
9: .line 1558
StackMap locals:
StackMap stack:
iinc 7 /* i */ 1
StackMap locals:
StackMap stack:
10: iload 7 /* i */
iload 6 /* max */
if_icmplt 7
end local 7 // int i
end local 6 // int max
end local 5 // char lo
end local 4 // char hi
end local 3 // char[] value
11: .line 1564
StackMap locals: java.lang.String int int
StackMap stack:
iconst_m1
ireturn
end local 2 // int fromIndex
end local 1 // int ch
end local 0 // java.lang.String this
LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Ljava/lang/String;
0 12 1 ch I
0 12 2 fromIndex I
2 11 3 value [C
3 11 4 hi C
4 11 5 lo C
5 11 6 max I
6 11 7 i I
MethodParameters:
Name Flags
ch
fromIndex
public int lastIndexOf(int);
descriptor: (I)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 // java.lang.String this
start local 1 // int ch
0: .line 1591
aload 0 /* this */
iload 1 /* ch */
aload 0 /* this */
getfield java.lang.String.value:[C
arraylength
iconst_1
isub
invokevirtual java.lang.String.lastIndexOf:(II)I
ireturn
end local 1 // int ch
end local 0 // java.lang.String this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/lang/String;
0 1 1 ch I
MethodParameters:
Name Flags
ch
public int lastIndexOf(int, int);
descriptor: (II)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=5, args_size=3
start local 0 // java.lang.String this
start local 1 // int ch
start local 2 // int fromIndex
0: .line 1629
iload 1 /* ch */
ldc 65536
if_icmpge 9
1: .line 1632
aload 0 /* this */
getfield java.lang.String.value:[C
astore 3 /* value */
start local 3 // char[] value
2: .line 1633
iload 2 /* fromIndex */
aload 3 /* value */
arraylength
iconst_1
isub
invokestatic java.lang.Math.min:(II)I
istore 4 /* i */
start local 4 // int i
3: .line 1634
goto 7
4: .line 1635
StackMap locals: char[] int
StackMap stack:
aload 3 /* value */
iload 4 /* i */
caload
iload 1 /* ch */
if_icmpne 6
5: .line 1636
iload 4 /* i */
ireturn
6: .line 1634
StackMap locals:
StackMap stack:
iinc 4 /* i */ -1
StackMap locals:
StackMap stack:
7: iload 4 /* i */
ifge 4
8: .line 1639
iconst_m1
ireturn
end local 4 // int i
end local 3 // char[] value
9: .line 1641
StackMap locals:
StackMap stack:
aload 0 /* this */
iload 1 /* ch */
iload 2 /* fromIndex */
invokevirtual java.lang.String.lastIndexOfSupplementary:(II)I
ireturn
end local 2 // int fromIndex
end local 1 // int ch
end local 0 // java.lang.String this
LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Ljava/lang/String;
0 10 1 ch I
0 10 2 fromIndex I
2 9 3 value [C
3 9 4 i I
MethodParameters:
Name Flags
ch
fromIndex
private int lastIndexOfSupplementary(int, int);
descriptor: (II)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=7, args_size=3
start local 0 // java.lang.String this
start local 1 // int ch
start local 2 // int fromIndex
0: .line 1649
iload 1 /* ch */
invokestatic java.lang.Character.isValidCodePoint:(I)Z
ifeq 10
1: .line 1650
aload 0 /* this */
getfield java.lang.String.value:[C
astore 3 /* value */
start local 3 // char[] value
2: .line 1651
iload 1 /* ch */
invokestatic java.lang.Character.highSurrogate:(I)C
istore 4 /* hi */
start local 4 // char hi
3: .line 1652
iload 1 /* ch */
invokestatic java.lang.Character.lowSurrogate:(I)C
istore 5 /* lo */
start local 5 // char lo
4: .line 1653
iload 2 /* fromIndex */
aload 3 /* value */
arraylength
iconst_2
isub
invokestatic java.lang.Math.min:(II)I
istore 6 /* i */
start local 6 // int i
5: .line 1654
goto 9
6: .line 1655
StackMap locals: java.lang.String int int char[] int int int
StackMap stack:
aload 3 /* value */
iload 6 /* i */
caload
iload 4 /* hi */
if_icmpne 8
aload 3 /* value */
iload 6 /* i */
iconst_1
iadd
caload
iload 5 /* lo */
if_icmpne 8
7: .line 1656
iload 6 /* i */
ireturn
8: .line 1654
StackMap locals:
StackMap stack:
iinc 6 /* i */ -1
StackMap locals:
StackMap stack:
9: iload 6 /* i */
ifge 6
end local 6 // int i
end local 5 // char lo
end local 4 // char hi
end local 3 // char[] value
10: .line 1660
StackMap locals: java.lang.String int int
StackMap stack:
iconst_m1
ireturn
end local 2 // int fromIndex
end local 1 // int ch
end local 0 // java.lang.String this
LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Ljava/lang/String;
0 11 1 ch I
0 11 2 fromIndex I
2 10 3 value [C
3 10 4 hi C
4 10 5 lo C
5 10 6 i I
MethodParameters:
Name Flags
ch
fromIndex
public int indexOf(java.lang.String);
descriptor: (Ljava/lang/String;)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 // java.lang.String this
start local 1 // java.lang.String str
0: .line 1678
aload 0 /* this */
aload 1 /* str */
iconst_0
invokevirtual java.lang.String.indexOf:(Ljava/lang/String;I)I
ireturn
end local 1 // java.lang.String str
end local 0 // java.lang.String this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/lang/String;
0 1 1 str Ljava/lang/String;
MethodParameters:
Name Flags
str
public int indexOf(java.lang.String, int);
descriptor: (Ljava/lang/String;I)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=3, args_size=3
start local 0 // java.lang.String this
start local 1 // java.lang.String str
start local 2 // int fromIndex
0: .line 1698
aload 0 /* this */
getfield java.lang.String.value:[C
iconst_0
aload 0 /* this */
getfield java.lang.String.value:[C
arraylength
1: .line 1699
aload 1 /* str */
getfield java.lang.String.value:[C
iconst_0
aload 1 /* str */
getfield java.lang.String.value:[C
arraylength
iload 2 /* fromIndex */
2: .line 1698
invokestatic java.lang.String.indexOf:([CII[CIII)I
ireturn
end local 2 // int fromIndex
end local 1 // java.lang.String str
end local 0 // java.lang.String this
LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljava/lang/String;
0 3 1 str Ljava/lang/String;
0 3 2 fromIndex I
MethodParameters:
Name Flags
str
fromIndex
static int indexOf(char[], int, int, char[], int, int, int);
descriptor: ([CII[CIII)I
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=13, args_size=7
start local 0 // char[] source
start local 1 // int sourceOffset
start local 2 // int sourceCount
start local 3 // char[] target
start local 4 // int targetOffset
start local 5 // int targetCount
start local 6 // int fromIndex
0: .line 1718
iload 6 /* fromIndex */
iload 2 /* sourceCount */
if_icmplt 4
1: .line 1719
iload 5 /* targetCount */
ifne 2
iload 2 /* sourceCount */
goto 3
StackMap locals:
StackMap stack:
2: iconst_m1
StackMap locals:
StackMap stack: int
3: ireturn
4: .line 1721
StackMap locals:
StackMap stack:
iload 6 /* fromIndex */
ifge 6
5: .line 1722
iconst_0
istore 6 /* fromIndex */
6: .line 1724
StackMap locals:
StackMap stack:
iload 5 /* targetCount */
ifne 8
7: .line 1725
iload 6 /* fromIndex */
ireturn
8: .line 1728
StackMap locals:
StackMap stack:
aload 3 /* target */
iload 4 /* targetOffset */
caload
istore 7 /* first */
start local 7 // char first
9: .line 1729
iload 1 /* sourceOffset */
iload 2 /* sourceCount */
iload 5 /* targetCount */
isub
iadd
istore 8 /* max */
start local 8 // int max
10: .line 1731
iload 1 /* sourceOffset */
iload 6 /* fromIndex */
iadd
istore 9 /* i */
start local 9 // int i
11: goto 25
12: .line 1733
StackMap locals: int int int
StackMap stack:
aload 0 /* source */
iload 9 /* i */
caload
iload 7 /* first */
if_icmpeq 14
13: .line 1734
StackMap locals:
StackMap stack:
iinc 9 /* i */ 1
iload 9 /* i */
iload 8 /* max */
if_icmpgt 14
aload 0 /* source */
iload 9 /* i */
caload
iload 7 /* first */
if_icmpne 13
14: .line 1738
StackMap locals:
StackMap stack:
iload 9 /* i */
iload 8 /* max */
if_icmpgt 24
15: .line 1739
iload 9 /* i */
iconst_1
iadd
istore 10 /* j */
start local 10 // int j
16: .line 1740
iload 10 /* j */
iload 5 /* targetCount */
iadd
iconst_1
isub
istore 11 /* end */
start local 11 // int end
17: .line 1741
iload 4 /* targetOffset */
iconst_1
iadd
istore 12 /* k */
start local 12 // int k
18: goto 20
19: .line 1742
StackMap locals: int int int
StackMap stack:
iinc 10 /* j */ 1
iinc 12 /* k */ 1
20: .line 1741
StackMap locals:
StackMap stack:
iload 10 /* j */
iload 11 /* end */
if_icmpge 22
aload 0 /* source */
iload 10 /* j */
caload
21: .line 1742
aload 3 /* target */
iload 12 /* k */
caload
if_icmpeq 19
end local 12 // int k
22: .line 1744
StackMap locals:
StackMap stack:
iload 10 /* j */
iload 11 /* end */
if_icmpne 24
23: .line 1746
iload 9 /* i */
iload 1 /* sourceOffset */
isub
ireturn
end local 11 // int end
end local 10 // int j
24: .line 1731
StackMap locals:
StackMap stack:
iinc 9 /* i */ 1
StackMap locals:
StackMap stack:
25: iload 9 /* i */
iload 8 /* max */
if_icmple 12
end local 9 // int i
26: .line 1750
iconst_m1
ireturn
end local 8 // int max
end local 7 // char first
end local 6 // int fromIndex
end local 5 // int targetCount
end local 4 // int targetOffset
end local 3 // char[] target
end local 2 // int sourceCount
end local 1 // int sourceOffset
end local 0 // char[] source
LocalVariableTable:
Start End Slot Name Signature
0 27 0 source [C
0 27 1 sourceOffset I
0 27 2 sourceCount I
0 27 3 target [C
0 27 4 targetOffset I
0 27 5 targetCount I
0 27 6 fromIndex I
9 27 7 first C
10 27 8 max I
11 26 9 i I
16 24 10 j I
17 24 11 end I
18 22 12 k I
MethodParameters:
Name Flags
source
sourceOffset
sourceCount
target
targetOffset
targetCount
fromIndex
public int lastIndexOf(java.lang.String);
descriptor: (Ljava/lang/String;)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 // java.lang.String this
start local 1 // java.lang.String str
0: .line 1769
aload 0 /* this */
aload 1 /* str */
aload 0 /* this */
getfield java.lang.String.value:[C
arraylength
invokevirtual java.lang.String.lastIndexOf:(Ljava/lang/String;I)I
ireturn
end local 1 // java.lang.String str
end local 0 // java.lang.String this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/lang/String;
0 1 1 str Ljava/lang/String;
MethodParameters:
Name Flags
str
public int lastIndexOf(java.lang.String, int);
descriptor: (Ljava/lang/String;I)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=3, args_size=3
start local 0 // java.lang.String this
start local 1 // java.lang.String str
start local 2 // int fromIndex
0: .line 1789
aload 0 /* this */
getfield java.lang.String.value:[C
iconst_0
aload 0 /* this */
getfield java.lang.String.value:[C
arraylength
1: .line 1790
aload 1 /* str */
getfield java.lang.String.value:[C
iconst_0
aload 1 /* str */
getfield java.lang.String.value:[C
arraylength
iload 2 /* fromIndex */
2: .line 1789
invokestatic java.lang.String.lastIndexOf:([CII[CIII)I
ireturn
end local 2 // int fromIndex
end local 1 // java.lang.String str
end local 0 // java.lang.String this
LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljava/lang/String;
0 3 1 str Ljava/lang/String;
0 3 2 fromIndex I
MethodParameters:
Name Flags
str
fromIndex
static int lastIndexOf(char[], int, int, char[], int, int, int);
descriptor: ([CII[CIII)I
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=15, args_size=7
start local 0 // char[] source
start local 1 // int sourceOffset
start local 2 // int sourceCount
start local 3 // char[] target
start local 4 // int targetOffset
start local 5 // int targetCount
start local 6 // int fromIndex
0: .line 1813
iload 2 /* sourceCount */
iload 5 /* targetCount */
isub
istore 7 /* rightIndex */
start local 7 // int rightIndex
1: .line 1814
iload 6 /* fromIndex */
ifge 3
2: .line 1815
iconst_m1
ireturn
3: .line 1817
StackMap locals: int
StackMap stack:
iload 6 /* fromIndex */
iload 7 /* rightIndex */
if_icmple 5
4: .line 1818
iload 7 /* rightIndex */
istore 6 /* fromIndex */
5: .line 1821
StackMap locals:
StackMap stack:
iload 5 /* targetCount */
ifne 7
6: .line 1822
iload 6 /* fromIndex */
ireturn
7: .line 1825
StackMap locals:
StackMap stack:
iload 4 /* targetOffset */
iload 5 /* targetCount */
iadd
iconst_1
isub
istore 8 /* strLastIndex */
start local 8 // int strLastIndex
8: .line 1826
aload 3 /* target */
iload 8 /* strLastIndex */
caload
istore 9 /* strLastChar */
start local 9 // char strLastChar
9: .line 1827
iload 1 /* sourceOffset */
iload 5 /* targetCount */
iadd
iconst_1
isub
istore 10 /* min */
start local 10 // int min
10: .line 1828
iload 10 /* min */
iload 6 /* fromIndex */
iadd
istore 11 /* i */
start local 11 // int i
11: .line 1832
goto 13
12: .line 1833
StackMap locals: char[] int int char[] int int int int int int int int
StackMap stack:
iinc 11 /* i */ -1
13: .line 1832
StackMap locals:
StackMap stack:
iload 11 /* i */
iload 10 /* min */
if_icmplt 14
aload 0 /* source */
iload 11 /* i */
caload
iload 9 /* strLastChar */
if_icmpne 12
14: .line 1835
StackMap locals:
StackMap stack:
iload 11 /* i */
iload 10 /* min */
if_icmpge 16
15: .line 1836
iconst_m1
ireturn
16: .line 1838
StackMap locals:
StackMap stack:
iload 11 /* i */
iconst_1
isub
istore 12 /* j */
start local 12 // int j
17: .line 1839
iload 12 /* j */
iload 5 /* targetCount */
iconst_1
isub
isub
istore 13 /* start */
start local 13 // int start
18: .line 1840
iload 8 /* strLastIndex */
iconst_1
isub
istore 14 /* k */
start local 14 // int k
19: .line 1842
goto 23
20: .line 1843
StackMap locals: int int int
StackMap stack:
aload 0 /* source */
iload 12 /* j */
iinc 12 /* j */ -1
caload
aload 3 /* target */
iload 14 /* k */
iinc 14 /* k */ -1
caload
if_icmpeq 23
21: .line 1844
iinc 11 /* i */ -1
22: .line 1845
goto 25
23: .line 1842
StackMap locals:
StackMap stack:
iload 12 /* j */
iload 13 /* start */
if_icmpgt 20
24: .line 1848
iload 13 /* start */
iload 1 /* sourceOffset */
isub
iconst_1
iadd
ireturn
end local 14 // int k
end local 13 // int start
end local 12 // int j
25: .line 1831
StackMap locals:
StackMap stack:
goto 13
end local 11 // int i
end local 10 // int min
end local 9 // char strLastChar
end local 8 // int strLastIndex
end local 7 // int rightIndex
end local 6 // int fromIndex
end local 5 // int targetCount
end local 4 // int targetOffset
end local 3 // char[] target
end local 2 // int sourceCount
end local 1 // int sourceOffset
end local 0 // char[] source
LocalVariableTable:
Start End Slot Name Signature
0 26 0 source [C
0 26 1 sourceOffset I
0 26 2 sourceCount I
0 26 3 target [C
0 26 4 targetOffset I
0 26 5 targetCount I
0 26 6 fromIndex I
1 26 7 rightIndex I
8 26 8 strLastIndex I
9 26 9 strLastChar C
10 26 10 min I
11 26 11 i I
17 25 12 j I
18 25 13 start I
19 25 14 k I
MethodParameters:
Name Flags
source
sourceOffset
sourceCount
target
targetOffset
targetCount
fromIndex
public java.lang.String substring(int);
descriptor: (I)Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=2
start local 0 // java.lang.String this
start local 1 // int beginIndex
0: .line 1870
iload 1 /* beginIndex */
ifge 2
1: .line 1871
new java.lang.StringIndexOutOfBoundsException
dup
iload 1 /* beginIndex */
invokespecial java.lang.StringIndexOutOfBoundsException.<init>:(I)V
athrow
2: .line 1873
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield java.lang.String.value:[C
arraylength
iload 1 /* beginIndex */
isub
istore 2 /* subLen */
start local 2 // int subLen
3: .line 1874
iload 2 /* subLen */
ifge 5
4: .line 1875
new java.lang.StringIndexOutOfBoundsException
dup
iload 2 /* subLen */
invokespecial java.lang.StringIndexOutOfBoundsException.<init>:(I)V
athrow
5: .line 1877
StackMap locals: int
StackMap stack:
iload 1 /* beginIndex */
ifne 6
aload 0 /* this */
goto 7
StackMap locals:
StackMap stack:
6: new java.lang.String
dup
aload 0 /* this */
getfield java.lang.String.value:[C
iload 1 /* beginIndex */
iload 2 /* subLen */
invokespecial java.lang.String.<init>:([CII)V
StackMap locals:
StackMap stack: java.lang.String
7: areturn
end local 2 // int subLen
end local 1 // int beginIndex
end local 0 // java.lang.String this
LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Ljava/lang/String;
0 8 1 beginIndex I
3 8 2 subLen I
MethodParameters:
Name Flags
beginIndex
public java.lang.String substring(int, int);
descriptor: (II)Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=3
start local 0 // java.lang.String this
start local 1 // int beginIndex
start local 2 // int endIndex
0: .line 1903
iload 1 /* beginIndex */
ifge 2
1: .line 1904
new java.lang.StringIndexOutOfBoundsException
dup
iload 1 /* beginIndex */
invokespecial java.lang.StringIndexOutOfBoundsException.<init>:(I)V
athrow
2: .line 1906
StackMap locals:
StackMap stack:
iload 2 /* endIndex */
aload 0 /* this */
getfield java.lang.String.value:[C
arraylength
if_icmple 4
3: .line 1907
new java.lang.StringIndexOutOfBoundsException
dup
iload 2 /* endIndex */
invokespecial java.lang.StringIndexOutOfBoundsException.<init>:(I)V
athrow
4: .line 1909
StackMap locals:
StackMap stack:
iload 2 /* endIndex */
iload 1 /* beginIndex */
isub
istore 3 /* subLen */
start local 3 // int subLen
5: .line 1910
iload 3 /* subLen */
ifge 7
6: .line 1911
new java.lang.StringIndexOutOfBoundsException
dup
iload 3 /* subLen */
invokespecial java.lang.StringIndexOutOfBoundsException.<init>:(I)V
athrow
7: .line 1913
StackMap locals: int
StackMap stack:
iload 1 /* beginIndex */
ifne 8
iload 2 /* endIndex */
aload 0 /* this */
getfield java.lang.String.value:[C
arraylength
if_icmpne 8
aload 0 /* this */
goto 9
8: .line 1914
StackMap locals:
StackMap stack:
new java.lang.String
dup
aload 0 /* this */
getfield java.lang.String.value:[C
iload 1 /* beginIndex */
iload 3 /* subLen */
invokespecial java.lang.String.<init>:([CII)V
9: .line 1913
StackMap locals:
StackMap stack: java.lang.String
areturn
end local 3 // int subLen
end local 2 // int endIndex
end local 1 // int beginIndex
end local 0 // java.lang.String this
LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Ljava/lang/String;
0 10 1 beginIndex I
0 10 2 endIndex I
5 10 3 subLen I
MethodParameters:
Name Flags
beginIndex
endIndex
public java.lang.CharSequence subSequence(int, int);
descriptor: (II)Ljava/lang/CharSequence;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 // java.lang.String this
start local 1 // int beginIndex
start local 2 // int endIndex
0: .line 1946
aload 0 /* this */
iload 1 /* beginIndex */
iload 2 /* endIndex */
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
areturn
end local 2 // int endIndex
end local 1 // int beginIndex
end local 0 // java.lang.String this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/lang/String;
0 1 1 beginIndex I
0 1 2 endIndex I
MethodParameters:
Name Flags
beginIndex
endIndex
public java.lang.String concat(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=5, args_size=2
start local 0 // java.lang.String this
start local 1 // java.lang.String str
0: .line 1970
aload 1 /* str */
invokevirtual java.lang.String.length:()I
istore 2 /* otherLen */
start local 2 // int otherLen
1: .line 1971
iload 2 /* otherLen */
ifne 3
2: .line 1972
aload 0 /* this */
areturn
3: .line 1974
StackMap locals: int
StackMap stack:
aload 0 /* this */
getfield java.lang.String.value:[C
arraylength
istore 3 /* len */
start local 3 // int len
4: .line 1975
aload 0 /* this */
getfield java.lang.String.value:[C
iload 3 /* len */
iload 2 /* otherLen */
iadd
invokestatic java.util.Arrays.copyOf:([CI)[C
astore 4 /* buf */
start local 4 // char[] buf
5: .line 1976
aload 1 /* str */
aload 4 /* buf */
iload 3 /* len */
invokevirtual java.lang.String.getChars:([CI)V
6: .line 1977
new java.lang.String
dup
aload 4 /* buf */
iconst_1
invokespecial java.lang.String.<init>:([CZ)V
areturn
end local 4 // char[] buf
end local 3 // int len
end local 2 // int otherLen
end local 1 // java.lang.String str
end local 0 // java.lang.String this
LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Ljava/lang/String;
0 7 1 str Ljava/lang/String;
1 7 2 otherLen I
4 7 3 len I
5 7 4 buf [C
MethodParameters:
Name Flags
str
public java.lang.String replace(char, char);
descriptor: (CC)Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=8, args_size=3
start local 0 // java.lang.String this
start local 1 // char oldChar
start local 2 // char newChar
0: .line 2010
iload 1 /* oldChar */
iload 2 /* newChar */
if_icmpeq 23
1: .line 2011
aload 0 /* this */
getfield java.lang.String.value:[C
arraylength
istore 3 /* len */
start local 3 // int len
2: .line 2012
iconst_m1
istore 4 /* i */
start local 4 // int i
3: .line 2013
aload 0 /* this */
getfield java.lang.String.value:[C
astore 5 /* val */
start local 5 // char[] val
4: .line 2015
goto 7
5: .line 2016
StackMap locals: int int char[]
StackMap stack:
aload 5 /* val */
iload 4 /* i */
caload
iload 1 /* oldChar */
if_icmpne 7
6: .line 2017
goto 8
7: .line 2015
StackMap locals:
StackMap stack:
iinc 4 /* i */ 1
iload 4 /* i */
iload 3 /* len */
if_icmplt 5
8: .line 2020
StackMap locals:
StackMap stack:
iload 4 /* i */
iload 3 /* len */
if_icmpge 23
9: .line 2021
iload 3 /* len */
newarray 5
astore 6 /* buf */
start local 6 // char[] buf
10: .line 2022
iconst_0
istore 7 /* j */
start local 7 // int j
11: goto 14
12: .line 2023
StackMap locals: char[] int
StackMap stack:
aload 6 /* buf */
iload 7 /* j */
aload 5 /* val */
iload 7 /* j */
caload
castore
13: .line 2022
iinc 7 /* j */ 1
StackMap locals:
StackMap stack:
14: iload 7 /* j */
iload 4 /* i */
if_icmplt 12
end local 7 // int j
15: .line 2025
goto 21
16: .line 2026
StackMap locals:
StackMap stack:
aload 5 /* val */
iload 4 /* i */
caload
istore 7 /* c */
start local 7 // char c
17: .line 2027
aload 6 /* buf */
iload 4 /* i */
iload 7 /* c */
iload 1 /* oldChar */
if_icmpne 18
iload 2 /* newChar */
goto 19
StackMap locals: java.lang.String int int int int char[] char[] int
StackMap stack: char[] int
18: iload 7 /* c */
StackMap locals: java.lang.String int int int int char[] char[] int
StackMap stack: char[] int int
19: castore
20: .line 2028
iinc 4 /* i */ 1
end local 7 // char c
21: .line 2025
StackMap locals:
StackMap stack:
iload 4 /* i */
iload 3 /* len */
if_icmplt 16
22: .line 2030
new java.lang.String
dup
aload 6 /* buf */
iconst_1
invokespecial java.lang.String.<init>:([CZ)V
areturn
end local 6 // char[] buf
end local 5 // char[] val
end local 4 // int i
end local 3 // int len
23: .line 2033
StackMap locals: java.lang.String int int
StackMap stack:
aload 0 /* this */
areturn
end local 2 // char newChar
end local 1 // char oldChar
end local 0 // java.lang.String this
LocalVariableTable:
Start End Slot Name Signature
0 24 0 this Ljava/lang/String;
0 24 1 oldChar C
0 24 2 newChar C
2 23 3 len I
3 23 4 i I
4 23 5 val [C
10 23 6 buf [C
11 15 7 j I
17 21 7 c C
MethodParameters:
Name Flags
oldChar
newChar
public boolean matches(java.lang.String);
descriptor: (Ljava/lang/String;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 // java.lang.String this
start local 1 // java.lang.String regex
0: .line 2063
aload 1 /* regex */
aload 0 /* this */
invokestatic java.util.regex.Pattern.matches:(Ljava/lang/String;Ljava/lang/CharSequence;)Z
ireturn
end local 1 // java.lang.String regex
end local 0 // java.lang.String this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/lang/String;
0 1 1 regex Ljava/lang/String;
MethodParameters:
Name Flags
regex
public boolean contains(java.lang.CharSequence);
descriptor: (Ljava/lang/CharSequence;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 // java.lang.String this
start local 1 // java.lang.CharSequence s
0: .line 2076
aload 0 /* this */
aload 1 /* s */
invokeinterface java.lang.CharSequence.toString:()Ljava/lang/String;
invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
iconst_m1
if_icmple 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 1 // java.lang.CharSequence s
end local 0 // java.lang.String this
LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/lang/String;
0 2 1 s Ljava/lang/CharSequence;
MethodParameters:
Name Flags
s
public java.lang.String replaceFirst(java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=3
start local 0 // java.lang.String this
start local 1 // java.lang.String regex
start local 2 // java.lang.String replacement
0: .line 2119
aload 1 /* regex */
invokestatic java.util.regex.Pattern.compile:(Ljava/lang/String;)Ljava/util/regex/Pattern;
aload 0 /* this */
invokevirtual java.util.regex.Pattern.matcher:(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
aload 2 /* replacement */
invokevirtual java.util.regex.Matcher.replaceFirst:(Ljava/lang/String;)Ljava/lang/String;
areturn
end local 2 // java.lang.String replacement
end local 1 // java.lang.String regex
end local 0 // java.lang.String this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/lang/String;
0 1 1 regex Ljava/lang/String;
0 1 2 replacement Ljava/lang/String;
MethodParameters:
Name Flags
regex
replacement
public java.lang.String replaceAll(java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=3
start local 0 // java.lang.String this
start local 1 // java.lang.String regex
start local 2 // java.lang.String replacement
0: .line 2162
aload 1 /* regex */
invokestatic java.util.regex.Pattern.compile:(Ljava/lang/String;)Ljava/util/regex/Pattern;
aload 0 /* this */
invokevirtual java.util.regex.Pattern.matcher:(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
aload 2 /* replacement */
invokevirtual java.util.regex.Matcher.replaceAll:(Ljava/lang/String;)Ljava/lang/String;
areturn
end local 2 // java.lang.String replacement
end local 1 // java.lang.String regex
end local 0 // java.lang.String this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/lang/String;
0 1 1 regex Ljava/lang/String;
0 1 2 replacement Ljava/lang/String;
MethodParameters:
Name Flags
regex
replacement
public java.lang.String replace(java.lang.CharSequence, java.lang.CharSequence);
descriptor: (Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=3
start local 0 // java.lang.String this
start local 1 // java.lang.CharSequence target
start local 2 // java.lang.CharSequence replacement
0: .line 2180
aload 1 /* target */
invokeinterface java.lang.CharSequence.toString:()Ljava/lang/String;
bipush 16
invokestatic java.util.regex.Pattern.compile:(Ljava/lang/String;I)Ljava/util/regex/Pattern;
1: .line 2181
aload 0 /* this */
2: .line 2180
invokevirtual java.util.regex.Pattern.matcher:(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
3: .line 2181
aload 2 /* replacement */
invokeinterface java.lang.CharSequence.toString:()Ljava/lang/String;
invokestatic java.util.regex.Matcher.quoteReplacement:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.util.regex.Matcher.replaceAll:(Ljava/lang/String;)Ljava/lang/String;
4: .line 2180
areturn
end local 2 // java.lang.CharSequence replacement
end local 1 // java.lang.CharSequence target
end local 0 // java.lang.String this
LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljava/lang/String;
0 5 1 target Ljava/lang/CharSequence;
0 5 2 replacement Ljava/lang/CharSequence;
MethodParameters:
Name Flags
target
replacement
public java.lang.String[] split(java.lang.String, int);
descriptor: (Ljava/lang/String;I)[Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=10, args_size=3
start local 0 // java.lang.String this
start local 1 // java.lang.String regex
start local 2 // int limit
0: .line 2271
iconst_0
istore 3 /* ch */
start local 3 // char ch
1: .line 2272
aload 1 /* regex */
getfield java.lang.String.value:[C
arraylength
iconst_1
if_icmpne 3
2: .line 2273
ldc ".$|()[{^?*+\\"
aload 1 /* regex */
iconst_0
invokevirtual java.lang.String.charAt:(I)C
dup
istore 3 /* ch */
invokevirtual java.lang.String.indexOf:(I)I
iconst_m1
if_icmpeq 8
3: .line 2274
StackMap locals: int
StackMap stack:
aload 1 /* regex */
invokevirtual java.lang.String.length:()I
iconst_2
if_icmpne 36
4: .line 2275
aload 1 /* regex */
iconst_0
invokevirtual java.lang.String.charAt:(I)C
bipush 92
if_icmpne 36
5: .line 2276
aload 1 /* regex */
iconst_1
invokevirtual java.lang.String.charAt:(I)C
dup
istore 3 /* ch */
bipush 48
isub
bipush 57
iload 3 /* ch */
isub
ior
ifge 36
6: .line 2277
iload 3 /* ch */
bipush 97
isub
bipush 122
iload 3 /* ch */
isub
ior
ifge 36
7: .line 2278
iload 3 /* ch */
bipush 65
isub
bipush 90
iload 3 /* ch */
isub
ior
ifge 36
8: .line 2279
StackMap locals:
StackMap stack:
iload 3 /* ch */
ldc 55296
if_icmplt 10
9: .line 2280
iload 3 /* ch */
ldc 57343
if_icmple 36
10: .line 2282
StackMap locals:
StackMap stack:
iconst_0
istore 4 /* off */
start local 4 // int off
11: .line 2283
iconst_0
istore 5 /* next */
start local 5 // int next
12: .line 2284
iload 2 /* limit */
ifle 13
iconst_1
goto 14
StackMap locals: int int
StackMap stack:
13: iconst_0
StackMap locals:
StackMap stack: int
14: istore 6 /* limited */
start local 6 // boolean limited
15: .line 2285
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 7 /* list */
start local 7 // java.util.ArrayList list
16: .line 2286
goto 24
17: .line 2287
StackMap locals: int java.util.ArrayList
StackMap stack:
iload 6 /* limited */
ifeq 18
aload 7 /* list */
invokevirtual java.util.ArrayList.size:()I
iload 2 /* limit */
iconst_1
isub
if_icmpge 21
18: .line 2288
StackMap locals:
StackMap stack:
aload 7 /* list */
aload 0 /* this */
iload 4 /* off */
iload 5 /* next */
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
19: .line 2289
iload 5 /* next */
iconst_1
iadd
istore 4 /* off */
20: .line 2290
goto 24
21: .line 2292
StackMap locals:
StackMap stack:
aload 7 /* list */
aload 0 /* this */
iload 4 /* off */
aload 0 /* this */
getfield java.lang.String.value:[C
arraylength
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
22: .line 2293
aload 0 /* this */
getfield java.lang.String.value:[C
arraylength
istore 4 /* off */
23: .line 2294
goto 25
24: .line 2286
StackMap locals:
StackMap stack:
aload 0 /* this */
iload 3 /* ch */
iload 4 /* off */
invokevirtual java.lang.String.indexOf:(II)I
dup
istore 5 /* next */
iconst_m1
if_icmpne 17
25: .line 2298
StackMap locals:
StackMap stack:
iload 4 /* off */
ifne 27
26: .line 2299
iconst_1
anewarray java.lang.String
dup
iconst_0
aload 0 /* this */
aastore
areturn
27: .line 2302
StackMap locals:
StackMap stack:
iload 6 /* limited */
ifeq 28
aload 7 /* list */
invokevirtual java.util.ArrayList.size:()I
iload 2 /* limit */
if_icmpge 29
28: .line 2303
StackMap locals:
StackMap stack:
aload 7 /* list */
aload 0 /* this */
iload 4 /* off */
aload 0 /* this */
getfield java.lang.String.value:[C
arraylength
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
29: .line 2306
StackMap locals:
StackMap stack:
aload 7 /* list */
invokevirtual java.util.ArrayList.size:()I
istore 8 /* resultSize */
start local 8 // int resultSize
30: .line 2307
iload 2 /* limit */
ifne 34
31: .line 2308
goto 33
32: .line 2309
StackMap locals: int
StackMap stack:
iinc 8 /* resultSize */ -1
33: .line 2308
StackMap locals:
StackMap stack:
iload 8 /* resultSize */
ifle 34
aload 7 /* list */
iload 8 /* resultSize */
iconst_1
isub
invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
checkcast java.lang.String
invokevirtual java.lang.String.length:()I
ifeq 32
34: .line 2310
StackMap locals:
StackMap stack:
iload 8 /* resultSize */
anewarray java.lang.String
astore 9 /* result */
start local 9 // java.lang.String[] result
35: .line 2311
aload 7 /* list */
iconst_0
iload 8 /* resultSize */
invokevirtual java.util.ArrayList.subList:(II)Ljava/util/List;
aload 9 /* result */
invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast java.lang.String[]
areturn
end local 9 // java.lang.String[] result
end local 8 // int resultSize
end local 7 // java.util.ArrayList list
end local 6 // boolean limited
end local 5 // int next
end local 4 // int off
36: .line 2313
StackMap locals: java.lang.String java.lang.String int int
StackMap stack:
aload 1 /* regex */
invokestatic java.util.regex.Pattern.compile:(Ljava/lang/String;)Ljava/util/regex/Pattern;
aload 0 /* this */
iload 2 /* limit */
invokevirtual java.util.regex.Pattern.split:(Ljava/lang/CharSequence;I)[Ljava/lang/String;
areturn
end local 3 // char ch
end local 2 // int limit
end local 1 // java.lang.String regex
end local 0 // java.lang.String this
LocalVariableTable:
Start End Slot Name Signature
0 37 0 this Ljava/lang/String;
0 37 1 regex Ljava/lang/String;
0 37 2 limit I
1 37 3 ch C
11 36 4 off I
12 36 5 next I
15 36 6 limited Z
16 36 7 list Ljava/util/ArrayList<Ljava/lang/String;>;
30 36 8 resultSize I
35 36 9 result [Ljava/lang/String;
MethodParameters:
Name Flags
regex
limit
public java.lang.String[] split(java.lang.String);
descriptor: (Ljava/lang/String;)[Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 // java.lang.String this
start local 1 // java.lang.String regex
0: .line 2355
aload 0 /* this */
aload 1 /* regex */
iconst_0
invokevirtual java.lang.String.split:(Ljava/lang/String;I)[Ljava/lang/String;
areturn
end local 1 // java.lang.String regex
end local 0 // java.lang.String this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/lang/String;
0 1 1 regex Ljava/lang/String;
MethodParameters:
Name Flags
regex
public java.lang.String toLowerCase(java.util.Locale);
descriptor: (Ljava/util/Locale;)Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=15, args_size=2
start local 0 // java.lang.String this
start local 1 // java.util.Locale locale
0: .line 2411
aload 1 /* locale */
ifnonnull 2
1: .line 2412
new java.lang.NullPointerException
dup
invokespecial java.lang.NullPointerException.<init>:()V
athrow
2: .line 2416
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield java.lang.String.value:[C
arraylength
istore 3 /* len */
start local 3 // int len
3: .line 2420
iconst_0
istore 2 /* firstUpper */
start local 2 // int firstUpper
4: goto 16
5: .line 2421
StackMap locals: int int
StackMap stack:
aload 0 /* this */
getfield java.lang.String.value:[C
iload 2 /* firstUpper */
caload
istore 4 /* c */
start local 4 // char c
6: .line 2422
iload 4 /* c */
ldc 55296
if_icmplt 13
7: .line 2423
iload 4 /* c */
ldc 56319
if_icmpgt 13
8: .line 2424
aload 0 /* this */
iload 2 /* firstUpper */
invokevirtual java.lang.String.codePointAt:(I)I
istore 5 /* supplChar */
start local 5 // int supplChar
9: .line 2425
iload 5 /* supplChar */
iload 5 /* supplChar */
invokestatic java.lang.Character.toLowerCase:(I)I
if_icmpeq 11
10: .line 2426
goto 18
11: .line 2428
StackMap locals: int int
StackMap stack:
iload 2 /* firstUpper */
iload 5 /* supplChar */
invokestatic java.lang.Character.charCount:(I)I
iadd
istore 2 /* firstUpper */
end local 5 // int supplChar
12: .line 2429
goto 16
13: .line 2430
StackMap locals:
StackMap stack:
iload 4 /* c */
iload 4 /* c */
invokestatic java.lang.Character.toLowerCase:(C)C
if_icmpeq 15
14: .line 2431
goto 18
15: .line 2433
StackMap locals:
StackMap stack:
iinc 2 /* firstUpper */ 1
end local 4 // char c
16: .line 2420
StackMap locals:
StackMap stack:
iload 2 /* firstUpper */
iload 3 /* len */
if_icmplt 5
17: .line 2436
aload 0 /* this */
areturn
18: .line 2439
StackMap locals:
StackMap stack:
iload 3 /* len */
newarray 5
astore 4 /* result */
start local 4 // char[] result
19: .line 2440
iconst_0
istore 5 /* resultOffset */
start local 5 // int resultOffset
20: .line 2444
aload 0 /* this */
getfield java.lang.String.value:[C
iconst_0
aload 4 /* result */
iconst_0
iload 2 /* firstUpper */
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
21: .line 2446
aload 1 /* locale */
invokevirtual java.util.Locale.getLanguage:()Ljava/lang/String;
astore 6 /* lang */
start local 6 // java.lang.String lang
22: .line 2448
aload 6 /* lang */
ldc "tr"
if_acmpeq 24
aload 6 /* lang */
ldc "az"
if_acmpeq 24
aload 6 /* lang */
ldc "lt"
if_acmpeq 24
23: .line 2447
iconst_0
goto 25
StackMap locals: char[] int java.lang.String
StackMap stack:
24: iconst_1
StackMap locals:
StackMap stack: int
25: istore 7 /* localeDependent */
start local 7 // boolean localeDependent
26: .line 2453
iload 2 /* firstUpper */
istore 12 /* i */
start local 12 // int i
27: goto 65
28: .line 2454
StackMap locals: java.lang.String java.util.Locale int int char[] int java.lang.String int top top top top int
StackMap stack:
aload 0 /* this */
getfield java.lang.String.value:[C
iload 12 /* i */
caload
istore 10 /* srcChar */
start local 10 // int srcChar
29: .line 2455
iload 10 /* srcChar */
i2c
ldc 55296
if_icmplt 34
30: .line 2456
iload 10 /* srcChar */
i2c
ldc 56319
if_icmpgt 34
31: .line 2457
aload 0 /* this */
iload 12 /* i */
invokevirtual java.lang.String.codePointAt:(I)I
istore 10 /* srcChar */
32: .line 2458
iload 10 /* srcChar */
invokestatic java.lang.Character.charCount:(I)I
istore 11 /* srcCount */
start local 11 // int srcCount
33: .line 2459
goto 35
end local 11 // int srcCount
34: .line 2460
StackMap locals: java.lang.String java.util.Locale int int char[] int java.lang.String int top top int top int
StackMap stack:
iconst_1
istore 11 /* srcCount */
start local 11 // int srcCount
35: .line 2462
StackMap locals: java.lang.String java.util.Locale int int char[] int java.lang.String int top top int int int
StackMap stack:
iload 7 /* localeDependent */
ifne 38
36: .line 2463
iload 10 /* srcChar */
sipush 931
if_icmpeq 38
37: .line 2464
iload 10 /* srcChar */
sipush 304
if_icmpne 40
38: .line 2465
StackMap locals:
StackMap stack:
aload 0 /* this */
iload 12 /* i */
aload 1 /* locale */
invokestatic java.lang.ConditionalSpecialCasing.toLowerCaseEx:(Ljava/lang/String;ILjava/util/Locale;)I
istore 9 /* lowerChar */
start local 9 // int lowerChar
39: .line 2466
goto 41
end local 9 // int lowerChar
40: .line 2467
StackMap locals:
StackMap stack:
iload 10 /* srcChar */
invokestatic java.lang.Character.toLowerCase:(I)I
istore 9 /* lowerChar */
start local 9 // int lowerChar
41: .line 2469
StackMap locals: java.lang.String java.util.Locale int int char[] int java.lang.String int top int int int int
StackMap stack:
iload 9 /* lowerChar */
iconst_m1
if_icmpeq 43
42: .line 2470
iload 9 /* lowerChar */
ldc 65536
if_icmplt 63
43: .line 2471
StackMap locals:
StackMap stack:
iload 9 /* lowerChar */
iconst_m1
if_icmpne 47
44: .line 2473
aload 0 /* this */
iload 12 /* i */
aload 1 /* locale */
invokestatic java.lang.ConditionalSpecialCasing.toLowerCaseCharArray:(Ljava/lang/String;ILjava/util/Locale;)[C
45: .line 2472
astore 8 /* lowerCharArray */
start local 8 // char[] lowerCharArray
46: .line 2474
goto 51
end local 8 // char[] lowerCharArray
StackMap locals:
StackMap stack:
47: iload 11 /* srcCount */
iconst_2
if_icmpne 50
48: .line 2475
iload 5 /* resultOffset */
iload 9 /* lowerChar */
aload 4 /* result */
iload 12 /* i */
iload 5 /* resultOffset */
iadd
invokestatic java.lang.Character.toChars:(I[CI)I
iload 11 /* srcCount */
isub
iadd
istore 5 /* resultOffset */
49: .line 2476
goto 64
50: .line 2478
StackMap locals:
StackMap stack:
iload 9 /* lowerChar */
invokestatic java.lang.Character.toChars:(I)[C
astore 8 /* lowerCharArray */
start local 8 // char[] lowerCharArray
51: .line 2482
StackMap locals: java.lang.String java.util.Locale int int char[] int java.lang.String int char[] int int int int
StackMap stack:
aload 8 /* lowerCharArray */
arraylength
istore 13 /* mapLen */
start local 13 // int mapLen
52: .line 2483
iload 13 /* mapLen */
iload 11 /* srcCount */
if_icmple 56
53: .line 2484
aload 4 /* result */
arraylength
iload 13 /* mapLen */
iadd
iload 11 /* srcCount */
isub
newarray 5
astore 14 /* result2 */
start local 14 // char[] result2
54: .line 2485
aload 4 /* result */
iconst_0
aload 14 /* result2 */
iconst_0
iload 12 /* i */
iload 5 /* resultOffset */
iadd
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
55: .line 2486
aload 14 /* result2 */
astore 4 /* result */
end local 14 // char[] result2
56: .line 2488
StackMap locals: int
StackMap stack:
iconst_0
istore 14 /* x */
start local 14 // int x
57: goto 60
58: .line 2489
StackMap locals: int
StackMap stack:
aload 4 /* result */
iload 12 /* i */
iload 5 /* resultOffset */
iadd
iload 14 /* x */
iadd
aload 8 /* lowerCharArray */
iload 14 /* x */
caload
castore
59: .line 2488
iinc 14 /* x */ 1
StackMap locals:
StackMap stack:
60: iload 14 /* x */
iload 13 /* mapLen */
if_icmplt 58
end local 14 // int x
61: .line 2491
iload 5 /* resultOffset */
iload 13 /* mapLen */
iload 11 /* srcCount */
isub
iadd
istore 5 /* resultOffset */
end local 13 // int mapLen
62: .line 2492
goto 64
end local 8 // char[] lowerCharArray
63: .line 2493
StackMap locals: java.lang.String java.util.Locale int int char[] int java.lang.String int top int int int int
StackMap stack:
aload 4 /* result */
iload 12 /* i */
iload 5 /* resultOffset */
iadd
iload 9 /* lowerChar */
i2c
castore
64: .line 2453
StackMap locals:
StackMap stack:
iload 12 /* i */
iload 11 /* srcCount */
iadd
istore 12 /* i */
end local 11 // int srcCount
end local 10 // int srcChar
end local 9 // int lowerChar
StackMap locals: java.lang.String java.util.Locale int int char[] int java.lang.String int top top top top int
StackMap stack:
65: iload 12 /* i */
iload 3 /* len */
if_icmplt 28
end local 12 // int i
66: .line 2496
new java.lang.String
dup
aload 4 /* result */
iconst_0
iload 3 /* len */
iload 5 /* resultOffset */
iadd
invokespecial java.lang.String.<init>:([CII)V
areturn
end local 7 // boolean localeDependent
end local 6 // java.lang.String lang
end local 5 // int resultOffset
end local 4 // char[] result
end local 3 // int len
end local 2 // int firstUpper
end local 1 // java.util.Locale locale
end local 0 // java.lang.String this
LocalVariableTable:
Start End Slot Name Signature
0 67 0 this Ljava/lang/String;
0 67 1 locale Ljava/util/Locale;
4 67 2 firstUpper I
3 67 3 len I
6 16 4 c C
9 12 5 supplChar I
19 67 4 result [C
20 67 5 resultOffset I
22 67 6 lang Ljava/lang/String;
26 67 7 localeDependent Z
46 47 8 lowerCharArray [C
51 63 8 lowerCharArray [C
39 40 9 lowerChar I
41 65 9 lowerChar I
29 65 10 srcChar I
33 34 11 srcCount I
35 65 11 srcCount I
27 66 12 i I
52 62 13 mapLen I
54 56 14 result2 [C
57 61 14 x I
MethodParameters:
Name Flags
locale
public java.lang.String toLowerCase();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 // java.lang.String this
0: .line 2519
aload 0 /* this */
invokestatic java.util.Locale.getDefault:()Ljava/util/Locale;
invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
areturn
end local 0 // java.lang.String this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/lang/String;
public java.lang.String toUpperCase(java.util.Locale);
descriptor: (Ljava/util/Locale;)Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=15, args_size=2
start local 0 // java.lang.String this
start local 1 // java.util.Locale locale
0: .line 2571
aload 1 /* locale */
ifnonnull 2
1: .line 2572
new java.lang.NullPointerException
dup
invokespecial java.lang.NullPointerException.<init>:()V
athrow
2: .line 2576
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield java.lang.String.value:[C
arraylength
istore 3 /* len */
start local 3 // int len
3: .line 2580
iconst_0
istore 2 /* firstLower */
start local 2 // int firstLower
4: goto 17
5: .line 2581
StackMap locals: int int
StackMap stack:
aload 0 /* this */
getfield java.lang.String.value:[C
iload 2 /* firstLower */
caload
istore 4 /* c */
start local 4 // int c
6: .line 2583
iload 4 /* c */
ldc 55296
if_icmplt 11
7: .line 2584
iload 4 /* c */
ldc 56319
if_icmpgt 11
8: .line 2585
aload 0 /* this */
iload 2 /* firstLower */
invokevirtual java.lang.String.codePointAt:(I)I
istore 4 /* c */
9: .line 2586
iload 4 /* c */
invokestatic java.lang.Character.charCount:(I)I
istore 5 /* srcCount */
start local 5 // int srcCount
10: .line 2587
goto 12
end local 5 // int srcCount
11: .line 2588
StackMap locals: int
StackMap stack:
iconst_1
istore 5 /* srcCount */
start local 5 // int srcCount
12: .line 2590
StackMap locals: int
StackMap stack:
iload 4 /* c */
invokestatic java.lang.Character.toUpperCaseEx:(I)I
istore 6 /* upperCaseChar */
start local 6 // int upperCaseChar
13: .line 2591
iload 6 /* upperCaseChar */
iconst_m1
if_icmpeq 19
14: .line 2592
iload 4 /* c */
iload 6 /* upperCaseChar */
if_icmpeq 16
15: .line 2593
goto 19
16: .line 2595
StackMap locals: int
StackMap stack:
iload 2 /* firstLower */
iload 5 /* srcCount */
iadd
istore 2 /* firstLower */
end local 6 // int upperCaseChar
end local 5 // int srcCount
end local 4 // int c
17: .line 2580
StackMap locals:
StackMap stack:
iload 2 /* firstLower */
iload 3 /* len */
if_icmplt 5
18: .line 2597
aload 0 /* this */
areturn
19: .line 2600
StackMap locals:
StackMap stack:
iload 3 /* len */
newarray 5
astore 4 /* result */
start local 4 // char[] result
20: .line 2601
iconst_0
istore 5 /* resultOffset */
start local 5 // int resultOffset
21: .line 2605
aload 0 /* this */
getfield java.lang.String.value:[C
iconst_0
aload 4 /* result */
iconst_0
iload 2 /* firstLower */
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
22: .line 2607
aload 1 /* locale */
invokevirtual java.util.Locale.getLanguage:()Ljava/lang/String;
astore 6 /* lang */
start local 6 // java.lang.String lang
23: .line 2609
aload 6 /* lang */
ldc "tr"
if_acmpeq 25
aload 6 /* lang */
ldc "az"
if_acmpeq 25
aload 6 /* lang */
ldc "lt"
if_acmpeq 25
24: .line 2608
iconst_0
goto 26
StackMap locals: char[] int java.lang.String
StackMap stack:
25: iconst_1
StackMap locals:
StackMap stack: int
26: istore 7 /* localeDependent */
start local 7 // boolean localeDependent
27: .line 2614
iload 2 /* firstLower */
istore 12 /* i */
start local 12 // int i
28: goto 67
29: .line 2615
StackMap locals: java.lang.String java.util.Locale int int char[] int java.lang.String int top top top top int
StackMap stack:
aload 0 /* this */
getfield java.lang.String.value:[C
iload 12 /* i */
caload
istore 10 /* srcChar */
start local 10 // int srcChar
30: .line 2616
iload 10 /* srcChar */
i2c
ldc 55296
if_icmplt 35
31: .line 2617
iload 10 /* srcChar */
i2c
ldc 56319
if_icmpgt 35
32: .line 2618
aload 0 /* this */
iload 12 /* i */
invokevirtual java.lang.String.codePointAt:(I)I
istore 10 /* srcChar */
33: .line 2619
iload 10 /* srcChar */
invokestatic java.lang.Character.charCount:(I)I
istore 11 /* srcCount */
start local 11 // int srcCount
34: .line 2620
goto 36
end local 11 // int srcCount
35: .line 2621
StackMap locals: java.lang.String java.util.Locale int int char[] int java.lang.String int top top int top int
StackMap stack:
iconst_1
istore 11 /* srcCount */
start local 11 // int srcCount
36: .line 2623
StackMap locals: java.lang.String java.util.Locale int int char[] int java.lang.String int top top int int int
StackMap stack:
iload 7 /* localeDependent */
ifeq 39
37: .line 2624
aload 0 /* this */
iload 12 /* i */
aload 1 /* locale */
invokestatic java.lang.ConditionalSpecialCasing.toUpperCaseEx:(Ljava/lang/String;ILjava/util/Locale;)I
istore 9 /* upperChar */
start local 9 // int upperChar
38: .line 2625
goto 40
end local 9 // int upperChar
39: .line 2626
StackMap locals:
StackMap stack:
iload 10 /* srcChar */
invokestatic java.lang.Character.toUpperCaseEx:(I)I
istore 9 /* upperChar */
start local 9 // int upperChar
40: .line 2628
StackMap locals: java.lang.String java.util.Locale int int char[] int java.lang.String int top int int int int
StackMap stack:
iload 9 /* upperChar */
iconst_m1
if_icmpeq 42
41: .line 2629
iload 9 /* upperChar */
ldc 65536
if_icmplt 65
42: .line 2630
StackMap locals:
StackMap stack:
iload 9 /* upperChar */
iconst_m1
if_icmpne 49
43: .line 2631
iload 7 /* localeDependent */
ifeq 47
44: .line 2633
aload 0 /* this */
iload 12 /* i */
aload 1 /* locale */
invokestatic java.lang.ConditionalSpecialCasing.toUpperCaseCharArray:(Ljava/lang/String;ILjava/util/Locale;)[C
45: .line 2632
astore 8 /* upperCharArray */
start local 8 // char[] upperCharArray
46: .line 2634
goto 53
end local 8 // char[] upperCharArray
47: .line 2635
StackMap locals:
StackMap stack:
iload 10 /* srcChar */
invokestatic java.lang.Character.toUpperCaseCharArray:(I)[C
astore 8 /* upperCharArray */
start local 8 // char[] upperCharArray
48: .line 2637
goto 53
end local 8 // char[] upperCharArray
StackMap locals:
StackMap stack:
49: iload 11 /* srcCount */
iconst_2
if_icmpne 52
50: .line 2638
iload 5 /* resultOffset */
iload 9 /* upperChar */
aload 4 /* result */
iload 12 /* i */
iload 5 /* resultOffset */
iadd
invokestatic java.lang.Character.toChars:(I[CI)I
iload 11 /* srcCount */
isub
iadd
istore 5 /* resultOffset */
51: .line 2639
goto 66
52: .line 2641
StackMap locals:
StackMap stack:
iload 9 /* upperChar */
invokestatic java.lang.Character.toChars:(I)[C
astore 8 /* upperCharArray */
start local 8 // char[] upperCharArray
53: .line 2645
StackMap locals: java.lang.String java.util.Locale int int char[] int java.lang.String int char[] int int int int
StackMap stack:
aload 8 /* upperCharArray */
arraylength
istore 13 /* mapLen */
start local 13 // int mapLen
54: .line 2646
iload 13 /* mapLen */
iload 11 /* srcCount */
if_icmple 58
55: .line 2647
aload 4 /* result */
arraylength
iload 13 /* mapLen */
iadd
iload 11 /* srcCount */
isub
newarray 5
astore 14 /* result2 */
start local 14 // char[] result2
56: .line 2648
aload 4 /* result */
iconst_0
aload 14 /* result2 */
iconst_0
iload 12 /* i */
iload 5 /* resultOffset */
iadd
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
57: .line 2649
aload 14 /* result2 */
astore 4 /* result */
end local 14 // char[] result2
58: .line 2651
StackMap locals: int
StackMap stack:
iconst_0
istore 14 /* x */
start local 14 // int x
59: goto 62
60: .line 2652
StackMap locals: int
StackMap stack:
aload 4 /* result */
iload 12 /* i */
iload 5 /* resultOffset */
iadd
iload 14 /* x */
iadd
aload 8 /* upperCharArray */
iload 14 /* x */
caload
castore
61: .line 2651
iinc 14 /* x */ 1
StackMap locals:
StackMap stack:
62: iload 14 /* x */
iload 13 /* mapLen */
if_icmplt 60
end local 14 // int x
63: .line 2654
iload 5 /* resultOffset */
iload 13 /* mapLen */
iload 11 /* srcCount */
isub
iadd
istore 5 /* resultOffset */
end local 13 // int mapLen
64: .line 2655
goto 66
end local 8 // char[] upperCharArray
65: .line 2656
StackMap locals: java.lang.String java.util.Locale int int char[] int java.lang.String int top int int int int
StackMap stack:
aload 4 /* result */
iload 12 /* i */
iload 5 /* resultOffset */
iadd
iload 9 /* upperChar */
i2c
castore
66: .line 2614
StackMap locals:
StackMap stack:
iload 12 /* i */
iload 11 /* srcCount */
iadd
istore 12 /* i */
end local 11 // int srcCount
end local 10 // int srcChar
end local 9 // int upperChar
StackMap locals: java.lang.String java.util.Locale int int char[] int java.lang.String int top top top top int
StackMap stack:
67: iload 12 /* i */
iload 3 /* len */
if_icmplt 29
end local 12 // int i
68: .line 2659
new java.lang.String
dup
aload 4 /* result */
iconst_0
iload 3 /* len */
iload 5 /* resultOffset */
iadd
invokespecial java.lang.String.<init>:([CII)V
areturn
end local 7 // boolean localeDependent
end local 6 // java.lang.String lang
end local 5 // int resultOffset
end local 4 // char[] result
end local 3 // int len
end local 2 // int firstLower
end local 1 // java.util.Locale locale
end local 0 // java.lang.String this
LocalVariableTable:
Start End Slot Name Signature
0 69 0 this Ljava/lang/String;
0 69 1 locale Ljava/util/Locale;
4 69 2 firstLower I
3 69 3 len I
6 17 4 c I
10 11 5 srcCount I
12 17 5 srcCount I
13 17 6 upperCaseChar I
20 69 4 result [C
21 69 5 resultOffset I
23 69 6 lang Ljava/lang/String;
27 69 7 localeDependent Z
46 47 8 upperCharArray [C
48 49 8 upperCharArray [C
53 65 8 upperCharArray [C
38 39 9 upperChar I
40 67 9 upperChar I
30 67 10 srcChar I
34 35 11 srcCount I
36 67 11 srcCount I
28 68 12 i I
54 64 13 mapLen I
56 58 14 result2 [C
59 63 14 x I
MethodParameters:
Name Flags
locale
public java.lang.String toUpperCase();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 // java.lang.String this
0: .line 2682
aload 0 /* this */
invokestatic java.util.Locale.getDefault:()Ljava/util/Locale;
invokevirtual java.lang.String.toUpperCase:(Ljava/util/Locale;)Ljava/lang/String;
areturn
end local 0 // java.lang.String this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/lang/String;
public java.lang.String trim();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=1
start local 0 // java.lang.String this
0: .line 2717
aload 0 /* this */
getfield java.lang.String.value:[C
arraylength
istore 1 /* len */
start local 1 // int len
1: .line 2718
iconst_0
istore 2 /* st */
start local 2 // int st
2: .line 2719
aload 0 /* this */
getfield java.lang.String.value:[C
astore 3 /* val */
start local 3 // char[] val
3: .line 2721
goto 5
4: .line 2722
StackMap locals: int int char[]
StackMap stack:
iinc 2 /* st */ 1
5: .line 2721
StackMap locals:
StackMap stack:
iload 2 /* st */
iload 1 /* len */
if_icmpge 8
aload 3 /* val */
iload 2 /* st */
caload
bipush 32
if_icmple 4
6: .line 2724
goto 8
7: .line 2725
StackMap locals:
StackMap stack:
iinc 1 /* len */ -1
8: .line 2724
StackMap locals:
StackMap stack:
iload 2 /* st */
iload 1 /* len */
if_icmpge 9
aload 3 /* val */
iload 1 /* len */
iconst_1
isub
caload
bipush 32
if_icmple 7
9: .line 2727
StackMap locals:
StackMap stack:
iload 2 /* st */
ifgt 10
iload 1 /* len */
aload 0 /* this */
getfield java.lang.String.value:[C
arraylength
if_icmpge 11
StackMap locals:
StackMap stack:
10: aload 0 /* this */
iload 2 /* st */
iload 1 /* len */
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
goto 12
StackMap locals:
StackMap stack:
11: aload 0 /* this */
StackMap locals:
StackMap stack: java.lang.String
12: areturn
end local 3 // char[] val
end local 2 // int st
end local 1 // int len
end local 0 // java.lang.String this
LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Ljava/lang/String;
1 13 1 len I
2 13 2 st I
3 13 3 val [C
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 // java.lang.String this
0: .line 2736
aload 0 /* this */
areturn
end local 0 // java.lang.String this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/lang/String;
public char[] toCharArray();
descriptor: ()[C
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=2, args_size=1
start local 0 // java.lang.String this
0: .line 2748
aload 0 /* this */
getfield java.lang.String.value:[C
arraylength
newarray 5
astore 1 /* result */
start local 1 // char[] result
1: .line 2749
aload 0 /* this */
getfield java.lang.String.value:[C
iconst_0
aload 1 /* result */
iconst_0
aload 0 /* this */
getfield java.lang.String.value:[C
arraylength
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
2: .line 2750
aload 1 /* result */
areturn
end local 1 // char[] result
end local 0 // java.lang.String this
LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljava/lang/String;
1 3 1 result [C
public static java.lang.String format(java.lang.String, java.lang.Object[]);
descriptor: (Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
flags: (0x0089) ACC_PUBLIC, ACC_STATIC, ACC_VARARGS
Code:
stack=3, locals=2, args_size=2
start local 0 // java.lang.String format
start local 1 // java.lang.Object[] args
0: .line 2792
new java.util.Formatter
dup
invokespecial java.util.Formatter.<init>:()V
aload 0 /* format */
aload 1 /* args */
invokevirtual java.util.Formatter.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/util/Formatter;
invokevirtual java.util.Formatter.toString:()Ljava/lang/String;
areturn
end local 1 // java.lang.Object[] args
end local 0 // java.lang.String format
LocalVariableTable:
Start End Slot Name Signature
0 1 0 format Ljava/lang/String;
0 1 1 args [Ljava/lang/Object;
MethodParameters:
Name Flags
format
args
public static java.lang.String format(java.util.Locale, java.lang.String, java.lang.Object[]);
descriptor: (Ljava/util/Locale;Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
flags: (0x0089) ACC_PUBLIC, ACC_STATIC, ACC_VARARGS
Code:
stack=3, locals=3, args_size=3
start local 0 // java.util.Locale l
start local 1 // java.lang.String format
start local 2 // java.lang.Object[] args
0: .line 2836
new java.util.Formatter
dup
aload 0 /* l */
invokespecial java.util.Formatter.<init>:(Ljava/util/Locale;)V
aload 1 /* format */
aload 2 /* args */
invokevirtual java.util.Formatter.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/util/Formatter;
invokevirtual java.util.Formatter.toString:()Ljava/lang/String;
areturn
end local 2 // java.lang.Object[] args
end local 1 // java.lang.String format
end local 0 // java.util.Locale l
LocalVariableTable:
Start End Slot Name Signature
0 1 0 l Ljava/util/Locale;
0 1 1 format Ljava/lang/String;
0 1 2 args [Ljava/lang/Object;
MethodParameters:
Name Flags
l
format
args
public static java.lang.String valueOf(java.lang.Object);
descriptor: (Ljava/lang/Object;)Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 // java.lang.Object obj
0: .line 2849
aload 0 /* obj */
ifnonnull 1
ldc "null"
goto 2
StackMap locals:
StackMap stack:
1: aload 0 /* obj */
invokevirtual java.lang.Object.toString:()Ljava/lang/String;
StackMap locals:
StackMap stack: java.lang.String
2: areturn
end local 0 // java.lang.Object obj
LocalVariableTable:
Start End Slot Name Signature
0 3 0 obj Ljava/lang/Object;
MethodParameters:
Name Flags
obj
public static java.lang.String valueOf(char[]);
descriptor: ([C)Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 // char[] data
0: .line 2863
new java.lang.String
dup
aload 0 /* data */
invokespecial java.lang.String.<init>:([C)V
areturn
end local 0 // char[] data
LocalVariableTable:
Start End Slot Name Signature
0 1 0 data [C
MethodParameters:
Name Flags
data
public static java.lang.String valueOf(char[], int, int);
descriptor: ([CII)Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=3, args_size=3
start local 0 // char[] data
start local 1 // int offset
start local 2 // int count
0: .line 2888
new java.lang.String
dup
aload 0 /* data */
iload 1 /* offset */
iload 2 /* count */
invokespecial java.lang.String.<init>:([CII)V
areturn
end local 2 // int count
end local 1 // int offset
end local 0 // char[] data
LocalVariableTable:
Start End Slot Name Signature
0 1 0 data [C
0 1 1 offset I
0 1 2 count I
MethodParameters:
Name Flags
data
offset
count
public static java.lang.String copyValueOf(char[], int, int);
descriptor: ([CII)Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=3, args_size=3
start local 0 // char[] data
start local 1 // int offset
start local 2 // int count
0: .line 2903
new java.lang.String
dup
aload 0 /* data */
iload 1 /* offset */
iload 2 /* count */
invokespecial java.lang.String.<init>:([CII)V
areturn
end local 2 // int count
end local 1 // int offset
end local 0 // char[] data
LocalVariableTable:
Start End Slot Name Signature
0 1 0 data [C
0 1 1 offset I
0 1 2 count I
MethodParameters:
Name Flags
data
offset
count
public static java.lang.String copyValueOf(char[]);
descriptor: ([C)Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 // char[] data
0: .line 2915
new java.lang.String
dup
aload 0 /* data */
invokespecial java.lang.String.<init>:([C)V
areturn
end local 0 // char[] data
LocalVariableTable:
Start End Slot Name Signature
0 1 0 data [C
MethodParameters:
Name Flags
data
public static java.lang.String valueOf(boolean);
descriptor: (Z)Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 // boolean b
0: .line 2927
iload 0 /* b */
ifeq 1
ldc "true"
goto 2
StackMap locals:
StackMap stack:
1: ldc "false"
StackMap locals:
StackMap stack: java.lang.String
2: areturn
end local 0 // boolean b
LocalVariableTable:
Start End Slot Name Signature
0 3 0 b Z
MethodParameters:
Name Flags
b
public static java.lang.String valueOf(char);
descriptor: (C)Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=2, args_size=1
start local 0 // char c
0: .line 2939
iconst_1
newarray 5
dup
iconst_0
iload 0 /* c */
castore
astore 1 /* data */
start local 1 // char[] data
1: .line 2940
new java.lang.String
dup
aload 1 /* data */
iconst_1
invokespecial java.lang.String.<init>:([CZ)V
areturn
end local 1 // char[] data
end local 0 // char c
LocalVariableTable:
Start End Slot Name Signature
0 2 0 c C
1 2 1 data [C
MethodParameters:
Name Flags
c
public static java.lang.String valueOf(int);
descriptor: (I)Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 // int i
0: .line 2954
iload 0 /* i */
invokestatic java.lang.Integer.toString:(I)Ljava/lang/String;
areturn
end local 0 // int i
LocalVariableTable:
Start End Slot Name Signature
0 1 0 i I
MethodParameters:
Name Flags
i
public static java.lang.String valueOf(long);
descriptor: (J)Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 // long l
0: .line 2968
lload 0 /* l */
invokestatic java.lang.Long.toString:(J)Ljava/lang/String;
areturn
end local 0 // long l
LocalVariableTable:
Start End Slot Name Signature
0 1 0 l J
MethodParameters:
Name Flags
l
public static java.lang.String valueOf(float);
descriptor: (F)Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 // float f
0: .line 2982
fload 0 /* f */
invokestatic java.lang.Float.toString:(F)Ljava/lang/String;
areturn
end local 0 // float f
LocalVariableTable:
Start End Slot Name Signature
0 1 0 f F
MethodParameters:
Name Flags
f
public static java.lang.String valueOf(double);
descriptor: (D)Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 // double d
0: .line 2996
dload 0 /* d */
invokestatic java.lang.Double.toString:(D)Ljava/lang/String;
areturn
end local 0 // double d
LocalVariableTable:
Start End Slot Name Signature
0 1 0 d D
MethodParameters:
Name Flags
d
public native java.lang.String intern();
descriptor: ()Ljava/lang/String;
flags: (0x0101) ACC_PUBLIC, ACC_NATIVE
int hash32();
descriptor: ()I
flags: (0x0000)
Code:
stack=4, locals=2, args_size=1
start local 0 // java.lang.String this
0: .line 3084
aload 0 /* this */
getfield java.lang.String.hash32:I
istore 1 /* h */
start local 1 // int h
1: .line 3085
iload 1 /* h */
ifne 7
2: .line 3087
getstatic java.lang.String.HASHING_SEED:I
aload 0 /* this */
getfield java.lang.String.value:[C
iconst_0
aload 0 /* this */
getfield java.lang.String.value:[C
arraylength
invokestatic sun.misc.Hashing.murmur3_32:(I[CII)I
istore 1 /* h */
3: .line 3090
iload 1 /* h */
ifeq 4
iload 1 /* h */
goto 5
StackMap locals: int
StackMap stack:
4: iconst_1
StackMap locals:
StackMap stack: int
5: istore 1 /* h */
6: .line 3092
aload 0 /* this */
iload 1 /* h */
putfield java.lang.String.hash32:I
7: .line 3095
StackMap locals:
StackMap stack:
iload 1 /* h */
ireturn
end local 1 // int h
end local 0 // java.lang.String this
LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Ljava/lang/String;
1 8 1 h I
public int compareTo(java.lang.Object);
descriptor: (Ljava/lang/Object;)I
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
0: .line 1
aload 0
aload 1
checkcast java.lang.String
invokevirtual java.lang.String.compareTo:(Ljava/lang/String;)I
ireturn
LocalVariableTable:
Start End Slot Name Signature
}
Signature: Ljava/lang/Object;Ljava/io/Serializable;Ljava/lang/Comparable<Ljava/lang/String;>;Ljava/lang/CharSequence;
SourceFile: "String.java"
NestMembers:
java.lang.String$CaseInsensitiveComparator
InnerClasses:
private CaseInsensitiveComparator = java.lang.String$CaseInsensitiveComparator of java.lang.String