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 final int offset;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final int count;
descriptor: I
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;>;
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: .line 140
iconst_0
anewarray java.io.ObjectStreamField
1: .line 139
putstatic java.lang.String.serialPersistentFields:[Ljava/io/ObjectStreamField;
2: .line 1219
new java.lang.String$CaseInsensitiveComparator
dup
invokespecial java.lang.String$CaseInsensitiveComparator.<init>:()V
3: .line 1218
putstatic java.lang.String.CASE_INSENSITIVE_ORDER:Ljava/util/Comparator;
4: .line 1219
return
LocalVariableTable:
Start End Slot Name Signature
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 147
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
1: .line 148
aload 0 /* this */
iconst_0
putfield java.lang.String.offset:I
2: .line 149
aload 0 /* this */
iconst_0
putfield java.lang.String.count:I
3: .line 150
aload 0 /* this */
iconst_0
newarray 5
putfield java.lang.String.value:[C
4: .line 151
return
end local 0 // java.lang.String this
LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljava/lang/String;
public void <init>(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=6, args_size=2
start local 0 // java.lang.String this
start local 1 // java.lang.String original
0: .line 163
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
1: .line 164
aload 1 /* original */
getfield java.lang.String.count:I
istore 2 /* size */
start local 2 // int size
2: .line 165
aload 1 /* original */
getfield java.lang.String.value:[C
astore 3 /* originalValue */
start local 3 // char[] originalValue
3: .line 167
aload 3 /* originalValue */
arraylength
iload 2 /* size */
if_icmple 7
4: .line 171
aload 1 /* original */
getfield java.lang.String.offset:I
istore 5 /* off */
start local 5 // int off
5: .line 172
aload 3 /* originalValue */
iload 5 /* off */
iload 5 /* off */
iload 2 /* size */
iadd
invokestatic java.util.Arrays.copyOfRange:([CII)[C
astore 4 /* v */
end local 5 // int off
start local 4 // char[] v
6: .line 173
goto 8
end local 4 // char[] v
7: .line 176
StackMap locals: java.lang.String java.lang.String int char[]
StackMap stack:
aload 3 /* originalValue */
astore 4 /* v */
start local 4 // char[] v
8: .line 178
StackMap locals: char[]
StackMap stack:
aload 0 /* this */
iconst_0
putfield java.lang.String.offset:I
9: .line 179
aload 0 /* this */
iload 2 /* size */
putfield java.lang.String.count:I
10: .line 180
aload 0 /* this */
aload 4 /* v */
putfield java.lang.String.value:[C
11: .line 181
return
end local 4 // char[] v
end local 3 // char[] originalValue
end local 2 // int size
end local 1 // java.lang.String original
end local 0 // java.lang.String this
LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Ljava/lang/String;
0 12 1 original Ljava/lang/String;
2 12 2 size I
3 12 3 originalValue [C
6 7 4 v [C
8 12 4 v [C
5 6 5 off I
MethodParameters:
Name Flags
original
public void <init>(char[]);
descriptor: ([C)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 // java.lang.String this
start local 1 // char[] value
0: .line 192
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
1: .line 193
aload 1 /* value */
arraylength
istore 2 /* size */
start local 2 // int size
2: .line 194
aload 0 /* this */
iconst_0
putfield java.lang.String.offset:I
3: .line 195
aload 0 /* this */
iload 2 /* size */
putfield java.lang.String.count:I
4: .line 196
aload 0 /* this */
aload 1 /* value */
iload 2 /* size */
invokestatic java.util.Arrays.copyOf:([CI)[C
putfield java.lang.String.value:[C
5: .line 197
return
end local 2 // int size
end local 1 // char[] value
end local 0 // java.lang.String this
LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljava/lang/String;
0 6 1 value [C
2 6 2 size I
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 220
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
1: .line 221
iload 2 /* offset */
ifge 3
2: .line 222
new java.lang.StringIndexOutOfBoundsException
dup
iload 2 /* offset */
invokespecial java.lang.StringIndexOutOfBoundsException.<init>:(I)V
athrow
3: .line 224
StackMap locals: java.lang.String char[] int int
StackMap stack:
iload 3 /* count */
ifge 5
4: .line 225
new java.lang.StringIndexOutOfBoundsException
dup
iload 3 /* count */
invokespecial java.lang.StringIndexOutOfBoundsException.<init>:(I)V
athrow
5: .line 228
StackMap locals:
StackMap stack:
iload 2 /* offset */
aload 1 /* value */
arraylength
iload 3 /* count */
isub
if_icmple 7
6: .line 229
new java.lang.StringIndexOutOfBoundsException
dup
iload 2 /* offset */
iload 3 /* count */
iadd
invokespecial java.lang.StringIndexOutOfBoundsException.<init>:(I)V
athrow
7: .line 231
StackMap locals:
StackMap stack:
aload 0 /* this */
iconst_0
putfield java.lang.String.offset:I
8: .line 232
aload 0 /* this */
iload 3 /* count */
putfield java.lang.String.count:I
9: .line 233
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
10: .line 234
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 11 0 this Ljava/lang/String;
0 11 1 value [C
0 11 2 offset I
0 11 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=9, 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 264
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
1: .line 265
iload 2 /* offset */
ifge 3
2: .line 266
new java.lang.StringIndexOutOfBoundsException
dup
iload 2 /* offset */
invokespecial java.lang.StringIndexOutOfBoundsException.<init>:(I)V
athrow
3: .line 268
StackMap locals: java.lang.String int[] int int
StackMap stack:
iload 3 /* count */
ifge 5
4: .line 269
new java.lang.StringIndexOutOfBoundsException
dup
iload 3 /* count */
invokespecial java.lang.StringIndexOutOfBoundsException.<init>:(I)V
athrow
5: .line 272
StackMap locals:
StackMap stack:
iload 2 /* offset */
aload 1 /* codePoints */
arraylength
iload 3 /* count */
isub
if_icmple 7
6: .line 273
new java.lang.StringIndexOutOfBoundsException
dup
iload 2 /* offset */
iload 3 /* count */
iadd
invokespecial java.lang.StringIndexOutOfBoundsException.<init>:(I)V
athrow
7: .line 277
StackMap locals:
StackMap stack:
iconst_0
istore 4 /* n */
start local 4 // int n
8: .line 278
iload 2 /* offset */
istore 5 /* i */
start local 5 // int i
9: goto 18
10: .line 279
StackMap locals: int int
StackMap stack:
aload 1 /* codePoints */
iload 5 /* i */
iaload
istore 6 /* c */
start local 6 // int c
11: .line 280
iload 6 /* c */
iflt 14
12: .line 281
iload 6 /* c */
ldc 65536
if_icmpge 14
13: .line 282
iinc 4 /* n */ 1
goto 17
14: .line 283
StackMap locals: int
StackMap stack:
iload 6 /* c */
invokestatic java.lang.Character.isSupplementaryCodePoint:(I)Z
ifeq 16
15: .line 284
iinc 4 /* n */ 2
goto 17
16: .line 285
StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
iload 6 /* c */
invokestatic java.lang.Integer.toString:(I)Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
end local 6 // int c
17: .line 278
StackMap locals:
StackMap stack:
iinc 5 /* i */ 1
StackMap locals:
StackMap stack:
18: iload 5 /* i */
iload 2 /* offset */
iload 3 /* count */
iadd
if_icmplt 10
end local 5 // int i
19: .line 289
iload 4 /* n */
newarray 5
astore 5 /* v */
start local 5 // char[] v
20: .line 290
iload 2 /* offset */
istore 6 /* i */
start local 6 // int i
21: iconst_0
istore 7 /* j */
start local 7 // int j
22: goto 30
23: .line 291
StackMap locals: java.lang.String int[] int int int char[] int int
StackMap stack:
aload 1 /* codePoints */
iload 6 /* i */
iaload
istore 8 /* c */
start local 8 // int c
24: .line 292
iload 8 /* c */
ldc 65536
if_icmpge 27
25: .line 293
aload 5 /* v */
iload 7 /* j */
iinc 7 /* j */ 1
iload 8 /* c */
i2c
castore
26: .line 294
goto 29
27: .line 295
StackMap locals: int
StackMap stack:
iload 8 /* c */
aload 5 /* v */
iload 7 /* j */
invokestatic java.lang.Character.toSurrogates:(I[CI)V
28: .line 296
iinc 7 /* j */ 2
end local 8 // int c
29: .line 290
StackMap locals:
StackMap stack:
iinc 6 /* i */ 1
StackMap locals:
StackMap stack:
30: iload 6 /* i */
iload 2 /* offset */
iload 3 /* count */
iadd
if_icmplt 23
end local 7 // int j
end local 6 // int i
31: .line 300
aload 0 /* this */
aload 5 /* v */
putfield java.lang.String.value:[C
32: .line 301
aload 0 /* this */
aload 5 /* v */
arraylength
putfield java.lang.String.count:I
33: .line 302
aload 0 /* this */
iconst_0
putfield java.lang.String.offset:I
34: .line 303
return
end local 5 // char[] v
end local 4 // int n
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 35 0 this Ljava/lang/String;
0 35 1 codePoints [I
0 35 2 offset I
0 35 3 count I
8 35 4 n I
9 19 5 i I
11 17 6 c I
20 35 5 v [C
21 31 6 i I
22 31 7 j I
24 29 8 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 345
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
1: .line 346
aload 1 /* ascii */
iload 3 /* offset */
iload 4 /* count */
invokestatic java.lang.String.checkBounds:([BII)V
2: .line 347
iload 4 /* count */
newarray 5
astore 5 /* value */
start local 5 // char[] value
3: .line 349
iload 2 /* hibyte */
ifne 9
4: .line 350
iload 4 /* count */
istore 6 /* i */
start local 6 // int i
5: goto 7
6: .line 351
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
7: .line 350
StackMap locals:
StackMap stack:
iload 6 /* i */
iinc 6 /* i */ -1
ifgt 6
end local 6 // int i
8: .line 353
goto 14
9: .line 354
StackMap locals:
StackMap stack:
iload 2 /* hibyte */
bipush 8
ishl
istore 2 /* hibyte */
10: .line 355
iload 4 /* count */
istore 6 /* i */
start local 6 // int i
11: goto 13
12: .line 356
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
13: .line 355
StackMap locals:
StackMap stack:
iload 6 /* i */
iinc 6 /* i */ -1
ifgt 12
end local 6 // int i
14: .line 359
StackMap locals:
StackMap stack:
aload 0 /* this */
iconst_0
putfield java.lang.String.offset:I
15: .line 360
aload 0 /* this */
iload 4 /* count */
putfield java.lang.String.count:I
16: .line 361
aload 0 /* this */
aload 5 /* value */
putfield java.lang.String.value:[C
17: .line 362
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 18 0 this Ljava/lang/String;
0 18 1 ascii [B
0 18 2 hibyte I
0 18 3 offset I
0 18 4 count I
3 18 5 value [C
5 8 6 i I
11 14 6 i I
RuntimeVisibleAnnotations:
java.lang.Deprecated()
RuntimeVisibleTypeAnnotations:
METHOD_RETURN
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 396
aload 0 /* this */
aload 1 /* ascii */
iload 2 /* hibyte */
iconst_0
aload 1 /* ascii */
arraylength
invokespecial java.lang.String.<init>:([BIII)V
1: .line 397
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()
RuntimeVisibleTypeAnnotations:
METHOD_RETURN
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 404
iload 2 /* length */
ifge 2
1: .line 405
new java.lang.StringIndexOutOfBoundsException
dup
iload 2 /* length */
invokespecial java.lang.StringIndexOutOfBoundsException.<init>:(I)V
athrow
2: .line 406
StackMap locals:
StackMap stack:
iload 1 /* offset */
ifge 4
3: .line 407
new java.lang.StringIndexOutOfBoundsException
dup
iload 1 /* offset */
invokespecial java.lang.StringIndexOutOfBoundsException.<init>:(I)V
athrow
4: .line 408
StackMap locals:
StackMap stack:
iload 1 /* offset */
aload 0 /* bytes */
arraylength
iload 2 /* length */
isub
if_icmple 6
5: .line 409
new java.lang.StringIndexOutOfBoundsException
dup
iload 1 /* offset */
iload 2 /* length */
iadd
invokespecial java.lang.StringIndexOutOfBoundsException.<init>:(I)V
athrow
6: .line 410
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=4, locals=6, 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 445
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
1: .line 448
aload 4 /* charsetName */
ifnonnull 3
2: .line 449
new java.lang.NullPointerException
dup
ldc "charsetName"
invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
athrow
3: .line 450
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
4: .line 451
aload 4 /* charsetName */
aload 1 /* bytes */
iload 2 /* offset */
iload 3 /* length */
invokestatic java.lang.StringCoding.decode:(Ljava/lang/String;[BII)[C
astore 5 /* v */
start local 5 // char[] v
5: .line 452
aload 0 /* this */
iconst_0
putfield java.lang.String.offset:I
6: .line 453
aload 0 /* this */
aload 5 /* v */
arraylength
putfield java.lang.String.count:I
7: .line 454
aload 0 /* this */
aload 5 /* v */
putfield java.lang.String.value:[C
8: .line 455
return
end local 5 // char[] v
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 9 0 this Ljava/lang/String;
0 9 1 bytes [B
0 9 2 offset I
0 9 3 length I
0 9 4 charsetName Ljava/lang/String;
5 9 5 v [C
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=4, locals=6, 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 487
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
1: .line 488
aload 4 /* charset */
ifnonnull 3
2: .line 489
new java.lang.NullPointerException
dup
ldc "charset"
invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
athrow
3: .line 490
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
4: .line 491
aload 4 /* charset */
aload 1 /* bytes */
iload 2 /* offset */
iload 3 /* length */
invokestatic java.lang.StringCoding.decode:(Ljava/nio/charset/Charset;[BII)[C
astore 5 /* v */
start local 5 // char[] v
5: .line 492
aload 0 /* this */
iconst_0
putfield java.lang.String.offset:I
6: .line 493
aload 0 /* this */
aload 5 /* v */
arraylength
putfield java.lang.String.count:I
7: .line 494
aload 0 /* this */
aload 5 /* v */
putfield java.lang.String.value:[C
8: .line 495
return
end local 5 // char[] v
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 9 0 this Ljava/lang/String;
0 9 1 bytes [B
0 9 2 offset I
0 9 3 length I
0 9 4 charset Ljava/nio/charset/Charset;
5 9 5 v [C
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 523
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 524
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 547
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 548
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=3, locals=5, 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 576
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
1: .line 577
aload 1 /* bytes */
iload 2 /* offset */
iload 3 /* length */
invokestatic java.lang.String.checkBounds:([BII)V
2: .line 578
aload 1 /* bytes */
iload 2 /* offset */
iload 3 /* length */
invokestatic java.lang.StringCoding.decode:([BII)[C
astore 4 /* v */
start local 4 // char[] v
3: .line 579
aload 0 /* this */
iconst_0
putfield java.lang.String.offset:I
4: .line 580
aload 0 /* this */
aload 4 /* v */
arraylength
putfield java.lang.String.count:I
5: .line 581
aload 0 /* this */
aload 4 /* v */
putfield java.lang.String.value:[C
6: .line 582
return
end local 4 // char[] v
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
3 7 4 v [C
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 601
aload 0 /* this */
aload 1 /* bytes */
iconst_0
aload 1 /* bytes */
arraylength
invokespecial java.lang.String.<init>:([BII)V
1: .line 602
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=2, locals=3, args_size=2
start local 0 // java.lang.String this
start local 1 // java.lang.StringBuffer buffer
0: .line 613
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
1: .line 614
aload 1 /* buffer */
invokevirtual java.lang.StringBuffer.toString:()Ljava/lang/String;
astore 2 /* result */
start local 2 // java.lang.String result
2: .line 615
aload 0 /* this */
aload 2 /* result */
getfield java.lang.String.value:[C
putfield java.lang.String.value:[C
3: .line 616
aload 0 /* this */
aload 2 /* result */
getfield java.lang.String.count:I
putfield java.lang.String.count:I
4: .line 617
aload 0 /* this */
aload 2 /* result */
getfield java.lang.String.offset:I
putfield java.lang.String.offset:I
5: .line 618
return
end local 2 // java.lang.String result
end local 1 // java.lang.StringBuffer buffer
end local 0 // java.lang.String this
LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljava/lang/String;
0 6 1 buffer Ljava/lang/StringBuffer;
2 6 2 result Ljava/lang/String;
MethodParameters:
Name Flags
buffer
public void <init>(java.lang.StringBuilder);
descriptor: (Ljava/lang/StringBuilder;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 // java.lang.String this
start local 1 // java.lang.StringBuilder builder
0: .line 635
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
1: .line 636
aload 1 /* builder */
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 2 /* result */
start local 2 // java.lang.String result
2: .line 637
aload 0 /* this */
aload 2 /* result */
getfield java.lang.String.value:[C
putfield java.lang.String.value:[C
3: .line 638
aload 0 /* this */
aload 2 /* result */
getfield java.lang.String.count:I
putfield java.lang.String.count:I
4: .line 639
aload 0 /* this */
aload 2 /* result */
getfield java.lang.String.offset:I
putfield java.lang.String.offset:I
5: .line 640
return
end local 2 // java.lang.String result
end local 1 // java.lang.StringBuilder builder
end local 0 // java.lang.String this
LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljava/lang/String;
0 6 1 builder Ljava/lang/StringBuilder;
2 6 2 result Ljava/lang/String;
MethodParameters:
Name Flags
builder
void <init>(int, int, char[]);
descriptor: (II[C)V
flags: (0x0000)
Code:
stack=2, 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 644
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
1: .line 645
aload 0 /* this */
aload 3 /* value */
putfield java.lang.String.value:[C
2: .line 646
aload 0 /* this */
iload 1 /* offset */
putfield java.lang.String.offset:I
3: .line 647
aload 0 /* this */
iload 2 /* count */
putfield java.lang.String.count:I
4: .line 648
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 5 0 this Ljava/lang/String;
0 5 1 offset I
0 5 2 count I
0 5 3 value [C
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 659
aload 0 /* this */
getfield java.lang.String.count:I
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 671
aload 0 /* this */
getfield java.lang.String.count:I
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 693
iload 1 /* index */
iflt 1
iload 1 /* index */
aload 0 /* this */
getfield java.lang.String.count:I
if_icmplt 2
1: .line 694
StackMap locals:
StackMap stack:
new java.lang.StringIndexOutOfBoundsException
dup
iload 1 /* index */
invokespecial java.lang.StringIndexOutOfBoundsException.<init>:(I)V
athrow
2: .line 696
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield java.lang.String.value:[C
iload 1 /* index */
aload 0 /* this */
getfield java.lang.String.offset:I
iadd
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=4, locals=2, args_size=2
start local 0 // java.lang.String this
start local 1 // int index
0: .line 722
iload 1 /* index */
iflt 1
iload 1 /* index */
aload 0 /* this */
getfield java.lang.String.count:I
if_icmplt 2
1: .line 723
StackMap locals:
StackMap stack:
new java.lang.StringIndexOutOfBoundsException
dup
iload 1 /* index */
invokespecial java.lang.StringIndexOutOfBoundsException.<init>:(I)V
athrow
2: .line 725
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield java.lang.String.value:[C
aload 0 /* this */
getfield java.lang.String.offset:I
iload 1 /* index */
iadd
aload 0 /* this */
getfield java.lang.String.offset:I
aload 0 /* this */
getfield java.lang.String.count:I
iadd
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 751
iload 1 /* index */
iconst_1
isub
istore 2 /* i */
start local 2 // int i
1: .line 752
iload 2 /* i */
iflt 2
iload 2 /* i */
aload 0 /* this */
getfield java.lang.String.count:I
if_icmplt 3
2: .line 753
StackMap locals: int
StackMap stack:
new java.lang.StringIndexOutOfBoundsException
dup
iload 1 /* index */
invokespecial java.lang.StringIndexOutOfBoundsException.<init>:(I)V
athrow
3: .line 755
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield java.lang.String.value:[C
aload 0 /* this */
getfield java.lang.String.offset:I
iload 1 /* index */
iadd
aload 0 /* this */
getfield java.lang.String.offset:I
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 780
iload 1 /* beginIndex */
iflt 1
iload 2 /* endIndex */
aload 0 /* this */
getfield java.lang.String.count:I
if_icmpgt 1
iload 1 /* beginIndex */
iload 2 /* endIndex */
if_icmple 2
1: .line 781
StackMap locals:
StackMap stack:
new java.lang.IndexOutOfBoundsException
dup
invokespecial java.lang.IndexOutOfBoundsException.<init>:()V
athrow
2: .line 783
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield java.lang.String.value:[C
aload 0 /* this */
getfield java.lang.String.offset:I
iload 1 /* beginIndex */
iadd
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 807
iload 1 /* index */
iflt 1
iload 1 /* index */
aload 0 /* this */
getfield java.lang.String.count:I
if_icmple 2
1: .line 808
StackMap locals:
StackMap stack:
new java.lang.IndexOutOfBoundsException
dup
invokespecial java.lang.IndexOutOfBoundsException.<init>:()V
athrow
2: .line 810
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield java.lang.String.value:[C
aload 0 /* this */
getfield java.lang.String.offset:I
aload 0 /* this */
getfield java.lang.String.count:I
3: .line 811
aload 0 /* this */
getfield java.lang.String.offset:I
iload 1 /* index */
iadd
iload 2 /* codePointOffset */
4: .line 810
invokestatic java.lang.Character.offsetByCodePointsImpl:([CIIII)I
5: .line 811
aload 0 /* this */
getfield java.lang.String.offset:I
6: .line 810
isub
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 7 0 this Ljava/lang/String;
0 7 1 index I
0 7 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 819
aload 0 /* this */
getfield java.lang.String.value:[C
aload 0 /* this */
getfield java.lang.String.offset:I
aload 1 /* dst */
iload 2 /* dstBegin */
aload 0 /* this */
getfield java.lang.String.count:I
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
1: .line 820
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 853
iload 1 /* srcBegin */
ifge 2
1: .line 854
new java.lang.StringIndexOutOfBoundsException
dup
iload 1 /* srcBegin */
invokespecial java.lang.StringIndexOutOfBoundsException.<init>:(I)V
athrow
2: .line 856
StackMap locals:
StackMap stack:
iload 2 /* srcEnd */
aload 0 /* this */
getfield java.lang.String.count:I
if_icmple 4
3: .line 857
new java.lang.StringIndexOutOfBoundsException
dup
iload 2 /* srcEnd */
invokespecial java.lang.StringIndexOutOfBoundsException.<init>:(I)V
athrow
4: .line 859
StackMap locals:
StackMap stack:
iload 1 /* srcBegin */
iload 2 /* srcEnd */
if_icmple 6
5: .line 860
new java.lang.StringIndexOutOfBoundsException
dup
iload 2 /* srcEnd */
iload 1 /* srcBegin */
isub
invokespecial java.lang.StringIndexOutOfBoundsException.<init>:(I)V
athrow
6: .line 862
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield java.lang.String.value:[C
aload 0 /* this */
getfield java.lang.String.offset:I
iload 1 /* srcBegin */
iadd
aload 3 /* dst */
iload 4 /* dstBegin */
7: .line 863
iload 2 /* srcEnd */
iload 1 /* srcBegin */
isub
8: .line 862
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
9: .line 864
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 10 0 this Ljava/lang/String;
0 10 1 srcBegin I
0 10 2 srcEnd I
0 10 3 dst [C
0 10 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 911
iload 1 /* srcBegin */
ifge 2
1: .line 912
new java.lang.StringIndexOutOfBoundsException
dup
iload 1 /* srcBegin */
invokespecial java.lang.StringIndexOutOfBoundsException.<init>:(I)V
athrow
2: .line 914
StackMap locals:
StackMap stack:
iload 2 /* srcEnd */
aload 0 /* this */
getfield java.lang.String.count:I
if_icmple 4
3: .line 915
new java.lang.StringIndexOutOfBoundsException
dup
iload 2 /* srcEnd */
invokespecial java.lang.StringIndexOutOfBoundsException.<init>:(I)V
athrow
4: .line 917
StackMap locals:
StackMap stack:
iload 1 /* srcBegin */
iload 2 /* srcEnd */
if_icmple 6
5: .line 918
new java.lang.StringIndexOutOfBoundsException
dup
iload 2 /* srcEnd */
iload 1 /* srcBegin */
isub
invokespecial java.lang.StringIndexOutOfBoundsException.<init>:(I)V
athrow
6: .line 920
StackMap locals:
StackMap stack:
iload 4 /* dstBegin */
istore 5 /* j */
start local 5 // int j
7: .line 921
aload 0 /* this */
getfield java.lang.String.offset:I
iload 2 /* srcEnd */
iadd
istore 6 /* n */
start local 6 // int n
8: .line 922
aload 0 /* this */
getfield java.lang.String.offset:I
iload 1 /* srcBegin */
iadd
istore 7 /* i */
start local 7 // int i
9: .line 923
aload 0 /* this */
getfield java.lang.String.value:[C
astore 8 /* val */
start local 8 // char[] val
10: .line 925
goto 12
11: .line 926
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 925
StackMap locals:
StackMap stack:
iload 7 /* i */
iload 6 /* n */
if_icmplt 11
13: .line 928
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 953
aload 1 /* charsetName */
ifnonnull 1
new java.lang.NullPointerException
dup
invokespecial java.lang.NullPointerException.<init>:()V
athrow
1: .line 954
StackMap locals:
StackMap stack:
aload 1 /* charsetName */
aload 0 /* this */
getfield java.lang.String.value:[C
aload 0 /* this */
getfield java.lang.String.offset:I
aload 0 /* this */
getfield java.lang.String.count:I
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 976
aload 1 /* charset */
ifnonnull 1
new java.lang.NullPointerException
dup
invokespecial java.lang.NullPointerException.<init>:()V
athrow
1: .line 977
StackMap locals:
StackMap stack:
aload 1 /* charset */
aload 0 /* this */
getfield java.lang.String.value:[C
aload 0 /* this */
getfield java.lang.String.offset:I
aload 0 /* this */
getfield java.lang.String.count:I
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 994
aload 0 /* this */
getfield java.lang.String.value:[C
aload 0 /* this */
getfield java.lang.String.offset:I
aload 0 /* this */
getfield java.lang.String.count:I
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=8, args_size=2
start local 0 // java.lang.String this
start local 1 // java.lang.Object anObject
0: .line 1013
aload 0 /* this */
aload 1 /* anObject */
if_acmpne 2
1: .line 1014
iconst_1
ireturn
2: .line 1016
StackMap locals:
StackMap stack:
aload 1 /* anObject */
instanceof java.lang.String
ifeq 15
3: .line 1017
aload 1 /* anObject */
checkcast java.lang.String
astore 2 /* anotherString */
start local 2 // java.lang.String anotherString
4: .line 1018
aload 0 /* this */
getfield java.lang.String.count:I
istore 3 /* n */
start local 3 // int n
5: .line 1019
iload 3 /* n */
aload 2 /* anotherString */
getfield java.lang.String.count:I
if_icmpne 15
6: .line 1020
aload 0 /* this */
getfield java.lang.String.value:[C
astore 4 /* v1 */
start local 4 // char[] v1
7: .line 1021
aload 2 /* anotherString */
getfield java.lang.String.value:[C
astore 5 /* v2 */
start local 5 // char[] v2
8: .line 1022
aload 0 /* this */
getfield java.lang.String.offset:I
istore 6 /* i */
start local 6 // int i
9: .line 1023
aload 2 /* anotherString */
getfield java.lang.String.offset:I
istore 7 /* j */
start local 7 // int j
10: .line 1024
goto 13
11: .line 1025
StackMap locals: java.lang.String java.lang.Object java.lang.String int char[] char[] int int
StackMap stack:
aload 4 /* v1 */
iload 6 /* i */
iinc 6 /* i */ 1
caload
aload 5 /* v2 */
iload 7 /* j */
iinc 7 /* j */ 1
caload
if_icmpeq 13
12: .line 1026
iconst_0
ireturn
13: .line 1024
StackMap locals:
StackMap stack:
iload 3 /* n */
iinc 3 /* n */ -1
ifne 11
14: .line 1028
iconst_1
ireturn
end local 7 // int j
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 1031
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
10 15 7 j 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 1049
aload 1 /* sb */
dup
astore 2
monitorenter
1: .line 1050
aload 0 /* this */
aload 1 /* sb */
invokevirtual java.lang.String.contentEquals:(Ljava/lang/CharSequence;)Z
aload 2
monitorexit
2: ireturn
3: .line 1049
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=7, args_size=2
start local 0 // java.lang.String this
start local 1 // java.lang.CharSequence cs
0: .line 1069
aload 0 /* this */
getfield java.lang.String.count:I
aload 1 /* cs */
invokeinterface java.lang.CharSequence.length:()I
if_icmpeq 2
1: .line 1070
iconst_0
ireturn
2: .line 1072
StackMap locals:
StackMap stack:
aload 1 /* cs */
instanceof java.lang.AbstractStringBuilder
ifeq 13
3: .line 1073
aload 0 /* this */
getfield java.lang.String.value:[C
astore 2 /* v1 */
start local 2 // char[] v1
4: .line 1074
aload 1 /* cs */
checkcast java.lang.AbstractStringBuilder
invokevirtual java.lang.AbstractStringBuilder.getValue:()[C
astore 3 /* v2 */
start local 3 // char[] v2
5: .line 1075
aload 0 /* this */
getfield java.lang.String.offset:I
istore 4 /* i */
start local 4 // int i
6: .line 1076
iconst_0
istore 5 /* j */
start local 5 // int j
7: .line 1077
aload 0 /* this */
getfield java.lang.String.count:I
istore 6 /* n */
start local 6 // int n
8: .line 1078
goto 11
9: .line 1079
StackMap locals: java.lang.String java.lang.CharSequence char[] char[] int int int
StackMap stack:
aload 2 /* v1 */
iload 4 /* i */
iinc 4 /* i */ 1
caload
aload 3 /* v2 */
iload 5 /* j */
iinc 5 /* j */ 1
caload
if_icmpeq 11
10: .line 1080
iconst_0
ireturn
11: .line 1078
StackMap locals:
StackMap stack:
iload 6 /* n */
iinc 6 /* n */ -1
ifne 9
12: .line 1082
iconst_1
ireturn
end local 6 // int n
end local 5 // int j
end local 4 // int i
end local 3 // char[] v2
end local 2 // char[] v1
13: .line 1085
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 1086
iconst_1
ireturn
15: .line 1088
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield java.lang.String.value:[C
astore 2 /* v1 */
start local 2 // char[] v1
16: .line 1089
aload 0 /* this */
getfield java.lang.String.offset:I
istore 3 /* i */
start local 3 // int i
17: .line 1090
iconst_0
istore 4 /* j */
start local 4 // int j
18: .line 1091
aload 0 /* this */
getfield java.lang.String.count:I
istore 5 /* n */
start local 5 // int n
19: .line 1092
goto 22
20: .line 1093
StackMap locals: java.lang.String java.lang.CharSequence char[] int int int
StackMap stack:
aload 2 /* v1 */
iload 3 /* i */
iinc 3 /* i */ 1
caload
aload 1 /* cs */
iload 4 /* j */
iinc 4 /* j */ 1
invokeinterface java.lang.CharSequence.charAt:(I)C
if_icmpeq 22
21: .line 1094
iconst_0
ireturn
22: .line 1092
StackMap locals:
StackMap stack:
iload 5 /* n */
iinc 5 /* n */ -1
ifne 20
23: .line 1096
iconst_1
ireturn
end local 5 // int n
end local 4 // int j
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 j I
8 13 6 n I
16 24 2 v1 [C
17 24 3 i I
18 24 4 j I
19 24 5 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 1128
aload 0 /* this */
aload 1 /* anotherString */
if_acmpne 1
iconst_1
goto 5
1: .line 1129
StackMap locals:
StackMap stack:
aload 1 /* anotherString */
ifnull 4
aload 1 /* anotherString */
getfield java.lang.String.count:I
aload 0 /* this */
getfield java.lang.String.count:I
if_icmpne 4
2: .line 1130
aload 0 /* this */
iconst_1
iconst_0
aload 1 /* anotherString */
iconst_0
aload 0 /* this */
getfield java.lang.String.count:I
invokevirtual java.lang.String.regionMatches:(ZILjava/lang/String;II)Z
ifeq 4
3: .line 1128
iconst_1
goto 5
StackMap locals:
StackMap stack:
4: iconst_0
StackMap locals:
StackMap stack: int
5: ireturn
end local 1 // java.lang.String anotherString
end local 0 // java.lang.String this
LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljava/lang/String;
0 6 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=13, args_size=2
start local 0 // java.lang.String this
start local 1 // java.lang.String anotherString
0: .line 1175
aload 0 /* this */
getfield java.lang.String.count:I
istore 2 /* len1 */
start local 2 // int len1
1: .line 1176
aload 1 /* anotherString */
getfield java.lang.String.count:I
istore 3 /* len2 */
start local 3 // int len2
2: .line 1177
iload 2 /* len1 */
iload 3 /* len2 */
invokestatic java.lang.Math.min:(II)I
istore 4 /* n */
start local 4 // int n
3: .line 1178
aload 0 /* this */
getfield java.lang.String.value:[C
astore 5 /* v1 */
start local 5 // char[] v1
4: .line 1179
aload 1 /* anotherString */
getfield java.lang.String.value:[C
astore 6 /* v2 */
start local 6 // char[] v2
5: .line 1180
aload 0 /* this */
getfield java.lang.String.offset:I
istore 7 /* i */
start local 7 // int i
6: .line 1181
aload 1 /* anotherString */
getfield java.lang.String.offset:I
istore 8 /* j */
start local 8 // int j
7: .line 1183
iload 7 /* i */
iload 8 /* j */
if_icmpne 22
8: .line 1184
iload 7 /* i */
istore 9 /* k */
start local 9 // int k
9: .line 1185
iload 4 /* n */
iload 7 /* i */
iadd
istore 10 /* lim */
start local 10 // int lim
10: .line 1186
goto 16
11: .line 1187
StackMap locals: java.lang.String java.lang.String int int int char[] char[] int int int int
StackMap stack:
aload 5 /* v1 */
iload 9 /* k */
caload
istore 11 /* c1 */
start local 11 // char c1
12: .line 1188
aload 6 /* v2 */
iload 9 /* k */
caload
istore 12 /* c2 */
start local 12 // char c2
13: .line 1189
iload 11 /* c1 */
iload 12 /* c2 */
if_icmpeq 15
14: .line 1190
iload 11 /* c1 */
iload 12 /* c2 */
isub
ireturn
15: .line 1192
StackMap locals: int int
StackMap stack:
iinc 9 /* k */ 1
end local 12 // char c2
end local 11 // char c1
16: .line 1186
StackMap locals:
StackMap stack:
iload 9 /* k */
iload 10 /* lim */
if_icmplt 11
end local 10 // int lim
end local 9 // int k
17: .line 1194
goto 23
18: .line 1196
StackMap locals:
StackMap stack:
aload 5 /* v1 */
iload 7 /* i */
iinc 7 /* i */ 1
caload
istore 9 /* c1 */
start local 9 // char c1
19: .line 1197
aload 6 /* v2 */
iload 8 /* j */
iinc 8 /* j */ 1
caload
istore 10 /* c2 */
start local 10 // char c2
20: .line 1198
iload 9 /* c1 */
iload 10 /* c2 */
if_icmpeq 22
21: .line 1199
iload 9 /* c1 */
iload 10 /* c2 */
isub
ireturn
end local 10 // char c2
end local 9 // char c1
22: .line 1195
StackMap locals:
StackMap stack:
iload 4 /* n */
iinc 4 /* n */ -1
ifne 18
23: .line 1203
StackMap locals:
StackMap stack:
iload 2 /* len1 */
iload 3 /* len2 */
isub
ireturn
end local 8 // int j
end local 7 // int i
end local 6 // char[] v2
end local 5 // char[] v1
end local 4 // int n
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 24 0 this Ljava/lang/String;
0 24 1 anotherString Ljava/lang/String;
1 24 2 len1 I
2 24 3 len2 I
3 24 4 n I
4 24 5 v1 [C
5 24 6 v2 [C
6 24 7 i I
7 24 8 j I
9 17 9 k I
10 17 10 lim I
12 16 11 c1 C
13 16 12 c2 C
19 22 9 c1 C
20 22 10 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 1270
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 1306
aload 0 /* this */
getfield java.lang.String.value:[C
astore 5 /* ta */
start local 5 // char[] ta
1: .line 1307
aload 0 /* this */
getfield java.lang.String.offset:I
iload 1 /* toffset */
iadd
istore 6 /* to */
start local 6 // int to
2: .line 1308
aload 2 /* other */
getfield java.lang.String.value:[C
astore 7 /* pa */
start local 7 // char[] pa
3: .line 1309
aload 2 /* other */
getfield java.lang.String.offset:I
iload 3 /* ooffset */
iadd
istore 8 /* po */
start local 8 // int po
4: .line 1311
iload 3 /* ooffset */
iflt 6
iload 1 /* toffset */
iflt 6
iload 1 /* toffset */
i2l
aload 0 /* this */
getfield java.lang.String.count:I
i2l
iload 4 /* len */
i2l
lsub
lcmp
ifgt 6
5: .line 1312
iload 3 /* ooffset */
i2l
aload 2 /* other */
getfield java.lang.String.count:I
i2l
iload 4 /* len */
i2l
lsub
lcmp
ifle 9
6: .line 1313
StackMap locals: java.lang.String int java.lang.String int int char[] int char[] int
StackMap stack:
iconst_0
ireturn
7: .line 1316
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 9
8: .line 1317
iconst_0
ireturn
9: .line 1315
StackMap locals:
StackMap stack:
iload 4 /* len */
iinc 4 /* len */ -1
ifgt 7
10: .line 1320
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 11 0 this Ljava/lang/String;
0 11 1 toffset I
0 11 2 other Ljava/lang/String;
0 11 3 ooffset I
0 11 4 len I
1 11 5 ta [C
2 11 6 to I
3 11 7 pa [C
4 11 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 1375
aload 0 /* this */
getfield java.lang.String.value:[C
astore 6 /* ta */
start local 6 // char[] ta
1: .line 1376
aload 0 /* this */
getfield java.lang.String.offset:I
iload 2 /* toffset */
iadd
istore 7 /* to */
start local 7 // int to
2: .line 1377
aload 3 /* other */
getfield java.lang.String.value:[C
astore 8 /* pa */
start local 8 // char[] pa
3: .line 1378
aload 3 /* other */
getfield java.lang.String.offset:I
iload 4 /* ooffset */
iadd
istore 9 /* po */
start local 9 // int po
4: .line 1380
iload 4 /* ooffset */
iflt 6
iload 2 /* toffset */
iflt 6
iload 2 /* toffset */
i2l
aload 0 /* this */
getfield java.lang.String.count:I
i2l
iload 5 /* len */
i2l
lsub
lcmp
ifgt 6
5: .line 1381
iload 4 /* ooffset */
i2l
aload 3 /* other */
getfield java.lang.String.count:I
i2l
iload 5 /* len */
i2l
lsub
lcmp
ifle 19
6: .line 1382
StackMap locals: java.lang.String int int java.lang.String int int char[] int char[] int
StackMap stack:
iconst_0
ireturn
7: .line 1385
StackMap locals:
StackMap stack:
aload 6 /* ta */
iload 7 /* to */
iinc 7 /* to */ 1
caload
istore 10 /* c1 */
start local 10 // char c1
8: .line 1386
aload 8 /* pa */
iload 9 /* po */
iinc 9 /* po */ 1
caload
istore 11 /* c2 */
start local 11 // char c2
9: .line 1387
iload 10 /* c1 */
iload 11 /* c2 */
if_icmpne 11
10: .line 1388
goto 19
11: .line 1390
StackMap locals: int int
StackMap stack:
iload 1 /* ignoreCase */
ifeq 18
12: .line 1395
iload 10 /* c1 */
invokestatic java.lang.Character.toUpperCase:(C)C
istore 12 /* u1 */
start local 12 // char u1
13: .line 1396
iload 11 /* c2 */
invokestatic java.lang.Character.toUpperCase:(C)C
istore 13 /* u2 */
start local 13 // char u2
14: .line 1397
iload 12 /* u1 */
iload 13 /* u2 */
if_icmpne 16
15: .line 1398
goto 19
16: .line 1404
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 18
17: .line 1405
goto 19
end local 13 // char u2
end local 12 // char u1
18: .line 1408
StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 11 // char c2
end local 10 // char c1
19: .line 1384
StackMap locals:
StackMap stack:
iload 5 /* len */
iinc 5 /* len */ -1
ifgt 7
20: .line 1410
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 21 0 this Ljava/lang/String;
0 21 1 ignoreCase Z
0 21 2 toffset I
0 21 3 other Ljava/lang/String;
0 21 4 ooffset I
0 21 5 len I
1 21 6 ta [C
2 21 7 to I
3 21 8 pa [C
4 21 9 po I
8 19 10 c1 C
9 19 11 c2 C
13 18 12 u1 C
14 18 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 1431
aload 0 /* this */
getfield java.lang.String.value:[C
astore 3 /* ta */
start local 3 // char[] ta
1: .line 1432
aload 0 /* this */
getfield java.lang.String.offset:I
iload 2 /* toffset */
iadd
istore 4 /* to */
start local 4 // int to
2: .line 1433
aload 1 /* prefix */
getfield java.lang.String.value:[C
astore 5 /* pa */
start local 5 // char[] pa
3: .line 1434
aload 1 /* prefix */
getfield java.lang.String.offset:I
istore 6 /* po */
start local 6 // int po
4: .line 1435
aload 1 /* prefix */
getfield java.lang.String.count:I
istore 7 /* pc */
start local 7 // int pc
5: .line 1437
iload 2 /* toffset */
iflt 6
iload 2 /* toffset */
aload 0 /* this */
getfield java.lang.String.count:I
iload 7 /* pc */
isub
if_icmple 9
6: .line 1438
StackMap locals: java.lang.String java.lang.String int char[] int char[] int int
StackMap stack:
iconst_0
ireturn
7: .line 1441
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 1442
iconst_0
ireturn
9: .line 1440
StackMap locals:
StackMap stack:
iinc 7 /* pc */ -1
iload 7 /* pc */
ifge 7
10: .line 1445
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 1462
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 1477
aload 0 /* this */
aload 1 /* suffix */
aload 0 /* this */
getfield java.lang.String.count:I
aload 1 /* suffix */
getfield java.lang.String.count:I
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=6, args_size=1
start local 0 // java.lang.String this
0: .line 1494
aload 0 /* this */
getfield java.lang.String.hash:I
istore 1 /* h */
start local 1 // int h
1: .line 1495
iload 1 /* h */
ifne 11
2: .line 1496
aload 0 /* this */
getfield java.lang.String.offset:I
istore 2 /* off */
start local 2 // int off
3: .line 1497
aload 0 /* this */
getfield java.lang.String.value:[C
astore 3 /* val */
start local 3 // char[] val
4: .line 1498
aload 0 /* this */
getfield java.lang.String.count:I
istore 4 /* len */
start local 4 // int len
5: .line 1500
iconst_0
istore 5 /* i */
start local 5 // int i
6: goto 9
7: .line 1501
StackMap locals: java.lang.String int int char[] int int
StackMap stack:
bipush 31
iload 1 /* h */
imul
aload 3 /* val */
iload 2 /* off */
iinc 2 /* off */ 1
caload
iadd
istore 1 /* h */
8: .line 1500
iinc 5 /* i */ 1
StackMap locals:
StackMap stack:
9: iload 5 /* i */
iload 4 /* len */
if_icmplt 7
end local 5 // int i
10: .line 1503
aload 0 /* this */
iload 1 /* h */
putfield java.lang.String.hash:I
end local 4 // int len
end local 3 // char[] val
end local 2 // int off
11: .line 1505
StackMap locals: java.lang.String int
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 12 0 this Ljava/lang/String;
1 12 1 h I
3 11 2 off I
4 11 3 val [C
5 11 4 len I
6 10 5 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 1533
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=7, args_size=3
start local 0 // java.lang.String this
start local 1 // int ch
start local 2 // int fromIndex
0: .line 1576
aload 0 /* this */
getfield java.lang.String.offset:I
aload 0 /* this */
getfield java.lang.String.count:I
iadd
istore 3 /* max */
start local 3 // int max
1: .line 1577
aload 0 /* this */
getfield java.lang.String.value:[C
astore 4 /* v */
start local 4 // char[] v
2: .line 1579
iload 2 /* fromIndex */
ifge 5
3: .line 1580
iconst_0
istore 2 /* fromIndex */
4: .line 1581
goto 7
StackMap locals: int char[]
StackMap stack:
5: iload 2 /* fromIndex */
aload 0 /* this */
getfield java.lang.String.count:I
if_icmplt 7
6: .line 1583
iconst_m1
ireturn
7: .line 1586
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield java.lang.String.offset:I
iload 2 /* fromIndex */
iadd
istore 5 /* i */
start local 5 // int i
8: .line 1587
iload 1 /* ch */
ldc 65536
if_icmpge 15
9: .line 1590
goto 13
10: .line 1591
StackMap locals: int
StackMap stack:
aload 4 /* v */
iload 5 /* i */
caload
iload 1 /* ch */
if_icmpne 12
11: .line 1592
iload 5 /* i */
aload 0 /* this */
getfield java.lang.String.offset:I
isub
ireturn
12: .line 1590
StackMap locals:
StackMap stack:
iinc 5 /* i */ 1
StackMap locals:
StackMap stack:
13: iload 5 /* i */
iload 3 /* max */
if_icmplt 10
14: .line 1595
iconst_m1
ireturn
15: .line 1598
StackMap locals:
StackMap stack:
iload 1 /* ch */
ldc 1114111
if_icmpgt 25
16: .line 1600
iload 1 /* ch */
invokestatic java.lang.Character.toChars:(I)[C
astore 6 /* surrogates */
start local 6 // char[] surrogates
17: .line 1601
goto 24
18: .line 1602
StackMap locals: char[]
StackMap stack:
aload 4 /* v */
iload 5 /* i */
caload
aload 6 /* surrogates */
iconst_0
caload
if_icmpne 23
19: .line 1603
iload 5 /* i */
iconst_1
iadd
iload 3 /* max */
if_icmpne 21
20: .line 1604
goto 25
21: .line 1606
StackMap locals:
StackMap stack:
aload 4 /* v */
iload 5 /* i */
iconst_1
iadd
caload
aload 6 /* surrogates */
iconst_1
caload
if_icmpne 23
22: .line 1607
iload 5 /* i */
aload 0 /* this */
getfield java.lang.String.offset:I
isub
ireturn
23: .line 1601
StackMap locals:
StackMap stack:
iinc 5 /* i */ 1
StackMap locals:
StackMap stack:
24: iload 5 /* i */
iload 3 /* max */
if_icmplt 18
end local 6 // char[] surrogates
25: .line 1612
StackMap locals:
StackMap stack:
iconst_m1
ireturn
end local 5 // int i
end local 4 // char[] v
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 26 0 this Ljava/lang/String;
0 26 1 ch I
0 26 2 fromIndex I
1 26 3 max I
2 26 4 v [C
8 26 5 i I
17 25 6 surrogates [C
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 1639
aload 0 /* this */
iload 1 /* ch */
aload 0 /* this */
getfield java.lang.String.count:I
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=8, args_size=3
start local 0 // java.lang.String this
start local 1 // int ch
start local 2 // int fromIndex
0: .line 1677
aload 0 /* this */
getfield java.lang.String.offset:I
istore 3 /* min */
start local 3 // int min
1: .line 1678
aload 0 /* this */
getfield java.lang.String.value:[C
astore 4 /* v */
start local 4 // char[] v
2: .line 1680
aload 0 /* this */
getfield java.lang.String.offset:I
iload 2 /* fromIndex */
aload 0 /* this */
getfield java.lang.String.count:I
if_icmplt 3
aload 0 /* this */
getfield java.lang.String.count:I
iconst_1
isub
goto 4
StackMap locals: java.lang.String int int int char[]
StackMap stack: int
3: iload 2 /* fromIndex */
StackMap locals: java.lang.String int int int char[]
StackMap stack: int int
4: iadd
istore 5 /* i */
start local 5 // int i
5: .line 1682
iload 1 /* ch */
ldc 65536
if_icmpge 12
6: .line 1685
goto 10
7: .line 1686
StackMap locals: int
StackMap stack:
aload 4 /* v */
iload 5 /* i */
caload
iload 1 /* ch */
if_icmpne 9
8: .line 1687
iload 5 /* i */
aload 0 /* this */
getfield java.lang.String.offset:I
isub
ireturn
9: .line 1685
StackMap locals:
StackMap stack:
iinc 5 /* i */ -1
StackMap locals:
StackMap stack:
10: iload 5 /* i */
iload 3 /* min */
if_icmpge 7
11: .line 1690
iconst_m1
ireturn
12: .line 1693
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield java.lang.String.offset:I
aload 0 /* this */
getfield java.lang.String.count:I
iadd
istore 6 /* max */
start local 6 // int max
13: .line 1694
iload 1 /* ch */
ldc 1114111
if_icmpgt 23
14: .line 1696
iload 1 /* ch */
invokestatic java.lang.Character.toChars:(I)[C
astore 7 /* surrogates */
start local 7 // char[] surrogates
15: .line 1697
goto 22
16: .line 1698
StackMap locals: int char[]
StackMap stack:
aload 4 /* v */
iload 5 /* i */
caload
aload 7 /* surrogates */
iconst_0
caload
if_icmpne 21
17: .line 1699
iload 5 /* i */
iconst_1
iadd
iload 6 /* max */
if_icmpne 19
18: .line 1700
goto 23
19: .line 1702
StackMap locals:
StackMap stack:
aload 4 /* v */
iload 5 /* i */
iconst_1
iadd
caload
aload 7 /* surrogates */
iconst_1
caload
if_icmpne 21
20: .line 1703
iload 5 /* i */
aload 0 /* this */
getfield java.lang.String.offset:I
isub
ireturn
21: .line 1697
StackMap locals:
StackMap stack:
iinc 5 /* i */ -1
StackMap locals:
StackMap stack:
22: iload 5 /* i */
iload 3 /* min */
if_icmpge 16
end local 7 // char[] surrogates
23: .line 1708
StackMap locals:
StackMap stack:
iconst_m1
ireturn
end local 6 // int max
end local 5 // int i
end local 4 // char[] v
end local 3 // int min
end local 2 // int fromIndex
end local 1 // int ch
end local 0 // java.lang.String this
LocalVariableTable:
Start End Slot Name Signature
0 24 0 this Ljava/lang/String;
0 24 1 ch I
0 24 2 fromIndex I
1 24 3 min I
2 24 4 v [C
5 24 5 i I
13 24 6 max I
15 23 7 surrogates [C
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 1727
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 1745
aload 0 /* this */
getfield java.lang.String.value:[C
aload 0 /* this */
getfield java.lang.String.offset:I
aload 0 /* this */
getfield java.lang.String.count:I
1: .line 1746
aload 1 /* str */
getfield java.lang.String.value:[C
aload 1 /* str */
getfield java.lang.String.offset:I
aload 1 /* str */
getfield java.lang.String.count:I
iload 2 /* fromIndex */
2: .line 1745
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 1765
iload 6 /* fromIndex */
iload 2 /* sourceCount */
if_icmplt 4
1: .line 1766
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 1768
StackMap locals:
StackMap stack:
iload 6 /* fromIndex */
ifge 6
5: .line 1769
iconst_0
istore 6 /* fromIndex */
6: .line 1771
StackMap locals:
StackMap stack:
iload 5 /* targetCount */
ifne 8
7: .line 1772
iload 6 /* fromIndex */
ireturn
8: .line 1775
StackMap locals:
StackMap stack:
aload 3 /* target */
iload 4 /* targetOffset */
caload
istore 7 /* first */
start local 7 // char first
9: .line 1776
iload 1 /* sourceOffset */
iload 2 /* sourceCount */
iload 5 /* targetCount */
isub
iadd
istore 8 /* max */
start local 8 // int max
10: .line 1778
iload 1 /* sourceOffset */
iload 6 /* fromIndex */
iadd
istore 9 /* i */
start local 9 // int i
11: goto 25
12: .line 1780
StackMap locals: int int int
StackMap stack:
aload 0 /* source */
iload 9 /* i */
caload
iload 7 /* first */
if_icmpeq 14
13: .line 1781
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 1785
StackMap locals:
StackMap stack:
iload 9 /* i */
iload 8 /* max */
if_icmpgt 24
15: .line 1786
iload 9 /* i */
iconst_1
iadd
istore 10 /* j */
start local 10 // int j
16: .line 1787
iload 10 /* j */
iload 5 /* targetCount */
iadd
iconst_1
isub
istore 11 /* end */
start local 11 // int end
17: .line 1788
iload 4 /* targetOffset */
iconst_1
iadd
istore 12 /* k */
start local 12 // int k
18: goto 20
19: .line 1789
StackMap locals: int int int
StackMap stack:
iinc 10 /* j */ 1
iinc 12 /* k */ 1
20: .line 1788
StackMap locals:
StackMap stack:
iload 10 /* j */
iload 11 /* end */
if_icmpge 22
aload 0 /* source */
iload 10 /* j */
caload
21: .line 1789
aload 3 /* target */
iload 12 /* k */
caload
if_icmpeq 19
end local 12 // int k
22: .line 1791
StackMap locals:
StackMap stack:
iload 10 /* j */
iload 11 /* end */
if_icmpne 24
23: .line 1793
iload 9 /* i */
iload 1 /* sourceOffset */
isub
ireturn
end local 11 // int end
end local 10 // int j
24: .line 1778
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 1797
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 1817
aload 0 /* this */
aload 1 /* str */
aload 0 /* this */
getfield java.lang.String.count:I
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 1835
aload 0 /* this */
getfield java.lang.String.value:[C
aload 0 /* this */
getfield java.lang.String.offset:I
aload 0 /* this */
getfield java.lang.String.count:I
1: .line 1836
aload 1 /* str */
getfield java.lang.String.value:[C
aload 1 /* str */
getfield java.lang.String.offset:I
aload 1 /* str */
getfield java.lang.String.count:I
iload 2 /* fromIndex */
2: .line 1835
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 1859
iload 2 /* sourceCount */
iload 5 /* targetCount */
isub
istore 7 /* rightIndex */
start local 7 // int rightIndex
1: .line 1860
iload 6 /* fromIndex */
ifge 3
2: .line 1861
iconst_m1
ireturn
3: .line 1863
StackMap locals: int
StackMap stack:
iload 6 /* fromIndex */
iload 7 /* rightIndex */
if_icmple 5
4: .line 1864
iload 7 /* rightIndex */
istore 6 /* fromIndex */
5: .line 1867
StackMap locals:
StackMap stack:
iload 5 /* targetCount */
ifne 7
6: .line 1868
iload 6 /* fromIndex */
ireturn
7: .line 1871
StackMap locals:
StackMap stack:
iload 4 /* targetOffset */
iload 5 /* targetCount */
iadd
iconst_1
isub
istore 8 /* strLastIndex */
start local 8 // int strLastIndex
8: .line 1872
aload 3 /* target */
iload 8 /* strLastIndex */
caload
istore 9 /* strLastChar */
start local 9 // char strLastChar
9: .line 1873
iload 1 /* sourceOffset */
iload 5 /* targetCount */
iadd
iconst_1
isub
istore 10 /* min */
start local 10 // int min
10: .line 1874
iload 10 /* min */
iload 6 /* fromIndex */
iadd
istore 11 /* i */
start local 11 // int i
11: .line 1878
goto 13
12: .line 1879
StackMap locals: char[] int int char[] int int int int int int int int
StackMap stack:
iinc 11 /* i */ -1
13: .line 1878
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 1881
StackMap locals:
StackMap stack:
iload 11 /* i */
iload 10 /* min */
if_icmpge 16
15: .line 1882
iconst_m1
ireturn
16: .line 1884
StackMap locals:
StackMap stack:
iload 11 /* i */
iconst_1
isub
istore 12 /* j */
start local 12 // int j
17: .line 1885
iload 12 /* j */
iload 5 /* targetCount */
iconst_1
isub
isub
istore 13 /* start */
start local 13 // int start
18: .line 1886
iload 8 /* strLastIndex */
iconst_1
isub
istore 14 /* k */
start local 14 // int k
19: .line 1888
goto 23
20: .line 1889
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 1890
iinc 11 /* i */ -1
22: .line 1891
goto 25
23: .line 1888
StackMap locals:
StackMap stack:
iload 12 /* j */
iload 13 /* start */
if_icmpgt 20
24: .line 1894
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 1877
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=3, locals=2, args_size=2
start local 0 // java.lang.String this
start local 1 // int beginIndex
0: .line 1916
aload 0 /* this */
iload 1 /* beginIndex */
aload 0 /* this */
getfield java.lang.String.count:I
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
areturn
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
MethodParameters:
Name Flags
beginIndex
public java.lang.String substring(int, int);
descriptor: (II)Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=3
start local 0 // java.lang.String this
start local 1 // int beginIndex
start local 2 // int endIndex
0: .line 1942
iload 1 /* beginIndex */
ifge 2
1: .line 1943
new java.lang.StringIndexOutOfBoundsException
dup
iload 1 /* beginIndex */
invokespecial java.lang.StringIndexOutOfBoundsException.<init>:(I)V
athrow
2: .line 1945
StackMap locals:
StackMap stack:
iload 2 /* endIndex */
aload 0 /* this */
getfield java.lang.String.count:I
if_icmple 4
3: .line 1946
new java.lang.StringIndexOutOfBoundsException
dup
iload 2 /* endIndex */
invokespecial java.lang.StringIndexOutOfBoundsException.<init>:(I)V
athrow
4: .line 1948
StackMap locals:
StackMap stack:
iload 1 /* beginIndex */
iload 2 /* endIndex */
if_icmple 6
5: .line 1949
new java.lang.StringIndexOutOfBoundsException
dup
iload 2 /* endIndex */
iload 1 /* beginIndex */
isub
invokespecial java.lang.StringIndexOutOfBoundsException.<init>:(I)V
athrow
6: .line 1951
StackMap locals:
StackMap stack:
iload 1 /* beginIndex */
ifne 7
iload 2 /* endIndex */
aload 0 /* this */
getfield java.lang.String.count:I
if_icmpne 7
aload 0 /* this */
goto 8
7: .line 1952
StackMap locals:
StackMap stack:
new java.lang.String
dup
aload 0 /* this */
getfield java.lang.String.offset:I
iload 1 /* beginIndex */
iadd
iload 2 /* endIndex */
iload 1 /* beginIndex */
isub
aload 0 /* this */
getfield java.lang.String.value:[C
invokespecial java.lang.String.<init>:(II[C)V
8: .line 1951
StackMap locals:
StackMap stack: java.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 9 0 this Ljava/lang/String;
0 9 1 beginIndex I
0 9 2 endIndex 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 1984
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=5, locals=4, args_size=2
start local 0 // java.lang.String this
start local 1 // java.lang.String str
0: .line 2008
aload 1 /* str */
invokevirtual java.lang.String.length:()I
istore 2 /* otherLen */
start local 2 // int otherLen
1: .line 2009
iload 2 /* otherLen */
ifne 3
2: .line 2010
aload 0 /* this */
areturn
3: .line 2012
StackMap locals: int
StackMap stack:
aload 0 /* this */
getfield java.lang.String.count:I
iload 2 /* otherLen */
iadd
newarray 5
astore 3 /* buf */
start local 3 // char[] buf
4: .line 2013
aload 0 /* this */
iconst_0
aload 0 /* this */
getfield java.lang.String.count:I
aload 3 /* buf */
iconst_0
invokevirtual java.lang.String.getChars:(II[CI)V
5: .line 2014
aload 1 /* str */
iconst_0
iload 2 /* otherLen */
aload 3 /* buf */
aload 0 /* this */
getfield java.lang.String.count:I
invokevirtual java.lang.String.getChars:(II[CI)V
6: .line 2015
new java.lang.String
dup
iconst_0
aload 0 /* this */
getfield java.lang.String.count:I
iload 2 /* otherLen */
iadd
aload 3 /* buf */
invokespecial java.lang.String.<init>:(II[C)V
areturn
end local 3 // char[] buf
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 buf [C
MethodParameters:
Name Flags
str
public java.lang.String replace(char, char);
descriptor: (CC)Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=9, args_size=3
start local 0 // java.lang.String this
start local 1 // char oldChar
start local 2 // char newChar
0: .line 2048
iload 1 /* oldChar */
iload 2 /* newChar */
if_icmpeq 24
1: .line 2049
aload 0 /* this */
getfield java.lang.String.count:I
istore 3 /* len */
start local 3 // int len
2: .line 2050
iconst_m1
istore 4 /* i */
start local 4 // int i
3: .line 2051
aload 0 /* this */
getfield java.lang.String.value:[C
astore 5 /* val */
start local 5 // char[] val
4: .line 2052
aload 0 /* this */
getfield java.lang.String.offset:I
istore 6 /* off */
start local 6 // int off
5: .line 2054
goto 8
6: .line 2055
StackMap locals: java.lang.String int int int int char[] int
StackMap stack:
aload 5 /* val */
iload 6 /* off */
iload 4 /* i */
iadd
caload
iload 1 /* oldChar */
if_icmpne 8
7: .line 2056
goto 9
8: .line 2054
StackMap locals:
StackMap stack:
iinc 4 /* i */ 1
iload 4 /* i */
iload 3 /* len */
if_icmplt 6
9: .line 2059
StackMap locals:
StackMap stack:
iload 4 /* i */
iload 3 /* len */
if_icmpge 24
10: .line 2060
iload 3 /* len */
newarray 5
astore 7 /* buf */
start local 7 // char[] buf
11: .line 2061
iconst_0
istore 8 /* j */
start local 8 // int j
12: goto 15
13: .line 2062
StackMap locals: char[] int
StackMap stack:
aload 7 /* buf */
iload 8 /* j */
aload 5 /* val */
iload 6 /* off */
iload 8 /* j */
iadd
caload
castore
14: .line 2061
iinc 8 /* j */ 1
StackMap locals:
StackMap stack:
15: iload 8 /* j */
iload 4 /* i */
if_icmplt 13
end local 8 // int j
16: .line 2064
goto 22
17: .line 2065
StackMap locals:
StackMap stack:
aload 5 /* val */
iload 6 /* off */
iload 4 /* i */
iadd
caload
istore 8 /* c */
start local 8 // char c
18: .line 2066
aload 7 /* buf */
iload 4 /* i */
iload 8 /* c */
iload 1 /* oldChar */
if_icmpne 19
iload 2 /* newChar */
goto 20
StackMap locals: java.lang.String int int int int char[] int char[] int
StackMap stack: char[] int
19: iload 8 /* c */
StackMap locals: java.lang.String int int int int char[] int char[] int
StackMap stack: char[] int int
20: castore
21: .line 2067
iinc 4 /* i */ 1
end local 8 // char c
22: .line 2064
StackMap locals:
StackMap stack:
iload 4 /* i */
iload 3 /* len */
if_icmplt 17
23: .line 2069
new java.lang.String
dup
iconst_0
iload 3 /* len */
aload 7 /* buf */
invokespecial java.lang.String.<init>:(II[C)V
areturn
end local 7 // char[] buf
end local 6 // int off
end local 5 // char[] val
end local 4 // int i
end local 3 // int len
24: .line 2072
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 25 0 this Ljava/lang/String;
0 25 1 oldChar C
0 25 2 newChar C
2 24 3 len I
3 24 4 i I
4 24 5 val [C
5 24 6 off I
11 24 7 buf [C
12 16 8 j I
18 22 8 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 2102
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 2115
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 2158
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 2201
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 2219
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 2220
aload 0 /* this */
2: .line 2219
invokevirtual java.util.regex.Pattern.matcher:(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
3: .line 2220
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 2219
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=3, locals=3, args_size=3
start local 0 // java.lang.String this
start local 1 // java.lang.String regex
start local 2 // int limit
0: .line 2304
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 2 // int limit
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 limit I
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 2346
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=14, args_size=2
start local 0 // java.lang.String this
start local 1 // java.util.Locale locale
0: .line 2402
aload 1 /* locale */
ifnonnull 2
1: .line 2403
new java.lang.NullPointerException
dup
invokespecial java.lang.NullPointerException.<init>:()V
athrow
2: .line 2410
StackMap locals:
StackMap stack:
iconst_0
istore 2 /* firstUpper */
start local 2 // int firstUpper
3: goto 15
4: .line 2411
StackMap locals: int
StackMap stack:
aload 0 /* this */
getfield java.lang.String.value:[C
aload 0 /* this */
getfield java.lang.String.offset:I
iload 2 /* firstUpper */
iadd
caload
istore 3 /* c */
start local 3 // char c
5: .line 2412
iload 3 /* c */
ldc 55296
if_icmplt 12
6: .line 2413
iload 3 /* c */
ldc 56319
if_icmpgt 12
7: .line 2414
aload 0 /* this */
iload 2 /* firstUpper */
invokevirtual java.lang.String.codePointAt:(I)I
istore 4 /* supplChar */
start local 4 // int supplChar
8: .line 2415
iload 4 /* supplChar */
iload 4 /* supplChar */
invokestatic java.lang.Character.toLowerCase:(I)I
if_icmpeq 10
9: .line 2416
goto 17
10: .line 2418
StackMap locals: int int
StackMap stack:
iload 2 /* firstUpper */
iload 4 /* supplChar */
invokestatic java.lang.Character.charCount:(I)I
iadd
istore 2 /* firstUpper */
end local 4 // int supplChar
11: .line 2419
goto 15
12: .line 2420
StackMap locals:
StackMap stack:
iload 3 /* c */
iload 3 /* c */
invokestatic java.lang.Character.toLowerCase:(C)C
if_icmpeq 14
13: .line 2421
goto 17
14: .line 2423
StackMap locals:
StackMap stack:
iinc 2 /* firstUpper */ 1
end local 3 // char c
15: .line 2410
StackMap locals:
StackMap stack:
iload 2 /* firstUpper */
aload 0 /* this */
getfield java.lang.String.count:I
if_icmplt 4
16: .line 2426
aload 0 /* this */
areturn
17: .line 2429
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield java.lang.String.count:I
newarray 5
astore 3 /* result */
start local 3 // char[] result
18: .line 2430
iconst_0
istore 4 /* resultOffset */
start local 4 // int resultOffset
19: .line 2434
aload 0 /* this */
getfield java.lang.String.value:[C
aload 0 /* this */
getfield java.lang.String.offset:I
aload 3 /* result */
iconst_0
iload 2 /* firstUpper */
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
20: .line 2436
aload 1 /* locale */
invokevirtual java.util.Locale.getLanguage:()Ljava/lang/String;
astore 5 /* lang */
start local 5 // java.lang.String lang
21: .line 2438
aload 5 /* lang */
ldc "tr"
if_acmpeq 23
aload 5 /* lang */
ldc "az"
if_acmpeq 23
aload 5 /* lang */
ldc "lt"
if_acmpeq 23
22: .line 2437
iconst_0
goto 24
StackMap locals: char[] int java.lang.String
StackMap stack:
23: iconst_1
StackMap locals:
StackMap stack: int
24: istore 6 /* localeDependent */
start local 6 // boolean localeDependent
25: .line 2443
iload 2 /* firstUpper */
istore 11 /* i */
start local 11 // int i
26: goto 64
27: .line 2444
StackMap locals: java.lang.String java.util.Locale int char[] int java.lang.String int top top top top int
StackMap stack:
aload 0 /* this */
getfield java.lang.String.value:[C
aload 0 /* this */
getfield java.lang.String.offset:I
iload 11 /* i */
iadd
caload
istore 9 /* srcChar */
start local 9 // int srcChar
28: .line 2445
iload 9 /* srcChar */
i2c
ldc 55296
if_icmplt 33
29: .line 2446
iload 9 /* srcChar */
i2c
ldc 56319
if_icmpgt 33
30: .line 2447
aload 0 /* this */
iload 11 /* i */
invokevirtual java.lang.String.codePointAt:(I)I
istore 9 /* srcChar */
31: .line 2448
iload 9 /* srcChar */
invokestatic java.lang.Character.charCount:(I)I
istore 10 /* srcCount */
start local 10 // int srcCount
32: .line 2449
goto 34
end local 10 // int srcCount
33: .line 2450
StackMap locals: java.lang.String java.util.Locale int char[] int java.lang.String int top top int top int
StackMap stack:
iconst_1
istore 10 /* srcCount */
start local 10 // int srcCount
34: .line 2452
StackMap locals: java.lang.String java.util.Locale int char[] int java.lang.String int top top int int int
StackMap stack:
iload 6 /* localeDependent */
ifne 35
iload 9 /* srcChar */
sipush 931
if_icmpne 37
35: .line 2453
StackMap locals:
StackMap stack:
aload 0 /* this */
iload 11 /* i */
aload 1 /* locale */
invokestatic java.lang.ConditionalSpecialCasing.toLowerCaseEx:(Ljava/lang/String;ILjava/util/Locale;)I
istore 8 /* lowerChar */
start local 8 // int lowerChar
36: .line 2454
goto 38
end local 8 // int lowerChar
37: .line 2455
StackMap locals:
StackMap stack:
iload 9 /* srcChar */
invokestatic java.lang.Character.toLowerCase:(I)I
istore 8 /* lowerChar */
start local 8 // int lowerChar
38: .line 2457
StackMap locals: java.lang.String java.util.Locale int char[] int java.lang.String int top int int int int
StackMap stack:
iload 8 /* lowerChar */
iconst_m1
if_icmpeq 40
39: .line 2458
iload 8 /* lowerChar */
ldc 65536
if_icmplt 62
40: .line 2459
StackMap locals:
StackMap stack:
iload 8 /* lowerChar */
iconst_m1
if_icmpne 44
41: .line 2461
aload 0 /* this */
iload 11 /* i */
aload 1 /* locale */
invokestatic java.lang.ConditionalSpecialCasing.toLowerCaseCharArray:(Ljava/lang/String;ILjava/util/Locale;)[C
42: .line 2460
astore 7 /* lowerCharArray */
start local 7 // char[] lowerCharArray
43: .line 2462
goto 48
end local 7 // char[] lowerCharArray
StackMap locals:
StackMap stack:
44: iload 10 /* srcCount */
iconst_2
if_icmpne 47
45: .line 2463
iload 4 /* resultOffset */
iload 8 /* lowerChar */
aload 3 /* result */
iload 11 /* i */
iload 4 /* resultOffset */
iadd
invokestatic java.lang.Character.toChars:(I[CI)I
iload 10 /* srcCount */
isub
iadd
istore 4 /* resultOffset */
46: .line 2464
goto 63
47: .line 2466
StackMap locals:
StackMap stack:
iload 8 /* lowerChar */
invokestatic java.lang.Character.toChars:(I)[C
astore 7 /* lowerCharArray */
start local 7 // char[] lowerCharArray
48: .line 2470
StackMap locals: java.lang.String java.util.Locale int char[] int java.lang.String int char[] int int int int
StackMap stack:
aload 7 /* lowerCharArray */
arraylength
istore 12 /* mapLen */
start local 12 // int mapLen
49: .line 2471
iload 12 /* mapLen */
iload 10 /* srcCount */
if_icmple 55
50: .line 2472
aload 3 /* result */
arraylength
iload 12 /* mapLen */
iadd
iload 10 /* srcCount */
isub
newarray 5
astore 13 /* result2 */
start local 13 // char[] result2
51: .line 2473
aload 3 /* result */
iconst_0
aload 13 /* result2 */
iconst_0
52: .line 2474
iload 11 /* i */
iload 4 /* resultOffset */
iadd
53: .line 2473
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
54: .line 2475
aload 13 /* result2 */
astore 3 /* result */
end local 13 // char[] result2
55: .line 2477
StackMap locals: int
StackMap stack:
iconst_0
istore 13 /* x */
start local 13 // int x
56: goto 59
57: .line 2478
StackMap locals: int
StackMap stack:
aload 3 /* result */
iload 11 /* i */
iload 4 /* resultOffset */
iadd
iload 13 /* x */
iadd
aload 7 /* lowerCharArray */
iload 13 /* x */
caload
castore
58: .line 2477
iinc 13 /* x */ 1
StackMap locals:
StackMap stack:
59: iload 13 /* x */
iload 12 /* mapLen */
if_icmplt 57
end local 13 // int x
60: .line 2480
iload 4 /* resultOffset */
iload 12 /* mapLen */
iload 10 /* srcCount */
isub
iadd
istore 4 /* resultOffset */
end local 12 // int mapLen
61: .line 2481
goto 63
end local 7 // char[] lowerCharArray
62: .line 2482
StackMap locals: java.lang.String java.util.Locale int char[] int java.lang.String int top int int int int
StackMap stack:
aload 3 /* result */
iload 11 /* i */
iload 4 /* resultOffset */
iadd
iload 8 /* lowerChar */
i2c
castore
63: .line 2443
StackMap locals:
StackMap stack:
iload 11 /* i */
iload 10 /* srcCount */
iadd
istore 11 /* i */
end local 10 // int srcCount
end local 9 // int srcChar
end local 8 // int lowerChar
StackMap locals: java.lang.String java.util.Locale int char[] int java.lang.String int top top top top int
StackMap stack:
64: iload 11 /* i */
aload 0 /* this */
getfield java.lang.String.count:I
if_icmplt 27
end local 11 // int i
65: .line 2485
new java.lang.String
dup
iconst_0
aload 0 /* this */
getfield java.lang.String.count:I
iload 4 /* resultOffset */
iadd
aload 3 /* result */
invokespecial java.lang.String.<init>:(II[C)V
areturn
end local 6 // boolean localeDependent
end local 5 // java.lang.String lang
end local 4 // int resultOffset
end local 3 // char[] result
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 66 0 this Ljava/lang/String;
0 66 1 locale Ljava/util/Locale;
3 66 2 firstUpper I
5 15 3 c C
8 11 4 supplChar I
18 66 3 result [C
19 66 4 resultOffset I
21 66 5 lang Ljava/lang/String;
25 66 6 localeDependent Z
43 44 7 lowerCharArray [C
48 62 7 lowerCharArray [C
36 37 8 lowerChar I
38 64 8 lowerChar I
28 64 9 srcChar I
32 33 10 srcCount I
34 64 10 srcCount I
26 65 11 i I
49 61 12 mapLen I
51 55 13 result2 [C
56 60 13 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 2508
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=14, args_size=2
start local 0 // java.lang.String this
start local 1 // java.util.Locale locale
0: .line 2560
aload 1 /* locale */
ifnonnull 2
1: .line 2561
new java.lang.NullPointerException
dup
invokespecial java.lang.NullPointerException.<init>:()V
athrow
2: .line 2568
StackMap locals:
StackMap stack:
iconst_0
istore 2 /* firstLower */
start local 2 // int firstLower
3: goto 16
4: .line 2569
StackMap locals: int
StackMap stack:
aload 0 /* this */
getfield java.lang.String.value:[C
aload 0 /* this */
getfield java.lang.String.offset:I
iload 2 /* firstLower */
iadd
caload
istore 3 /* c */
start local 3 // int c
5: .line 2571
iload 3 /* c */
ldc 55296
if_icmplt 10
6: .line 2572
iload 3 /* c */
ldc 56319
if_icmpgt 10
7: .line 2573
aload 0 /* this */
iload 2 /* firstLower */
invokevirtual java.lang.String.codePointAt:(I)I
istore 3 /* c */
8: .line 2574
iload 3 /* c */
invokestatic java.lang.Character.charCount:(I)I
istore 4 /* srcCount */
start local 4 // int srcCount
9: .line 2575
goto 11
end local 4 // int srcCount
10: .line 2576
StackMap locals: int
StackMap stack:
iconst_1
istore 4 /* srcCount */
start local 4 // int srcCount
11: .line 2578
StackMap locals: int
StackMap stack:
iload 3 /* c */
invokestatic java.lang.Character.toUpperCaseEx:(I)I
istore 5 /* upperCaseChar */
start local 5 // int upperCaseChar
12: .line 2579
iload 5 /* upperCaseChar */
iconst_m1
if_icmpeq 18
13: .line 2580
iload 3 /* c */
iload 5 /* upperCaseChar */
if_icmpeq 15
14: .line 2581
goto 18
15: .line 2583
StackMap locals: int
StackMap stack:
iload 2 /* firstLower */
iload 4 /* srcCount */
iadd
istore 2 /* firstLower */
end local 5 // int upperCaseChar
end local 4 // int srcCount
end local 3 // int c
16: .line 2568
StackMap locals:
StackMap stack:
iload 2 /* firstLower */
aload 0 /* this */
getfield java.lang.String.count:I
if_icmplt 4
17: .line 2585
aload 0 /* this */
areturn
18: .line 2588
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield java.lang.String.count:I
newarray 5
astore 3 /* result */
start local 3 // char[] result
19: .line 2589
iconst_0
istore 4 /* resultOffset */
start local 4 // int resultOffset
20: .line 2593
aload 0 /* this */
getfield java.lang.String.value:[C
aload 0 /* this */
getfield java.lang.String.offset:I
aload 3 /* result */
iconst_0
iload 2 /* firstLower */
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
21: .line 2595
aload 1 /* locale */
invokevirtual java.util.Locale.getLanguage:()Ljava/lang/String;
astore 5 /* lang */
start local 5 // java.lang.String lang
22: .line 2597
aload 5 /* lang */
ldc "tr"
if_acmpeq 24
aload 5 /* lang */
ldc "az"
if_acmpeq 24
aload 5 /* lang */
ldc "lt"
if_acmpeq 24
23: .line 2596
iconst_0
goto 25
StackMap locals: char[] int java.lang.String
StackMap stack:
24: iconst_1
StackMap locals:
StackMap stack: int
25: istore 6 /* localeDependent */
start local 6 // boolean localeDependent
26: .line 2602
iload 2 /* firstLower */
istore 11 /* i */
start local 11 // int i
27: goto 68
28: .line 2603
StackMap locals: java.lang.String java.util.Locale int char[] int java.lang.String int top top top top int
StackMap stack:
aload 0 /* this */
getfield java.lang.String.value:[C
aload 0 /* this */
getfield java.lang.String.offset:I
iload 11 /* i */
iadd
caload
istore 9 /* srcChar */
start local 9 // int srcChar
29: .line 2604
iload 9 /* srcChar */
i2c
ldc 55296
if_icmplt 34
30: .line 2605
iload 9 /* srcChar */
i2c
ldc 56319
if_icmpgt 34
31: .line 2606
aload 0 /* this */
iload 11 /* i */
invokevirtual java.lang.String.codePointAt:(I)I
istore 9 /* srcChar */
32: .line 2607
iload 9 /* srcChar */
invokestatic java.lang.Character.charCount:(I)I
istore 10 /* srcCount */
start local 10 // int srcCount
33: .line 2608
goto 35
end local 10 // int srcCount
34: .line 2609
StackMap locals: java.lang.String java.util.Locale int char[] int java.lang.String int top top int top int
StackMap stack:
iconst_1
istore 10 /* srcCount */
start local 10 // int srcCount
35: .line 2611
StackMap locals: java.lang.String java.util.Locale int char[] int java.lang.String int top top int int int
StackMap stack:
iload 6 /* localeDependent */
ifeq 38
36: .line 2612
aload 0 /* this */
iload 11 /* i */
aload 1 /* locale */
invokestatic java.lang.ConditionalSpecialCasing.toUpperCaseEx:(Ljava/lang/String;ILjava/util/Locale;)I
istore 8 /* upperChar */
start local 8 // int upperChar
37: .line 2613
goto 39
end local 8 // int upperChar
38: .line 2614
StackMap locals:
StackMap stack:
iload 9 /* srcChar */
invokestatic java.lang.Character.toUpperCaseEx:(I)I
istore 8 /* upperChar */
start local 8 // int upperChar
39: .line 2616
StackMap locals: java.lang.String java.util.Locale int char[] int java.lang.String int top int int int int
StackMap stack:
iload 8 /* upperChar */
iconst_m1
if_icmpeq 41
40: .line 2617
iload 8 /* upperChar */
ldc 65536
if_icmplt 66
41: .line 2618
StackMap locals:
StackMap stack:
iload 8 /* upperChar */
iconst_m1
if_icmpne 48
42: .line 2619
iload 6 /* localeDependent */
ifeq 46
43: .line 2621
aload 0 /* this */
iload 11 /* i */
aload 1 /* locale */
invokestatic java.lang.ConditionalSpecialCasing.toUpperCaseCharArray:(Ljava/lang/String;ILjava/util/Locale;)[C
44: .line 2620
astore 7 /* upperCharArray */
start local 7 // char[] upperCharArray
45: .line 2622
goto 52
end local 7 // char[] upperCharArray
46: .line 2623
StackMap locals:
StackMap stack:
iload 9 /* srcChar */
invokestatic java.lang.Character.toUpperCaseCharArray:(I)[C
astore 7 /* upperCharArray */
start local 7 // char[] upperCharArray
47: .line 2625
goto 52
end local 7 // char[] upperCharArray
StackMap locals:
StackMap stack:
48: iload 10 /* srcCount */
iconst_2
if_icmpne 51
49: .line 2626
iload 4 /* resultOffset */
iload 8 /* upperChar */
aload 3 /* result */
iload 11 /* i */
iload 4 /* resultOffset */
iadd
invokestatic java.lang.Character.toChars:(I[CI)I
iload 10 /* srcCount */
isub
iadd
istore 4 /* resultOffset */
50: .line 2627
goto 67
51: .line 2629
StackMap locals:
StackMap stack:
iload 8 /* upperChar */
invokestatic java.lang.Character.toChars:(I)[C
astore 7 /* upperCharArray */
start local 7 // char[] upperCharArray
52: .line 2633
StackMap locals: java.lang.String java.util.Locale int char[] int java.lang.String int char[] int int int int
StackMap stack:
aload 7 /* upperCharArray */
arraylength
istore 12 /* mapLen */
start local 12 // int mapLen
53: .line 2634
iload 12 /* mapLen */
iload 10 /* srcCount */
if_icmple 59
54: .line 2635
aload 3 /* result */
arraylength
iload 12 /* mapLen */
iadd
iload 10 /* srcCount */
isub
newarray 5
astore 13 /* result2 */
start local 13 // char[] result2
55: .line 2636
aload 3 /* result */
iconst_0
aload 13 /* result2 */
iconst_0
56: .line 2637
iload 11 /* i */
iload 4 /* resultOffset */
iadd
57: .line 2636
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
58: .line 2638
aload 13 /* result2 */
astore 3 /* result */
end local 13 // char[] result2
59: .line 2640
StackMap locals: int
StackMap stack:
iconst_0
istore 13 /* x */
start local 13 // int x
60: goto 63
61: .line 2641
StackMap locals: int
StackMap stack:
aload 3 /* result */
iload 11 /* i */
iload 4 /* resultOffset */
iadd
iload 13 /* x */
iadd
aload 7 /* upperCharArray */
iload 13 /* x */
caload
castore
62: .line 2640
iinc 13 /* x */ 1
StackMap locals:
StackMap stack:
63: iload 13 /* x */
iload 12 /* mapLen */
if_icmplt 61
end local 13 // int x
64: .line 2643
iload 4 /* resultOffset */
iload 12 /* mapLen */
iload 10 /* srcCount */
isub
iadd
istore 4 /* resultOffset */
end local 12 // int mapLen
65: .line 2644
goto 67
end local 7 // char[] upperCharArray
66: .line 2645
StackMap locals: java.lang.String java.util.Locale int char[] int java.lang.String int top int int int int
StackMap stack:
aload 3 /* result */
iload 11 /* i */
iload 4 /* resultOffset */
iadd
iload 8 /* upperChar */
i2c
castore
67: .line 2602
StackMap locals:
StackMap stack:
iload 11 /* i */
iload 10 /* srcCount */
iadd
istore 11 /* i */
end local 10 // int srcCount
end local 9 // int srcChar
end local 8 // int upperChar
StackMap locals: java.lang.String java.util.Locale int char[] int java.lang.String int top top top top int
StackMap stack:
68: iload 11 /* i */
aload 0 /* this */
getfield java.lang.String.count:I
if_icmplt 28
end local 11 // int i
69: .line 2648
new java.lang.String
dup
iconst_0
aload 0 /* this */
getfield java.lang.String.count:I
iload 4 /* resultOffset */
iadd
aload 3 /* result */
invokespecial java.lang.String.<init>:(II[C)V
areturn
end local 6 // boolean localeDependent
end local 5 // java.lang.String lang
end local 4 // int resultOffset
end local 3 // char[] result
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 70 0 this Ljava/lang/String;
0 70 1 locale Ljava/util/Locale;
3 70 2 firstLower I
5 16 3 c I
9 10 4 srcCount I
11 16 4 srcCount I
12 16 5 upperCaseChar I
19 70 3 result [C
20 70 4 resultOffset I
22 70 5 lang Ljava/lang/String;
26 70 6 localeDependent Z
45 46 7 upperCharArray [C
47 48 7 upperCharArray [C
52 66 7 upperCharArray [C
37 38 8 upperChar I
39 68 8 upperChar I
29 68 9 srcChar I
33 34 10 srcCount I
35 68 10 srcCount I
27 69 11 i I
53 65 12 mapLen I
55 59 13 result2 [C
60 64 13 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 2671
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=5, args_size=1
start local 0 // java.lang.String this
0: .line 2706
aload 0 /* this */
getfield java.lang.String.count:I
istore 1 /* len */
start local 1 // int len
1: .line 2707
iconst_0
istore 2 /* st */
start local 2 // int st
2: .line 2708
aload 0 /* this */
getfield java.lang.String.offset:I
istore 3 /* off */
start local 3 // int off
3: .line 2709
aload 0 /* this */
getfield java.lang.String.value:[C
astore 4 /* val */
start local 4 // char[] val
4: .line 2711
goto 6
5: .line 2712
StackMap locals: java.lang.String int int int char[]
StackMap stack:
iinc 2 /* st */ 1
6: .line 2711
StackMap locals:
StackMap stack:
iload 2 /* st */
iload 1 /* len */
if_icmpge 9
aload 4 /* val */
iload 3 /* off */
iload 2 /* st */
iadd
caload
bipush 32
if_icmple 5
7: .line 2714
goto 9
8: .line 2715
StackMap locals:
StackMap stack:
iinc 1 /* len */ -1
9: .line 2714
StackMap locals:
StackMap stack:
iload 2 /* st */
iload 1 /* len */
if_icmpge 10
aload 4 /* val */
iload 3 /* off */
iload 1 /* len */
iadd
iconst_1
isub
caload
bipush 32
if_icmple 8
10: .line 2717
StackMap locals:
StackMap stack:
iload 2 /* st */
ifgt 11
iload 1 /* len */
aload 0 /* this */
getfield java.lang.String.count:I
if_icmpge 12
StackMap locals:
StackMap stack:
11: aload 0 /* this */
iload 2 /* st */
iload 1 /* len */
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
goto 13
StackMap locals:
StackMap stack:
12: aload 0 /* this */
StackMap locals:
StackMap stack: java.lang.String
13: areturn
end local 4 // char[] val
end local 3 // int off
end local 2 // int st
end local 1 // int len
end local 0 // java.lang.String this
LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Ljava/lang/String;
1 14 1 len I
2 14 2 st I
3 14 3 off I
4 14 4 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 2726
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 2737
aload 0 /* this */
getfield java.lang.String.count:I
newarray 5
astore 1 /* result */
start local 1 // char[] result
1: .line 2738
aload 0 /* this */
iconst_0
aload 0 /* this */
getfield java.lang.String.count:I
aload 1 /* result */
iconst_0
invokevirtual java.lang.String.getChars:(II[CI)V
2: .line 2739
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 2781
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 2825
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 2838
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 2852
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 2877
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 2892
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 2904
aload 0 /* data */
iconst_0
aload 0 /* data */
arraylength
invokestatic java.lang.String.copyValueOf:([CII)Ljava/lang/String;
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 2916
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=5, locals=2, args_size=1
start local 0 // char c
0: .line 2928
iconst_1
newarray 5
dup
iconst_0
iload 0 /* c */
castore
astore 1 /* data */
start local 1 // char[] data
1: .line 2929
new java.lang.String
dup
iconst_0
iconst_1
aload 1 /* data */
invokespecial java.lang.String.<init>:(II[C)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=2, locals=1, args_size=1
start local 0 // int i
0: .line 2943
iload 0 /* i */
bipush 10
invokestatic java.lang.Integer.toString:(II)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=3, locals=2, args_size=1
start local 0 // long l
0: .line 2957
lload 0 /* l */
bipush 10
invokestatic java.lang.Long.toString:(JI)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 2971
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 2985
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
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