public final class java.lang.String implements java.io.Serializable, java.lang.Comparable<java.lang.String>, java.lang.CharSequence
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: java.lang.String
super_class: java.lang.Object
{
private final char[] value;
descriptor: [C
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private int hash;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private static final long serialVersionUID;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: -6849794470754667710
private static final java.io.ObjectStreamField[] serialPersistentFields;
descriptor: [Ljava/io/ObjectStreamField;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
public static final java.util.Comparator<java.lang.String> CASE_INSENSITIVE_ORDER;
descriptor: Ljava/util/Comparator;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
Signature: Ljava/util/Comparator<Ljava/lang/String;>;
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: .line 130
iconst_0
anewarray java.io.ObjectStreamField
1: .line 129
putstatic java.lang.String.serialPersistentFields:[Ljava/io/ObjectStreamField;
2: .line 1185
new java.lang.String$CaseInsensitiveComparator
dup
invokespecial java.lang.String$CaseInsensitiveComparator.<init>:()V
3: .line 1184
putstatic java.lang.String.CASE_INSENSITIVE_ORDER:Ljava/util/Comparator;
4: .line 1185
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 137
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
1: .line 138
aload 0 /* this */
ldc ""
getfield java.lang.String.value:[C
putfield java.lang.String.value:[C
2: .line 139
return
end local 0 // java.lang.String this
LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljava/lang/String;
public void <init>(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 // java.lang.String this
start local 1 // java.lang.String original
0: .line 151
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
1: .line 152
aload 0 /* this */
aload 1 /* original */
getfield java.lang.String.value:[C
putfield java.lang.String.value:[C
2: .line 153
aload 0 /* this */
aload 1 /* original */
getfield java.lang.String.hash:I
putfield java.lang.String.hash:I
3: .line 154
return
end local 1 // java.lang.String original
end local 0 // java.lang.String this
LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljava/lang/String;
0 4 1 original Ljava/lang/String;
MethodParameters:
Name Flags
original
public void <init>(char[]);
descriptor: ([C)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 // java.lang.String this
start local 1 // char[] value
0: .line 165
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
1: .line 166
aload 0 /* this */
aload 1 /* value */
aload 1 /* value */
arraylength
invokestatic java.util.Arrays.copyOf:([CI)[C
putfield java.lang.String.value:[C
2: .line 167
return
end local 1 // char[] value
end local 0 // java.lang.String this
LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljava/lang/String;
0 3 1 value [C
MethodParameters:
Name Flags
value
public void <init>(char[], int, int);
descriptor: ([CII)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=4
start local 0 // java.lang.String this
start local 1 // char[] value
start local 2 // int offset
start local 3 // int count
0: .line 190
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
1: .line 191
iload 2 /* offset */
ifge 3
2: .line 192
new java.lang.StringIndexOutOfBoundsException
dup
iload 2 /* offset */
invokespecial java.lang.StringIndexOutOfBoundsException.<init>:(I)V
athrow
3: .line 194
StackMap locals: java.lang.String char[] int int
StackMap stack:
iload 3 /* count */
ifgt 9
4: .line 195
iload 3 /* count */
ifge 6
5: .line 196
new java.lang.StringIndexOutOfBoundsException
dup
iload 3 /* count */
invokespecial java.lang.StringIndexOutOfBoundsException.<init>:(I)V
athrow
6: .line 198
StackMap locals:
StackMap stack:
iload 2 /* offset */
aload 1 /* value */
arraylength
if_icmpgt 9
7: .line 199
aload 0 /* this */
ldc ""
getfield java.lang.String.value:[C
putfield java.lang.String.value:[C
8: .line 200
return
9: .line 204
StackMap locals:
StackMap stack:
iload 2 /* offset */
aload 1 /* value */
arraylength
iload 3 /* count */
isub
if_icmple 11
10: .line 205
new java.lang.StringIndexOutOfBoundsException
dup
iload 2 /* offset */
iload 3 /* count */
iadd
invokespecial java.lang.StringIndexOutOfBoundsException.<init>:(I)V
athrow
11: .line 207
StackMap locals:
StackMap stack:
aload 0 /* this */
aload 1 /* value */
iload 2 /* offset */
iload 2 /* offset */
iload 3 /* count */
iadd
invokestatic java.util.Arrays.copyOfRange:([CII)[C
putfield java.lang.String.value:[C
12: .line 208
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 13 0 this Ljava/lang/String;
0 13 1 value [C
0 13 2 offset I
0 13 3 count I
MethodParameters:
Name Flags
value
offset
count
public void <init>(int[], int, int);
descriptor: ([III)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=10, args_size=4
start local 0 // java.lang.String this
start local 1 // int[] codePoints
start local 2 // int offset
start local 3 // int count
0: .line 238
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
1: .line 239
iload 2 /* offset */
ifge 3
2: .line 240
new java.lang.StringIndexOutOfBoundsException
dup
iload 2 /* offset */
invokespecial java.lang.StringIndexOutOfBoundsException.<init>:(I)V
athrow
3: .line 242
StackMap locals: java.lang.String int[] int int
StackMap stack:
iload 3 /* count */
ifgt 9
4: .line 243
iload 3 /* count */
ifge 6
5: .line 244
new java.lang.StringIndexOutOfBoundsException
dup
iload 3 /* count */
invokespecial java.lang.StringIndexOutOfBoundsException.<init>:(I)V
athrow
6: .line 246
StackMap locals:
StackMap stack:
iload 2 /* offset */
aload 1 /* codePoints */
arraylength
if_icmpgt 9
7: .line 247
aload 0 /* this */
ldc ""
getfield java.lang.String.value:[C
putfield java.lang.String.value:[C
8: .line 248
return
9: .line 252
StackMap locals:
StackMap stack:
iload 2 /* offset */
aload 1 /* codePoints */
arraylength
iload 3 /* count */
isub
if_icmple 11
10: .line 253
new java.lang.StringIndexOutOfBoundsException
dup
iload 2 /* offset */
iload 3 /* count */
iadd
invokespecial java.lang.StringIndexOutOfBoundsException.<init>:(I)V
athrow
11: .line 256
StackMap locals:
StackMap stack:
iload 2 /* offset */
iload 3 /* count */
iadd
istore 4 /* end */
start local 4 // int end
12: .line 259
iload 3 /* count */
istore 5 /* n */
start local 5 // int n
13: .line 260
iload 2 /* offset */
istore 6 /* i */
start local 6 // int i
14: goto 22
15: .line 261
StackMap locals: int int int
StackMap stack:
aload 1 /* codePoints */
iload 6 /* i */
iaload
istore 7 /* c */
start local 7 // int c
16: .line 262
iload 7 /* c */
invokestatic java.lang.Character.isBmpCodePoint:(I)Z
ifeq 18
17: .line 263
goto 21
18: .line 264
StackMap locals: int
StackMap stack:
iload 7 /* c */
invokestatic java.lang.Character.isValidCodePoint:(I)Z
ifeq 20
19: .line 265
iinc 5 /* n */ 1
goto 21
20: .line 266
StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
iload 7 /* c */
invokestatic java.lang.Integer.toString:(I)Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
end local 7 // int c
21: .line 260
StackMap locals:
StackMap stack:
iinc 6 /* i */ 1
StackMap locals:
StackMap stack:
22: iload 6 /* i */
iload 4 /* end */
if_icmplt 15
end local 6 // int i
23: .line 270
iload 5 /* n */
newarray 5
astore 6 /* v */
start local 6 // char[] v
24: .line 272
iload 2 /* offset */
istore 7 /* i */
start local 7 // int i
25: iconst_0
istore 8 /* j */
start local 8 // int j
26: goto 32
27: .line 273
StackMap locals: java.lang.String int[] int int int int char[] int int
StackMap stack:
aload 1 /* codePoints */
iload 7 /* i */
iaload
istore 9 /* c */
start local 9 // int c
28: .line 274
iload 9 /* c */
invokestatic java.lang.Character.isBmpCodePoint:(I)Z
ifeq 30
29: .line 275
aload 6 /* v */
iload 8 /* j */
iload 9 /* c */
i2c
castore
goto 31
30: .line 277
StackMap locals: int
StackMap stack:
iload 9 /* c */
aload 6 /* v */
iload 8 /* j */
iinc 8 /* j */ 1
invokestatic java.lang.Character.toSurrogates:(I[CI)V
end local 9 // int c
31: .line 272
StackMap locals:
StackMap stack:
iinc 7 /* i */ 1
iinc 8 /* j */ 1
StackMap locals:
StackMap stack:
32: iload 7 /* i */
iload 4 /* end */
if_icmplt 27
end local 8 // int j
end local 7 // int i
33: .line 280
aload 0 /* this */
aload 6 /* v */
putfield java.lang.String.value:[C
34: .line 281
return
end local 6 // char[] v
end local 5 // int n
end local 4 // int end
end local 3 // int count
end local 2 // int offset
end local 1 // int[] codePoints
end local 0 // java.lang.String this
LocalVariableTable:
Start End Slot Name Signature
0 35 0 this Ljava/lang/String;
0 35 1 codePoints [I
0 35 2 offset I
0 35 3 count I
12 35 4 end I
13 35 5 n I
14 23 6 i I
16 21 7 c I
24 35 6 v [C
25 33 7 i I
26 33 8 j I
28 31 9 c I
MethodParameters:
Name Flags
codePoints
offset
count
public void <init>(byte[], int, int, int);
descriptor: ([BIII)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=7, args_size=5
start local 0 // java.lang.String this
start local 1 // byte[] ascii
start local 2 // int hibyte
start local 3 // int offset
start local 4 // int count
0: .line 323
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
1: .line 324
aload 1 /* ascii */
iload 3 /* offset */
iload 4 /* count */
invokestatic java.lang.String.checkBounds:([BII)V
2: .line 325
iload 4 /* count */
newarray 5
astore 5 /* value */
start local 5 // char[] value
3: .line 327
iload 2 /* hibyte */
ifne 9
4: .line 328
iload 4 /* count */
istore 6 /* i */
start local 6 // int i
5: goto 7
6: .line 329
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 328
StackMap locals:
StackMap stack:
iload 6 /* i */
iinc 6 /* i */ -1
ifgt 6
end local 6 // int i
8: .line 331
goto 14
9: .line 332
StackMap locals:
StackMap stack:
iload 2 /* hibyte */
bipush 8
ishl
istore 2 /* hibyte */
10: .line 333
iload 4 /* count */
istore 6 /* i */
start local 6 // int i
11: goto 13
12: .line 334
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 333
StackMap locals:
StackMap stack:
iload 6 /* i */
iinc 6 /* i */ -1
ifgt 12
end local 6 // int i
14: .line 337
StackMap locals:
StackMap stack:
aload 0 /* this */
aload 5 /* value */
putfield java.lang.String.value:[C
15: .line 338
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 16 0 this Ljava/lang/String;
0 16 1 ascii [B
0 16 2 hibyte I
0 16 3 offset I
0 16 4 count I
3 16 5 value [C
5 8 6 i I
11 14 6 i I
RuntimeVisibleAnnotations:
java.lang.Deprecated()
MethodParameters:
Name Flags
ascii
hibyte
offset
count
public void <init>(byte[], int);
descriptor: ([BI)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=3
start local 0 // java.lang.String this
start local 1 // byte[] ascii
start local 2 // int hibyte
0: .line 372
aload 0 /* this */
aload 1 /* ascii */
iload 2 /* hibyte */
iconst_0
aload 1 /* ascii */
arraylength
invokespecial java.lang.String.<init>:([BIII)V
1: .line 373
return
end local 2 // int hibyte
end local 1 // byte[] ascii
end local 0 // java.lang.String this
LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/lang/String;
0 2 1 ascii [B
0 2 2 hibyte I
RuntimeVisibleAnnotations:
java.lang.Deprecated()
MethodParameters:
Name Flags
ascii
hibyte
private static void checkBounds(byte[], int, int);
descriptor: ([BII)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=3, args_size=3
start local 0 // byte[] bytes
start local 1 // int offset
start local 2 // int length
0: .line 380
iload 2 /* length */
ifge 2
1: .line 381
new java.lang.StringIndexOutOfBoundsException
dup
iload 2 /* length */
invokespecial java.lang.StringIndexOutOfBoundsException.<init>:(I)V
athrow
2: .line 382
StackMap locals:
StackMap stack:
iload 1 /* offset */
ifge 4
3: .line 383
new java.lang.StringIndexOutOfBoundsException
dup
iload 1 /* offset */
invokespecial java.lang.StringIndexOutOfBoundsException.<init>:(I)V
athrow
4: .line 384
StackMap locals:
StackMap stack:
iload 1 /* offset */
aload 0 /* bytes */
arraylength
iload 2 /* length */
isub
if_icmple 6
5: .line 385
new java.lang.StringIndexOutOfBoundsException
dup
iload 1 /* offset */
iload 2 /* length */
iadd
invokespecial java.lang.StringIndexOutOfBoundsException.<init>:(I)V
athrow
6: .line 386
StackMap locals:
StackMap stack:
return
end local 2 // int length
end local 1 // int offset
end local 0 // byte[] bytes
LocalVariableTable:
Start End Slot Name Signature
0 7 0 bytes [B
0 7 1 offset I
0 7 2 length I
MethodParameters:
Name Flags
bytes
offset
length
public void <init>(byte[], int, int, java.lang.String);
descriptor: ([BIILjava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=5, args_size=5
start local 0 // java.lang.String this
start local 1 // byte[] bytes
start local 2 // int offset
start local 3 // int length
start local 4 // java.lang.String charsetName
0: .line 421
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
1: .line 423
aload 4 /* charsetName */
ifnonnull 3
2: .line 424
new java.lang.NullPointerException
dup
ldc "charsetName"
invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
athrow
3: .line 425
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 426
aload 0 /* this */
aload 4 /* charsetName */
aload 1 /* bytes */
iload 2 /* offset */
iload 3 /* length */
invokestatic java.lang.StringCoding.decode:(Ljava/lang/String;[BII)[C
putfield java.lang.String.value:[C
5: .line 427
return
end local 4 // java.lang.String charsetName
end local 3 // int length
end local 2 // int offset
end local 1 // byte[] bytes
end local 0 // java.lang.String this
LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljava/lang/String;
0 6 1 bytes [B
0 6 2 offset I
0 6 3 length I
0 6 4 charsetName Ljava/lang/String;
Exceptions:
throws java.io.UnsupportedEncodingException
MethodParameters:
Name Flags
bytes
offset
length
charsetName
public void <init>(byte[], int, int, java.nio.charset.Charset);
descriptor: ([BIILjava/nio/charset/Charset;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=5, args_size=5
start local 0 // java.lang.String this
start local 1 // byte[] bytes
start local 2 // int offset
start local 3 // int length
start local 4 // java.nio.charset.Charset charset
0: .line 459
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
1: .line 460
aload 4 /* charset */
ifnonnull 3
2: .line 461
new java.lang.NullPointerException
dup
ldc "charset"
invokespecial java.lang.NullPointerException.<init>:(Ljava/lang/String;)V
athrow
3: .line 462
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 463
aload 0 /* this */
aload 4 /* charset */
aload 1 /* bytes */
iload 2 /* offset */
iload 3 /* length */
invokestatic java.lang.StringCoding.decode:(Ljava/nio/charset/Charset;[BII)[C
putfield java.lang.String.value:[C
5: .line 464
return
end local 4 // java.nio.charset.Charset charset
end local 3 // int length
end local 2 // int offset
end local 1 // byte[] bytes
end local 0 // java.lang.String this
LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljava/lang/String;
0 6 1 bytes [B
0 6 2 offset I
0 6 3 length I
0 6 4 charset Ljava/nio/charset/Charset;
MethodParameters:
Name Flags
bytes
offset
length
charset
public void <init>(byte[], java.lang.String);
descriptor: ([BLjava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=3
start local 0 // java.lang.String this
start local 1 // byte[] bytes
start local 2 // java.lang.String charsetName
0: .line 491
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 492
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 515
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 516
return
end local 2 // java.nio.charset.Charset charset
end local 1 // byte[] bytes
end local 0 // java.lang.String this
LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/lang/String;
0 2 1 bytes [B
0 2 2 charset Ljava/nio/charset/Charset;
MethodParameters:
Name Flags
bytes
charset
public void <init>(byte[], int, int);
descriptor: ([BII)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=4
start local 0 // java.lang.String this
start local 1 // byte[] bytes
start local 2 // int offset
start local 3 // int length
0: .line 544
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
1: .line 545
aload 1 /* bytes */
iload 2 /* offset */
iload 3 /* length */
invokestatic java.lang.String.checkBounds:([BII)V
2: .line 546
aload 0 /* this */
aload 1 /* bytes */
iload 2 /* offset */
iload 3 /* length */
invokestatic java.lang.StringCoding.decode:([BII)[C
putfield java.lang.String.value:[C
3: .line 547
return
end local 3 // int length
end local 2 // int offset
end local 1 // byte[] bytes
end local 0 // java.lang.String this
LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljava/lang/String;
0 4 1 bytes [B
0 4 2 offset I
0 4 3 length I
MethodParameters:
Name Flags
bytes
offset
length
public void <init>(byte[]);
descriptor: ([B)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 // java.lang.String this
start local 1 // byte[] bytes
0: .line 566
aload 0 /* this */
aload 1 /* bytes */
iconst_0
aload 1 /* bytes */
arraylength
invokespecial java.lang.String.<init>:([BII)V
1: .line 567
return
end local 1 // byte[] bytes
end local 0 // java.lang.String this
LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/lang/String;
0 2 1 bytes [B
MethodParameters:
Name Flags
bytes
public void <init>(java.lang.StringBuffer);
descriptor: (Ljava/lang/StringBuffer;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 // java.lang.String this
start local 1 // java.lang.StringBuffer buffer
0: .line 578
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
1: .line 579
aload 1 /* buffer */
dup
astore 2
monitorenter
2: .line 580
aload 0 /* this */
aload 1 /* buffer */
invokevirtual java.lang.StringBuffer.getValue:()[C
aload 1 /* buffer */
invokevirtual java.lang.StringBuffer.length:()I
invokestatic java.util.Arrays.copyOf:([CI)[C
putfield java.lang.String.value:[C
3: .line 579
aload 2
monitorexit
4: goto 7
StackMap locals: java.lang.String java.lang.StringBuffer java.lang.StringBuffer
StackMap stack: java.lang.Throwable
5: aload 2
monitorexit
6: athrow
7: .line 582
StackMap locals:
StackMap stack:
return
end local 1 // java.lang.StringBuffer buffer
end local 0 // java.lang.String this
LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Ljava/lang/String;
0 8 1 buffer Ljava/lang/StringBuffer;
Exception table:
from to target type
2 4 5 any
5 6 5 any
MethodParameters:
Name Flags
buffer
public void <init>(java.lang.StringBuilder);
descriptor: (Ljava/lang/StringBuilder;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 // java.lang.String this
start local 1 // java.lang.StringBuilder builder
0: .line 599
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
1: .line 600
aload 0 /* this */
aload 1 /* builder */
invokevirtual java.lang.StringBuilder.getValue:()[C
aload 1 /* builder */
invokevirtual java.lang.StringBuilder.length:()I
invokestatic java.util.Arrays.copyOf:([CI)[C
putfield java.lang.String.value:[C
2: .line 601
return
end local 1 // java.lang.StringBuilder builder
end local 0 // java.lang.String this
LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljava/lang/String;
0 3 1 builder Ljava/lang/StringBuilder;
MethodParameters:
Name Flags
builder
void <init>(char[], boolean);
descriptor: ([CZ)V
flags: (0x0000)
Code:
stack=2, locals=3, args_size=3
start local 0 // java.lang.String this
start local 1 // char[] value
start local 2 // boolean share
0: .line 609
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
1: .line 611
aload 0 /* this */
aload 1 /* value */
putfield java.lang.String.value:[C
2: .line 612
return
end local 2 // boolean share
end local 1 // char[] value
end local 0 // java.lang.String this
LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljava/lang/String;
0 3 1 value [C
0 3 2 share Z
MethodParameters:
Name Flags
value
share
public int length();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 // java.lang.String this
0: .line 623
aload 0 /* this */
getfield java.lang.String.value:[C
arraylength
ireturn
end local 0 // java.lang.String this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/lang/String;
public boolean isEmpty();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 // java.lang.String this
0: .line 635
aload 0 /* this */
getfield java.lang.String.value:[C
arraylength
ifne 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 // java.lang.String this
LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/lang/String;
public char charAt(int);
descriptor: (I)C
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 // java.lang.String this
start local 1 // int index
0: .line 657
iload 1 /* index */
iflt 1
iload 1 /* index */
aload 0 /* this */
getfield java.lang.String.value:[C
arraylength
if_icmplt 2
1: .line 658
StackMap locals:
StackMap stack:
new java.lang.StringIndexOutOfBoundsException
dup
iload 1 /* index */
invokespecial java.lang.StringIndexOutOfBoundsException.<init>:(I)V
athrow
2: .line 660
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield java.lang.String.value:[C
iload 1 /* index */
caload
ireturn
end local 1 // int index
end local 0 // java.lang.String this
LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljava/lang/String;
0 3 1 index I
MethodParameters:
Name Flags
index
public int codePointAt(int);
descriptor: (I)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 // java.lang.String this
start local 1 // int index
0: .line 686
iload 1 /* index */
iflt 1
iload 1 /* index */
aload 0 /* this */
getfield java.lang.String.value:[C
arraylength
if_icmplt 2
1: .line 687
StackMap locals:
StackMap stack:
new java.lang.StringIndexOutOfBoundsException
dup
iload 1 /* index */
invokespecial java.lang.StringIndexOutOfBoundsException.<init>:(I)V
athrow
2: .line 689
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield java.lang.String.value:[C
iload 1 /* index */
aload 0 /* this */
getfield java.lang.String.value:[C
arraylength
invokestatic java.lang.Character.codePointAtImpl:([CII)I
ireturn
end local 1 // int index
end local 0 // java.lang.String this
LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljava/lang/String;
0 3 1 index I
MethodParameters:
Name Flags
index
public int codePointBefore(int);
descriptor: (I)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 // java.lang.String this
start local 1 // int index
0: .line 715
iload 1 /* index */
iconst_1
isub
istore 2 /* i */
start local 2 // int i
1: .line 716
iload 2 /* i */
iflt 2
iload 2 /* i */
aload 0 /* this */
getfield java.lang.String.value:[C
arraylength
if_icmplt 3
2: .line 717
StackMap locals: int
StackMap stack:
new java.lang.StringIndexOutOfBoundsException
dup
iload 1 /* index */
invokespecial java.lang.StringIndexOutOfBoundsException.<init>:(I)V
athrow
3: .line 719
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield java.lang.String.value:[C
iload 1 /* index */
iconst_0
invokestatic java.lang.Character.codePointBeforeImpl:([CII)I
ireturn
end local 2 // int i
end local 1 // int index
end local 0 // java.lang.String this
LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljava/lang/String;
0 4 1 index I
1 4 2 i I
MethodParameters:
Name Flags
index
public int codePointCount(int, int);
descriptor: (II)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 // java.lang.String this
start local 1 // int beginIndex
start local 2 // int endIndex
0: .line 744
iload 1 /* beginIndex */
iflt 1
iload 2 /* endIndex */
aload 0 /* this */
getfield java.lang.String.value:[C
arraylength
if_icmpgt 1
iload 1 /* beginIndex */
iload 2 /* endIndex */
if_icmple 2
1: .line 745
StackMap locals:
StackMap stack:
new java.lang.IndexOutOfBoundsException
dup
invokespecial java.lang.IndexOutOfBoundsException.<init>:()V
athrow
2: .line 747
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield java.lang.String.value:[C
iload 1 /* beginIndex */
iload 2 /* endIndex */
iload 1 /* beginIndex */
isub
invokestatic java.lang.Character.codePointCountImpl:([CII)I
ireturn
end local 2 // int endIndex
end local 1 // int beginIndex
end local 0 // java.lang.String this
LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljava/lang/String;
0 3 1 beginIndex I
0 3 2 endIndex I
MethodParameters:
Name Flags
beginIndex
endIndex
public int offsetByCodePoints(int, int);
descriptor: (II)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=3
start local 0 // java.lang.String this
start local 1 // int index
start local 2 // int codePointOffset
0: .line 771
iload 1 /* index */
iflt 1
iload 1 /* index */
aload 0 /* this */
getfield java.lang.String.value:[C
arraylength
if_icmple 2
1: .line 772
StackMap locals:
StackMap stack:
new java.lang.IndexOutOfBoundsException
dup
invokespecial java.lang.IndexOutOfBoundsException.<init>:()V
athrow
2: .line 774
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield java.lang.String.value:[C
iconst_0
aload 0 /* this */
getfield java.lang.String.value:[C
arraylength
3: .line 775
iload 1 /* index */
iload 2 /* codePointOffset */
4: .line 774
invokestatic java.lang.Character.offsetByCodePointsImpl:([CIIII)I
ireturn
end local 2 // int codePointOffset
end local 1 // int index
end local 0 // java.lang.String this
LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljava/lang/String;
0 5 1 index I
0 5 2 codePointOffset I
MethodParameters:
Name Flags
index
codePointOffset
void getChars(char[], int);
descriptor: ([CI)V
flags: (0x0000)
Code:
stack=5, locals=3, args_size=3
start local 0 // java.lang.String this
start local 1 // char[] dst
start local 2 // int dstBegin
0: .line 783
aload 0 /* this */
getfield java.lang.String.value:[C
iconst_0
aload 1 /* dst */
iload 2 /* dstBegin */
aload 0 /* this */
getfield java.lang.String.value:[C
arraylength
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
1: .line 784
return
end local 2 // int dstBegin
end local 1 // char[] dst
end local 0 // java.lang.String this
LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/lang/String;
0 2 1 dst [C
0 2 2 dstBegin I
MethodParameters:
Name Flags
dst
dstBegin
public void getChars(int, int, char[], int);
descriptor: (II[CI)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=5, args_size=5
start local 0 // java.lang.String this
start local 1 // int srcBegin
start local 2 // int srcEnd
start local 3 // char[] dst
start local 4 // int dstBegin
0: .line 817
iload 1 /* srcBegin */
ifge 2
1: .line 818
new java.lang.StringIndexOutOfBoundsException
dup
iload 1 /* srcBegin */
invokespecial java.lang.StringIndexOutOfBoundsException.<init>:(I)V
athrow
2: .line 820
StackMap locals:
StackMap stack:
iload 2 /* srcEnd */
aload 0 /* this */
getfield java.lang.String.value:[C
arraylength
if_icmple 4
3: .line 821
new java.lang.StringIndexOutOfBoundsException
dup
iload 2 /* srcEnd */
invokespecial java.lang.StringIndexOutOfBoundsException.<init>:(I)V
athrow
4: .line 823
StackMap locals:
StackMap stack:
iload 1 /* srcBegin */
iload 2 /* srcEnd */
if_icmple 6
5: .line 824
new java.lang.StringIndexOutOfBoundsException
dup
iload 2 /* srcEnd */
iload 1 /* srcBegin */
isub
invokespecial java.lang.StringIndexOutOfBoundsException.<init>:(I)V
athrow
6: .line 826
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield java.lang.String.value:[C
iload 1 /* srcBegin */
aload 3 /* dst */
iload 4 /* dstBegin */
iload 2 /* srcEnd */
iload 1 /* srcBegin */
isub
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
7: .line 827
return
end local 4 // int dstBegin
end local 3 // char[] dst
end local 2 // int srcEnd
end local 1 // int srcBegin
end local 0 // java.lang.String this
LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Ljava/lang/String;
0 8 1 srcBegin I
0 8 2 srcEnd I
0 8 3 dst [C
0 8 4 dstBegin I
MethodParameters:
Name Flags
srcBegin
srcEnd
dst
dstBegin
public void getBytes(int, int, byte[], int);
descriptor: (II[BI)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=9, args_size=5
start local 0 // java.lang.String this
start local 1 // int srcBegin
start local 2 // int srcEnd
start local 3 // byte[] dst
start local 4 // int dstBegin
0: .line 874
iload 1 /* srcBegin */
ifge 2
1: .line 875
new java.lang.StringIndexOutOfBoundsException
dup
iload 1 /* srcBegin */
invokespecial java.lang.StringIndexOutOfBoundsException.<init>:(I)V
athrow
2: .line 877
StackMap locals:
StackMap stack:
iload 2 /* srcEnd */
aload 0 /* this */
getfield java.lang.String.value:[C
arraylength
if_icmple 4
3: .line 878
new java.lang.StringIndexOutOfBoundsException
dup
iload 2 /* srcEnd */
invokespecial java.lang.StringIndexOutOfBoundsException.<init>:(I)V
athrow
4: .line 880
StackMap locals:
StackMap stack:
iload 1 /* srcBegin */
iload 2 /* srcEnd */
if_icmple 6
5: .line 881
new java.lang.StringIndexOutOfBoundsException
dup
iload 2 /* srcEnd */
iload 1 /* srcBegin */
isub
invokespecial java.lang.StringIndexOutOfBoundsException.<init>:(I)V
athrow
6: .line 883
StackMap locals:
StackMap stack:
aload 3 /* dst */
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
pop
7: .line 885
iload 4 /* dstBegin */
istore 5 /* j */
start local 5 // int j
8: .line 886
iload 2 /* srcEnd */
istore 6 /* n */
start local 6 // int n
9: .line 887
iload 1 /* srcBegin */
istore 7 /* i */
start local 7 // int i
10: .line 888
aload 0 /* this */
getfield java.lang.String.value:[C
astore 8 /* val */
start local 8 // char[] val
11: .line 890
goto 13
12: .line 891
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
13: .line 890
StackMap locals:
StackMap stack:
iload 7 /* i */
iload 6 /* n */
if_icmplt 12
14: .line 893
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 15 0 this Ljava/lang/String;
0 15 1 srcBegin I
0 15 2 srcEnd I
0 15 3 dst [B
0 15 4 dstBegin I
8 15 5 j I
9 15 6 n I
10 15 7 i I
11 15 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 917
aload 1 /* charsetName */
ifnonnull 1
new java.lang.NullPointerException
dup
invokespecial java.lang.NullPointerException.<init>:()V
athrow
1: .line 918
StackMap locals:
StackMap stack:
aload 1 /* charsetName */
aload 0 /* this */
getfield java.lang.String.value:[C
iconst_0
aload 0 /* this */
getfield java.lang.String.value:[C
arraylength
invokestatic java.lang.StringCoding.encode:(Ljava/lang/String;[CII)[B
areturn
end local 1 // java.lang.String charsetName
end local 0 // java.lang.String this
LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/lang/String;
0 2 1 charsetName Ljava/lang/String;
Exceptions:
throws java.io.UnsupportedEncodingException
MethodParameters:
Name Flags
charsetName
public byte[] getBytes(java.nio.charset.Charset);
descriptor: (Ljava/nio/charset/Charset;)[B
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 // java.lang.String this
start local 1 // java.nio.charset.Charset charset
0: .line 940
aload 1 /* charset */
ifnonnull 1
new java.lang.NullPointerException
dup
invokespecial java.lang.NullPointerException.<init>:()V
athrow
1: .line 941
StackMap locals:
StackMap stack:
aload 1 /* charset */
aload 0 /* this */
getfield java.lang.String.value:[C
iconst_0
aload 0 /* this */
getfield java.lang.String.value:[C
arraylength
invokestatic java.lang.StringCoding.encode:(Ljava/nio/charset/Charset;[CII)[B
areturn
end local 1 // java.nio.charset.Charset charset
end local 0 // java.lang.String this
LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljava/lang/String;
0 2 1 charset Ljava/nio/charset/Charset;
MethodParameters:
Name Flags
charset
public byte[] getBytes();
descriptor: ()[B
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 // java.lang.String this
0: .line 958
aload 0 /* this */
getfield java.lang.String.value:[C
iconst_0
aload 0 /* this */
getfield java.lang.String.value:[C
arraylength
invokestatic java.lang.StringCoding.encode:([CII)[B
areturn
end local 0 // java.lang.String this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/lang/String;
public boolean equals(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=7, args_size=2
start local 0 // java.lang.String this
start local 1 // java.lang.Object anObject
0: .line 977
aload 0 /* this */
aload 1 /* anObject */
if_acmpne 2
1: .line 978
iconst_1
ireturn
2: .line 980
StackMap locals:
StackMap stack:
aload 1 /* anObject */
instanceof java.lang.String
ifeq 15
3: .line 981
aload 1 /* anObject */
checkcast java.lang.String
astore 2 /* anotherString */
start local 2 // java.lang.String anotherString
4: .line 982
aload 0 /* this */
getfield java.lang.String.value:[C
arraylength
istore 3 /* n */
start local 3 // int n
5: .line 983
iload 3 /* n */
aload 2 /* anotherString */
getfield java.lang.String.value:[C
arraylength
if_icmpne 15
6: .line 984
aload 0 /* this */
getfield java.lang.String.value:[C
astore 4 /* v1 */
start local 4 // char[] v1
7: .line 985
aload 2 /* anotherString */
getfield java.lang.String.value:[C
astore 5 /* v2 */
start local 5 // char[] v2
8: .line 986
iconst_0
istore 6 /* i */
start local 6 // int i
9: .line 987
goto 13
10: .line 988
StackMap locals: java.lang.String java.lang.Object java.lang.String int char[] char[] int
StackMap stack:
aload 4 /* v1 */
iload 6 /* i */
caload
aload 5 /* v2 */
iload 6 /* i */
caload
if_icmpeq 12
11: .line 989
iconst_0
ireturn
12: .line 990
StackMap locals:
StackMap stack:
iinc 6 /* i */ 1
13: .line 987
StackMap locals:
StackMap stack:
iload 3 /* n */
iinc 3 /* n */ -1
ifne 10
14: .line 992
iconst_1
ireturn
end local 6 // int i
end local 5 // char[] v2
end local 4 // char[] v1
end local 3 // int n
end local 2 // java.lang.String anotherString
15: .line 995
StackMap locals: java.lang.String java.lang.Object
StackMap stack:
iconst_0
ireturn
end local 1 // java.lang.Object anObject
end local 0 // java.lang.String this
LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Ljava/lang/String;
0 16 1 anObject Ljava/lang/Object;
4 15 2 anotherString Ljava/lang/String;
5 15 3 n I
7 15 4 v1 [C
8 15 5 v2 [C
9 15 6 i I
MethodParameters:
Name Flags
anObject
public boolean contentEquals(java.lang.StringBuffer);
descriptor: (Ljava/lang/StringBuffer;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 // java.lang.String this
start local 1 // java.lang.StringBuffer sb
0: .line 1014
aload 0 /* this */
aload 1 /* sb */
invokevirtual java.lang.String.contentEquals:(Ljava/lang/CharSequence;)Z
ireturn
end local 1 // java.lang.StringBuffer sb
end local 0 // java.lang.String this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/lang/String;
0 1 1 sb Ljava/lang/StringBuffer;
MethodParameters:
Name Flags
sb
private boolean nonSyncContentEquals(java.lang.AbstractStringBuilder);
descriptor: (Ljava/lang/AbstractStringBuilder;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=6, args_size=2
start local 0 // java.lang.String this
start local 1 // java.lang.AbstractStringBuilder sb
0: .line 1018
aload 0 /* this */
getfield java.lang.String.value:[C
astore 2 /* v1 */
start local 2 // char[] v1
1: .line 1019
aload 1 /* sb */
invokevirtual java.lang.AbstractStringBuilder.getValue:()[C
astore 3 /* v2 */
start local 3 // char[] v2
2: .line 1020
aload 2 /* v1 */
arraylength
istore 4 /* n */
start local 4 // int n
3: .line 1021
iload 4 /* n */
aload 1 /* sb */
invokevirtual java.lang.AbstractStringBuilder.length:()I
if_icmpeq 5
4: .line 1022
iconst_0
ireturn
5: .line 1024
StackMap locals: char[] char[] int
StackMap stack:
iconst_0
istore 5 /* i */
start local 5 // int i
6: goto 10
7: .line 1025
StackMap locals: int
StackMap stack:
aload 2 /* v1 */
iload 5 /* i */
caload
aload 3 /* v2 */
iload 5 /* i */
caload
if_icmpeq 9
8: .line 1026
iconst_0
ireturn
9: .line 1024
StackMap locals:
StackMap stack:
iinc 5 /* i */ 1
StackMap locals:
StackMap stack:
10: iload 5 /* i */
iload 4 /* n */
if_icmplt 7
end local 5 // int i
11: .line 1029
iconst_1
ireturn
end local 4 // int n
end local 3 // char[] v2
end local 2 // char[] v1
end local 1 // java.lang.AbstractStringBuilder sb
end local 0 // java.lang.String this
LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Ljava/lang/String;
0 12 1 sb Ljava/lang/AbstractStringBuilder;
1 12 2 v1 [C
2 12 3 v2 [C
3 12 4 n I
6 11 5 i I
MethodParameters:
Name Flags
sb
public boolean contentEquals(java.lang.CharSequence);
descriptor: (Ljava/lang/CharSequence;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=5, args_size=2
start local 0 // java.lang.String this
start local 1 // java.lang.CharSequence cs
0: .line 1050
aload 1 /* cs */
instanceof java.lang.AbstractStringBuilder
ifeq 8
1: .line 1051
aload 1 /* cs */
instanceof java.lang.StringBuffer
ifeq 7
2: .line 1052
aload 1 /* cs */
dup
astore 2
monitorenter
3: .line 1053
aload 0 /* this */
aload 1 /* cs */
checkcast java.lang.AbstractStringBuilder
invokevirtual java.lang.String.nonSyncContentEquals:(Ljava/lang/AbstractStringBuilder;)Z
aload 2
monitorexit
4: ireturn
5: .line 1052
StackMap locals: java.lang.String java.lang.CharSequence java.lang.CharSequence
StackMap stack: java.lang.Throwable
aload 2
monitorexit
6: athrow
7: .line 1056
StackMap locals:
StackMap stack:
aload 0 /* this */
aload 1 /* cs */
checkcast java.lang.AbstractStringBuilder
invokevirtual java.lang.String.nonSyncContentEquals:(Ljava/lang/AbstractStringBuilder;)Z
ireturn
8: .line 1060
StackMap locals:
StackMap stack:
aload 1 /* cs */
instanceof java.lang.String
ifeq 10
9: .line 1061
aload 0 /* this */
aload 1 /* cs */
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ireturn
10: .line 1064
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield java.lang.String.value:[C
astore 2 /* v1 */
start local 2 // char[] v1
11: .line 1065
aload 2 /* v1 */
arraylength
istore 3 /* n */
start local 3 // int n
12: .line 1066
iload 3 /* n */
aload 1 /* cs */
invokeinterface java.lang.CharSequence.length:()I
if_icmpeq 14
13: .line 1067
iconst_0
ireturn
14: .line 1069
StackMap locals: char[] int
StackMap stack:
iconst_0
istore 4 /* i */
start local 4 // int i
15: goto 19
16: .line 1070
StackMap locals: int
StackMap stack:
aload 2 /* v1 */
iload 4 /* i */
caload
aload 1 /* cs */
iload 4 /* i */
invokeinterface java.lang.CharSequence.charAt:(I)C
if_icmpeq 18
17: .line 1071
iconst_0
ireturn
18: .line 1069
StackMap locals:
StackMap stack:
iinc 4 /* i */ 1
StackMap locals:
StackMap stack:
19: iload 4 /* i */
iload 3 /* n */
if_icmplt 16
end local 4 // int i
20: .line 1074
iconst_1
ireturn
end local 3 // int n
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 21 0 this Ljava/lang/String;
0 21 1 cs Ljava/lang/CharSequence;
11 21 2 v1 [C
12 21 3 n I
15 20 4 i I
Exception table:
from to target type
3 4 5 any
5 6 5 any
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 1106
aload 0 /* this */
aload 1 /* anotherString */
if_acmpne 1
iconst_1
goto 6
1: .line 1107
StackMap locals:
StackMap stack:
aload 1 /* anotherString */
ifnull 5
2: .line 1108
aload 1 /* anotherString */
getfield java.lang.String.value:[C
arraylength
aload 0 /* this */
getfield java.lang.String.value:[C
arraylength
if_icmpne 5
3: .line 1109
aload 0 /* this */
iconst_1
iconst_0
aload 1 /* anotherString */
iconst_0
aload 0 /* this */
getfield java.lang.String.value:[C
arraylength
invokevirtual java.lang.String.regionMatches:(ZILjava/lang/String;II)Z
ifeq 5
4: .line 1106
iconst_1
goto 6
StackMap locals:
StackMap stack:
5: iconst_0
StackMap locals:
StackMap stack: int
6: ireturn
end local 1 // java.lang.String anotherString
end local 0 // java.lang.String this
LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Ljava/lang/String;
0 7 1 anotherString Ljava/lang/String;
MethodParameters:
Name Flags
anotherString
public int compareTo(java.lang.String);
descriptor: (Ljava/lang/String;)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=10, args_size=2
start local 0 // java.lang.String this
start local 1 // java.lang.String anotherString
0: .line 1154
aload 0 /* this */
getfield java.lang.String.value:[C
arraylength
istore 2 /* len1 */
start local 2 // int len1
1: .line 1155
aload 1 /* anotherString */
getfield java.lang.String.value:[C
arraylength
istore 3 /* len2 */
start local 3 // int len2
2: .line 1156
iload 2 /* len1 */
iload 3 /* len2 */
invokestatic java.lang.Math.min:(II)I
istore 4 /* lim */
start local 4 // int lim
3: .line 1157
aload 0 /* this */
getfield java.lang.String.value:[C
astore 5 /* v1 */
start local 5 // char[] v1
4: .line 1158
aload 1 /* anotherString */
getfield java.lang.String.value:[C
astore 6 /* v2 */
start local 6 // char[] v2
5: .line 1160
iconst_0
istore 7 /* k */
start local 7 // int k
6: .line 1161
goto 12
7: .line 1162
StackMap locals: java.lang.String java.lang.String int int int char[] char[] int
StackMap stack:
aload 5 /* v1 */
iload 7 /* k */
caload
istore 8 /* c1 */
start local 8 // char c1
8: .line 1163
aload 6 /* v2 */
iload 7 /* k */
caload
istore 9 /* c2 */
start local 9 // char c2
9: .line 1164
iload 8 /* c1 */
iload 9 /* c2 */
if_icmpeq 11
10: .line 1165
iload 8 /* c1 */
iload 9 /* c2 */
isub
ireturn
11: .line 1167
StackMap locals: int int
StackMap stack:
iinc 7 /* k */ 1
end local 9 // char c2
end local 8 // char c1
12: .line 1161
StackMap locals:
StackMap stack:
iload 7 /* k */
iload 4 /* lim */
if_icmplt 7
13: .line 1169
iload 2 /* len1 */
iload 3 /* len2 */
isub
ireturn
end local 7 // int k
end local 6 // char[] v2
end local 5 // char[] v1
end local 4 // int lim
end local 3 // int len2
end local 2 // int len1
end local 1 // java.lang.String anotherString
end local 0 // java.lang.String this
LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Ljava/lang/String;
0 14 1 anotherString Ljava/lang/String;
1 14 2 len1 I
2 14 3 len2 I
3 14 4 lim I
4 14 5 v1 [C
5 14 6 v2 [C
6 14 7 k I
8 12 8 c1 C
9 12 9 c2 C
MethodParameters:
Name Flags
anotherString
public int compareToIgnoreCase(java.lang.String);
descriptor: (Ljava/lang/String;)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 // java.lang.String this
start local 1 // java.lang.String str
0: .line 1239
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 1276
aload 0 /* this */
getfield java.lang.String.value:[C
astore 5 /* ta */
start local 5 // char[] ta
1: .line 1277
iload 1 /* toffset */
istore 6 /* to */
start local 6 // int to
2: .line 1278
aload 2 /* other */
getfield java.lang.String.value:[C
astore 7 /* pa */
start local 7 // char[] pa
3: .line 1279
iload 3 /* ooffset */
istore 8 /* po */
start local 8 // int po
4: .line 1281
iload 3 /* ooffset */
iflt 7
iload 1 /* toffset */
iflt 7
5: .line 1282
iload 1 /* toffset */
i2l
aload 0 /* this */
getfield java.lang.String.value:[C
arraylength
i2l
iload 4 /* len */
i2l
lsub
lcmp
ifgt 7
6: .line 1283
iload 3 /* ooffset */
i2l
aload 2 /* other */
getfield java.lang.String.value:[C
arraylength
i2l
iload 4 /* len */
i2l
lsub
lcmp
ifle 10
7: .line 1284
StackMap locals: java.lang.String int java.lang.String int int char[] int char[] int
StackMap stack:
iconst_0
ireturn
8: .line 1287
StackMap locals:
StackMap stack:
aload 5 /* ta */
iload 6 /* to */
iinc 6 /* to */ 1
caload
aload 7 /* pa */
iload 8 /* po */
iinc 8 /* po */ 1
caload
if_icmpeq 10
9: .line 1288
iconst_0
ireturn
10: .line 1286
StackMap locals:
StackMap stack:
iload 4 /* len */
iinc 4 /* len */ -1
ifgt 8
11: .line 1291
iconst_1
ireturn
end local 8 // int po
end local 7 // char[] pa
end local 6 // int to
end local 5 // char[] ta
end local 4 // int len
end local 3 // int ooffset
end local 2 // java.lang.String other
end local 1 // int toffset
end local 0 // java.lang.String this
LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Ljava/lang/String;
0 12 1 toffset I
0 12 2 other Ljava/lang/String;
0 12 3 ooffset I
0 12 4 len I
1 12 5 ta [C
2 12 6 to I
3 12 7 pa [C
4 12 8 po I
MethodParameters:
Name Flags
toffset
other
ooffset
len
public boolean regionMatches(boolean, int, java.lang.String, int, int);
descriptor: (ZILjava/lang/String;II)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=14, args_size=6
start local 0 // java.lang.String this
start local 1 // boolean ignoreCase
start local 2 // int toffset
start local 3 // java.lang.String other
start local 4 // int ooffset
start local 5 // int len
0: .line 1346
aload 0 /* this */
getfield java.lang.String.value:[C
astore 6 /* ta */
start local 6 // char[] ta
1: .line 1347
iload 2 /* toffset */
istore 7 /* to */
start local 7 // int to
2: .line 1348
aload 3 /* other */
getfield java.lang.String.value:[C
astore 8 /* pa */
start local 8 // char[] pa
3: .line 1349
iload 4 /* ooffset */
istore 9 /* po */
start local 9 // int po
4: .line 1351
iload 4 /* ooffset */
iflt 7
iload 2 /* toffset */
iflt 7
5: .line 1352
iload 2 /* toffset */
i2l
aload 0 /* this */
getfield java.lang.String.value:[C
arraylength
i2l
iload 5 /* len */
i2l
lsub
lcmp
ifgt 7
6: .line 1353
iload 4 /* ooffset */
i2l
aload 3 /* other */
getfield java.lang.String.value:[C
arraylength
i2l
iload 5 /* len */
i2l
lsub
lcmp
ifle 20
7: .line 1354
StackMap locals: java.lang.String int int java.lang.String int int char[] int char[] int
StackMap stack:
iconst_0
ireturn
8: .line 1357
StackMap locals:
StackMap stack:
aload 6 /* ta */
iload 7 /* to */
iinc 7 /* to */ 1
caload
istore 10 /* c1 */
start local 10 // char c1
9: .line 1358
aload 8 /* pa */
iload 9 /* po */
iinc 9 /* po */ 1
caload
istore 11 /* c2 */
start local 11 // char c2
10: .line 1359
iload 10 /* c1 */
iload 11 /* c2 */
if_icmpne 12
11: .line 1360
goto 20
12: .line 1362
StackMap locals: int int
StackMap stack:
iload 1 /* ignoreCase */
ifeq 19
13: .line 1367
iload 10 /* c1 */
invokestatic java.lang.Character.toUpperCase:(C)C
istore 12 /* u1 */
start local 12 // char u1
14: .line 1368
iload 11 /* c2 */
invokestatic java.lang.Character.toUpperCase:(C)C
istore 13 /* u2 */
start local 13 // char u2
15: .line 1369
iload 12 /* u1 */
iload 13 /* u2 */
if_icmpne 17
16: .line 1370
goto 20
17: .line 1376
StackMap locals: int int
StackMap stack:
iload 12 /* u1 */
invokestatic java.lang.Character.toLowerCase:(C)C
iload 13 /* u2 */
invokestatic java.lang.Character.toLowerCase:(C)C
if_icmpne 19
18: .line 1377
goto 20
end local 13 // char u2
end local 12 // char u1
19: .line 1380
StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 11 // char c2
end local 10 // char c1
20: .line 1356
StackMap locals:
StackMap stack:
iload 5 /* len */
iinc 5 /* len */ -1
ifgt 8
21: .line 1382
iconst_1
ireturn
end local 9 // int po
end local 8 // char[] pa
end local 7 // int to
end local 6 // char[] ta
end local 5 // int len
end local 4 // int ooffset
end local 3 // java.lang.String other
end local 2 // int toffset
end local 1 // boolean ignoreCase
end local 0 // java.lang.String this
LocalVariableTable:
Start End Slot Name Signature
0 22 0 this Ljava/lang/String;
0 22 1 ignoreCase Z
0 22 2 toffset I
0 22 3 other Ljava/lang/String;
0 22 4 ooffset I
0 22 5 len I
1 22 6 ta [C
2 22 7 to I
3 22 8 pa [C
4 22 9 po I
9 20 10 c1 C
10 20 11 c2 C
14 19 12 u1 C
15 19 13 u2 C
MethodParameters:
Name Flags
ignoreCase
toffset
other
ooffset
len
public boolean startsWith(java.lang.String, int);
descriptor: (Ljava/lang/String;I)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=8, args_size=3
start local 0 // java.lang.String this
start local 1 // java.lang.String prefix
start local 2 // int toffset
0: .line 1403
aload 0 /* this */
getfield java.lang.String.value:[C
astore 3 /* ta */
start local 3 // char[] ta
1: .line 1404
iload 2 /* toffset */
istore 4 /* to */
start local 4 // int to
2: .line 1405
aload 1 /* prefix */
getfield java.lang.String.value:[C
astore 5 /* pa */
start local 5 // char[] pa
3: .line 1406
iconst_0
istore 6 /* po */
start local 6 // int po
4: .line 1407
aload 1 /* prefix */
getfield java.lang.String.value:[C
arraylength
istore 7 /* pc */
start local 7 // int pc
5: .line 1409
iload 2 /* toffset */
iflt 6
iload 2 /* toffset */
aload 0 /* this */
getfield java.lang.String.value:[C
arraylength
iload 7 /* pc */
isub
if_icmple 9
6: .line 1410
StackMap locals: java.lang.String java.lang.String int char[] int char[] int int
StackMap stack:
iconst_0
ireturn
7: .line 1413
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 1414
iconst_0
ireturn
9: .line 1412
StackMap locals:
StackMap stack:
iinc 7 /* pc */ -1
iload 7 /* pc */
ifge 7
10: .line 1417
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 1434
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 1449
aload 0 /* this */
aload 1 /* suffix */
aload 0 /* this */
getfield java.lang.String.value:[C
arraylength
aload 1 /* suffix */
getfield java.lang.String.value:[C
arraylength
isub
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;I)Z
ireturn
end local 1 // java.lang.String suffix
end local 0 // java.lang.String this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/lang/String;
0 1 1 suffix Ljava/lang/String;
MethodParameters:
Name Flags
suffix
public int hashCode();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=1
start local 0 // java.lang.String this
0: .line 1466
aload 0 /* this */
getfield java.lang.String.hash:I
istore 1 /* h */
start local 1 // int h
1: .line 1467
iload 1 /* h */
ifne 9
aload 0 /* this */
getfield java.lang.String.value:[C
arraylength
ifle 9
2: .line 1468
aload 0 /* this */
getfield java.lang.String.value:[C
astore 2 /* val */
start local 2 // char[] val
3: .line 1470
iconst_0
istore 3 /* i */
start local 3 // int i
4: goto 7
5: .line 1471
StackMap locals: int char[] int
StackMap stack:
bipush 31
iload 1 /* h */
imul
aload 2 /* val */
iload 3 /* i */
caload
iadd
istore 1 /* h */
6: .line 1470
iinc 3 /* i */ 1
StackMap locals:
StackMap stack:
7: iload 3 /* i */
aload 0 /* this */
getfield java.lang.String.value:[C
arraylength
if_icmplt 5
end local 3 // int i
8: .line 1473
aload 0 /* this */
iload 1 /* h */
putfield java.lang.String.hash:I
end local 2 // char[] val
9: .line 1475
StackMap locals:
StackMap stack:
iload 1 /* h */
ireturn
end local 1 // int h
end local 0 // java.lang.String this
LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Ljava/lang/String;
1 10 1 h I
3 9 2 val [C
4 8 3 i I
public int indexOf(int);
descriptor: (I)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 // java.lang.String this
start local 1 // int ch
0: .line 1503
aload 0 /* this */
iload 1 /* ch */
iconst_0
invokevirtual java.lang.String.indexOf:(II)I
ireturn
end local 1 // int ch
end local 0 // java.lang.String this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/lang/String;
0 1 1 ch I
MethodParameters:
Name Flags
ch
public int indexOf(int, int);
descriptor: (II)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=6, args_size=3
start local 0 // java.lang.String this
start local 1 // int ch
start local 2 // int fromIndex
0: .line 1546
aload 0 /* this */
getfield java.lang.String.value:[C
arraylength
istore 3 /* max */
start local 3 // int max
1: .line 1547
iload 2 /* fromIndex */
ifge 4
2: .line 1548
iconst_0
istore 2 /* fromIndex */
3: .line 1549
goto 6
StackMap locals: int
StackMap stack:
4: iload 2 /* fromIndex */
iload 3 /* max */
if_icmplt 6
5: .line 1551
iconst_m1
ireturn
6: .line 1554
StackMap locals:
StackMap stack:
iload 1 /* ch */
ldc 65536
if_icmpge 15
7: .line 1557
aload 0 /* this */
getfield java.lang.String.value:[C
astore 4 /* value */
start local 4 // char[] value
8: .line 1558
iload 2 /* fromIndex */
istore 5 /* i */
start local 5 // int i
9: goto 13
10: .line 1559
StackMap locals: char[] int
StackMap stack:
aload 4 /* value */
iload 5 /* i */
caload
iload 1 /* ch */
if_icmpne 12
11: .line 1560
iload 5 /* i */
ireturn
12: .line 1558
StackMap locals:
StackMap stack:
iinc 5 /* i */ 1
StackMap locals:
StackMap stack:
13: iload 5 /* i */
iload 3 /* max */
if_icmplt 10
end local 5 // int i
14: .line 1563
iconst_m1
ireturn
end local 4 // char[] value
15: .line 1565
StackMap locals:
StackMap stack:
aload 0 /* this */
iload 1 /* ch */
iload 2 /* fromIndex */
invokevirtual java.lang.String.indexOfSupplementary:(II)I
ireturn
end local 3 // int max
end local 2 // int fromIndex
end local 1 // int ch
end local 0 // java.lang.String this
LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Ljava/lang/String;
0 16 1 ch I
0 16 2 fromIndex I
1 16 3 max I
8 15 4 value [C
9 14 5 i I
MethodParameters:
Name Flags
ch
fromIndex
private int indexOfSupplementary(int, int);
descriptor: (II)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=8, args_size=3
start local 0 // java.lang.String this
start local 1 // int ch
start local 2 // int fromIndex
0: .line 1573
iload 1 /* ch */
invokestatic java.lang.Character.isValidCodePoint:(I)Z
ifeq 11
1: .line 1574
aload 0 /* this */
getfield java.lang.String.value:[C
astore 3 /* value */
start local 3 // char[] value
2: .line 1575
iload 1 /* ch */
invokestatic java.lang.Character.highSurrogate:(I)C
istore 4 /* hi */
start local 4 // char hi
3: .line 1576
iload 1 /* ch */
invokestatic java.lang.Character.lowSurrogate:(I)C
istore 5 /* lo */
start local 5 // char lo
4: .line 1577
aload 3 /* value */
arraylength
iconst_1
isub
istore 6 /* max */
start local 6 // int max
5: .line 1578
iload 2 /* fromIndex */
istore 7 /* i */
start local 7 // int i
6: goto 10
7: .line 1579
StackMap locals: java.lang.String int int char[] int int int int
StackMap stack:
aload 3 /* value */
iload 7 /* i */
caload
iload 4 /* hi */
if_icmpne 9
aload 3 /* value */
iload 7 /* i */
iconst_1
iadd
caload
iload 5 /* lo */
if_icmpne 9
8: .line 1580
iload 7 /* i */
ireturn
9: .line 1578
StackMap locals:
StackMap stack:
iinc 7 /* i */ 1
StackMap locals:
StackMap stack:
10: iload 7 /* i */
iload 6 /* max */
if_icmplt 7
end local 7 // int i
end local 6 // int max
end local 5 // char lo
end local 4 // char hi
end local 3 // char[] value
11: .line 1584
StackMap locals: java.lang.String int int
StackMap stack:
iconst_m1
ireturn
end local 2 // int fromIndex
end local 1 // int ch
end local 0 // java.lang.String this
LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Ljava/lang/String;
0 12 1 ch I
0 12 2 fromIndex I
2 11 3 value [C
3 11 4 hi C
4 11 5 lo C
5 11 6 max I
6 11 7 i I
MethodParameters:
Name Flags
ch
fromIndex
public int lastIndexOf(int);
descriptor: (I)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 // java.lang.String this
start local 1 // int ch
0: .line 1611
aload 0 /* this */
iload 1 /* ch */
aload 0 /* this */
getfield java.lang.String.value:[C
arraylength
iconst_1
isub
invokevirtual java.lang.String.lastIndexOf:(II)I
ireturn
end local 1 // int ch
end local 0 // java.lang.String this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/lang/String;
0 1 1 ch I
MethodParameters:
Name Flags
ch
public int lastIndexOf(int, int);
descriptor: (II)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=5, args_size=3
start local 0 // java.lang.String this
start local 1 // int ch
start local 2 // int fromIndex
0: .line 1649
iload 1 /* ch */
ldc 65536
if_icmpge 9
1: .line 1652
aload 0 /* this */
getfield java.lang.String.value:[C
astore 3 /* value */
start local 3 // char[] value
2: .line 1653
iload 2 /* fromIndex */
aload 3 /* value */
arraylength
iconst_1
isub
invokestatic java.lang.Math.min:(II)I
istore 4 /* i */
start local 4 // int i
3: .line 1654
goto 7
4: .line 1655
StackMap locals: char[] int
StackMap stack:
aload 3 /* value */
iload 4 /* i */
caload
iload 1 /* ch */
if_icmpne 6
5: .line 1656
iload 4 /* i */
ireturn
6: .line 1654
StackMap locals:
StackMap stack:
iinc 4 /* i */ -1
StackMap locals:
StackMap stack:
7: iload 4 /* i */
ifge 4
8: .line 1659
iconst_m1
ireturn
end local 4 // int i
end local 3 // char[] value
9: .line 1661
StackMap locals:
StackMap stack:
aload 0 /* this */
iload 1 /* ch */
iload 2 /* fromIndex */
invokevirtual java.lang.String.lastIndexOfSupplementary:(II)I
ireturn
end local 2 // int fromIndex
end local 1 // int ch
end local 0 // java.lang.String this
LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Ljava/lang/String;
0 10 1 ch I
0 10 2 fromIndex I
2 9 3 value [C
3 9 4 i I
MethodParameters:
Name Flags
ch
fromIndex
private int lastIndexOfSupplementary(int, int);
descriptor: (II)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=7, args_size=3
start local 0 // java.lang.String this
start local 1 // int ch
start local 2 // int fromIndex
0: .line 1669
iload 1 /* ch */
invokestatic java.lang.Character.isValidCodePoint:(I)Z
ifeq 10
1: .line 1670
aload 0 /* this */
getfield java.lang.String.value:[C
astore 3 /* value */
start local 3 // char[] value
2: .line 1671
iload 1 /* ch */
invokestatic java.lang.Character.highSurrogate:(I)C
istore 4 /* hi */
start local 4 // char hi
3: .line 1672
iload 1 /* ch */
invokestatic java.lang.Character.lowSurrogate:(I)C
istore 5 /* lo */
start local 5 // char lo
4: .line 1673
iload 2 /* fromIndex */
aload 3 /* value */
arraylength
iconst_2
isub
invokestatic java.lang.Math.min:(II)I
istore 6 /* i */
start local 6 // int i
5: .line 1674
goto 9
6: .line 1675
StackMap locals: java.lang.String int int char[] int int int
StackMap stack:
aload 3 /* value */
iload 6 /* i */
caload
iload 4 /* hi */
if_icmpne 8
aload 3 /* value */
iload 6 /* i */
iconst_1
iadd
caload
iload 5 /* lo */
if_icmpne 8
7: .line 1676
iload 6 /* i */
ireturn
8: .line 1674
StackMap locals:
StackMap stack:
iinc 6 /* i */ -1
StackMap locals:
StackMap stack:
9: iload 6 /* i */
ifge 6
end local 6 // int i
end local 5 // char lo
end local 4 // char hi
end local 3 // char[] value
10: .line 1680
StackMap locals: java.lang.String int int
StackMap stack:
iconst_m1
ireturn
end local 2 // int fromIndex
end local 1 // int ch
end local 0 // java.lang.String this
LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Ljava/lang/String;
0 11 1 ch I
0 11 2 fromIndex I
2 10 3 value [C
3 10 4 hi C
4 10 5 lo C
5 10 6 i I
MethodParameters:
Name Flags
ch
fromIndex
public int indexOf(java.lang.String);
descriptor: (Ljava/lang/String;)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 // java.lang.String this
start local 1 // java.lang.String str
0: .line 1698
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 1718
aload 0 /* this */
getfield java.lang.String.value:[C
iconst_0
aload 0 /* this */
getfield java.lang.String.value:[C
arraylength
1: .line 1719
aload 1 /* str */
getfield java.lang.String.value:[C
iconst_0
aload 1 /* str */
getfield java.lang.String.value:[C
arraylength
iload 2 /* fromIndex */
2: .line 1718
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, java.lang.String, int);
descriptor: ([CIILjava/lang/String;I)I
flags: (0x0008) ACC_STATIC
Code:
stack=7, locals=5, args_size=5
start local 0 // char[] source
start local 1 // int sourceOffset
start local 2 // int sourceCount
start local 3 // java.lang.String target
start local 4 // int fromIndex
0: .line 1735
aload 0 /* source */
iload 1 /* sourceOffset */
iload 2 /* sourceCount */
1: .line 1736
aload 3 /* target */
getfield java.lang.String.value:[C
iconst_0
aload 3 /* target */
getfield java.lang.String.value:[C
arraylength
2: .line 1737
iload 4 /* fromIndex */
3: .line 1735
invokestatic java.lang.String.indexOf:([CII[CIII)I
ireturn
end local 4 // int fromIndex
end local 3 // java.lang.String target
end local 2 // int sourceCount
end local 1 // int sourceOffset
end local 0 // char[] source
LocalVariableTable:
Start End Slot Name Signature
0 4 0 source [C
0 4 1 sourceOffset I
0 4 2 sourceCount I
0 4 3 target Ljava/lang/String;
0 4 4 fromIndex I
MethodParameters:
Name Flags
source
sourceOffset
sourceCount
target
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 1756
iload 6 /* fromIndex */
iload 2 /* sourceCount */
if_icmplt 4
1: .line 1757
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 1759
StackMap locals:
StackMap stack:
iload 6 /* fromIndex */
ifge 6
5: .line 1760
iconst_0
istore 6 /* fromIndex */
6: .line 1762
StackMap locals:
StackMap stack:
iload 5 /* targetCount */
ifne 8
7: .line 1763
iload 6 /* fromIndex */
ireturn
8: .line 1766
StackMap locals:
StackMap stack:
aload 3 /* target */
iload 4 /* targetOffset */
caload
istore 7 /* first */
start local 7 // char first
9: .line 1767
iload 1 /* sourceOffset */
iload 2 /* sourceCount */
iload 5 /* targetCount */
isub
iadd
istore 8 /* max */
start local 8 // int max
10: .line 1769
iload 1 /* sourceOffset */
iload 6 /* fromIndex */
iadd
istore 9 /* i */
start local 9 // int i
11: goto 25
12: .line 1771
StackMap locals: int int int
StackMap stack:
aload 0 /* source */
iload 9 /* i */
caload
iload 7 /* first */
if_icmpeq 14
13: .line 1772
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 1776
StackMap locals:
StackMap stack:
iload 9 /* i */
iload 8 /* max */
if_icmpgt 24
15: .line 1777
iload 9 /* i */
iconst_1
iadd
istore 10 /* j */
start local 10 // int j
16: .line 1778
iload 10 /* j */
iload 5 /* targetCount */
iadd
iconst_1
isub
istore 11 /* end */
start local 11 // int end
17: .line 1779
iload 4 /* targetOffset */
iconst_1
iadd
istore 12 /* k */
start local 12 // int k
18: goto 20
19: .line 1780
StackMap locals: int int int
StackMap stack:
iinc 10 /* j */ 1
iinc 12 /* k */ 1
20: .line 1779
StackMap locals:
StackMap stack:
iload 10 /* j */
iload 11 /* end */
if_icmpge 22
aload 0 /* source */
iload 10 /* j */
caload
21: .line 1780
aload 3 /* target */
iload 12 /* k */
caload
if_icmpeq 19
end local 12 // int k
22: .line 1782
StackMap locals:
StackMap stack:
iload 10 /* j */
iload 11 /* end */
if_icmpne 24
23: .line 1784
iload 9 /* i */
iload 1 /* sourceOffset */
isub
ireturn
end local 11 // int end
end local 10 // int j
24: .line 1769
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 1788
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 1807
aload 0 /* this */
aload 1 /* str */
aload 0 /* this */
getfield java.lang.String.value:[C
arraylength
invokevirtual java.lang.String.lastIndexOf:(Ljava/lang/String;I)I
ireturn
end local 1 // java.lang.String str
end local 0 // java.lang.String this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/lang/String;
0 1 1 str Ljava/lang/String;
MethodParameters:
Name Flags
str
public int lastIndexOf(java.lang.String, int);
descriptor: (Ljava/lang/String;I)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=3, args_size=3
start local 0 // java.lang.String this
start local 1 // java.lang.String str
start local 2 // int fromIndex
0: .line 1827
aload 0 /* this */
getfield java.lang.String.value:[C
iconst_0
aload 0 /* this */
getfield java.lang.String.value:[C
arraylength
1: .line 1828
aload 1 /* str */
getfield java.lang.String.value:[C
iconst_0
aload 1 /* str */
getfield java.lang.String.value:[C
arraylength
iload 2 /* fromIndex */
2: .line 1827
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, java.lang.String, int);
descriptor: ([CIILjava/lang/String;I)I
flags: (0x0008) ACC_STATIC
Code:
stack=7, locals=5, args_size=5
start local 0 // char[] source
start local 1 // int sourceOffset
start local 2 // int sourceCount
start local 3 // java.lang.String target
start local 4 // int fromIndex
0: .line 1844
aload 0 /* source */
iload 1 /* sourceOffset */
iload 2 /* sourceCount */
1: .line 1845
aload 3 /* target */
getfield java.lang.String.value:[C
iconst_0
aload 3 /* target */
getfield java.lang.String.value:[C
arraylength
2: .line 1846
iload 4 /* fromIndex */
3: .line 1844
invokestatic java.lang.String.lastIndexOf:([CII[CIII)I
ireturn
end local 4 // int fromIndex
end local 3 // java.lang.String target
end local 2 // int sourceCount
end local 1 // int sourceOffset
end local 0 // char[] source
LocalVariableTable:
Start End Slot Name Signature
0 4 0 source [C
0 4 1 sourceOffset I
0 4 2 sourceCount I
0 4 3 target Ljava/lang/String;
0 4 4 fromIndex I
MethodParameters:
Name Flags
source
sourceOffset
sourceCount
target
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 1869
iload 2 /* sourceCount */
iload 5 /* targetCount */
isub
istore 7 /* rightIndex */
start local 7 // int rightIndex
1: .line 1870
iload 6 /* fromIndex */
ifge 3
2: .line 1871
iconst_m1
ireturn
3: .line 1873
StackMap locals: int
StackMap stack:
iload 6 /* fromIndex */
iload 7 /* rightIndex */
if_icmple 5
4: .line 1874
iload 7 /* rightIndex */
istore 6 /* fromIndex */
5: .line 1877
StackMap locals:
StackMap stack:
iload 5 /* targetCount */
ifne 7
6: .line 1878
iload 6 /* fromIndex */
ireturn
7: .line 1881
StackMap locals:
StackMap stack:
iload 4 /* targetOffset */
iload 5 /* targetCount */
iadd
iconst_1
isub
istore 8 /* strLastIndex */
start local 8 // int strLastIndex
8: .line 1882
aload 3 /* target */
iload 8 /* strLastIndex */
caload
istore 9 /* strLastChar */
start local 9 // char strLastChar
9: .line 1883
iload 1 /* sourceOffset */
iload 5 /* targetCount */
iadd
iconst_1
isub
istore 10 /* min */
start local 10 // int min
10: .line 1884
iload 10 /* min */
iload 6 /* fromIndex */
iadd
istore 11 /* i */
start local 11 // int i
11: .line 1888
goto 13
12: .line 1889
StackMap locals: char[] int int char[] int int int int int int int int
StackMap stack:
iinc 11 /* i */ -1
13: .line 1888
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 1891
StackMap locals:
StackMap stack:
iload 11 /* i */
iload 10 /* min */
if_icmpge 16
15: .line 1892
iconst_m1
ireturn
16: .line 1894
StackMap locals:
StackMap stack:
iload 11 /* i */
iconst_1
isub
istore 12 /* j */
start local 12 // int j
17: .line 1895
iload 12 /* j */
iload 5 /* targetCount */
iconst_1
isub
isub
istore 13 /* start */
start local 13 // int start
18: .line 1896
iload 8 /* strLastIndex */
iconst_1
isub
istore 14 /* k */
start local 14 // int k
19: .line 1898
goto 23
20: .line 1899
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 1900
iinc 11 /* i */ -1
22: .line 1901
goto 25
23: .line 1898
StackMap locals:
StackMap stack:
iload 12 /* j */
iload 13 /* start */
if_icmpgt 20
24: .line 1904
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 1887
StackMap locals:
StackMap stack:
goto 13
end local 11 // int i
end local 10 // int min
end local 9 // char strLastChar
end local 8 // int strLastIndex
end local 7 // int rightIndex
end local 6 // int fromIndex
end local 5 // int targetCount
end local 4 // int targetOffset
end local 3 // char[] target
end local 2 // int sourceCount
end local 1 // int sourceOffset
end local 0 // char[] source
LocalVariableTable:
Start End Slot Name Signature
0 26 0 source [C
0 26 1 sourceOffset I
0 26 2 sourceCount I
0 26 3 target [C
0 26 4 targetOffset I
0 26 5 targetCount I
0 26 6 fromIndex I
1 26 7 rightIndex I
8 26 8 strLastIndex I
9 26 9 strLastChar C
10 26 10 min I
11 26 11 i I
17 25 12 j I
18 25 13 start I
19 25 14 k I
MethodParameters:
Name Flags
source
sourceOffset
sourceCount
target
targetOffset
targetCount
fromIndex
public java.lang.String substring(int);
descriptor: (I)Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=2
start local 0 // java.lang.String this
start local 1 // int beginIndex
0: .line 1926
iload 1 /* beginIndex */
ifge 2
1: .line 1927
new java.lang.StringIndexOutOfBoundsException
dup
iload 1 /* beginIndex */
invokespecial java.lang.StringIndexOutOfBoundsException.<init>:(I)V
athrow
2: .line 1929
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield java.lang.String.value:[C
arraylength
iload 1 /* beginIndex */
isub
istore 2 /* subLen */
start local 2 // int subLen
3: .line 1930
iload 2 /* subLen */
ifge 5
4: .line 1931
new java.lang.StringIndexOutOfBoundsException
dup
iload 2 /* subLen */
invokespecial java.lang.StringIndexOutOfBoundsException.<init>:(I)V
athrow
5: .line 1933
StackMap locals: int
StackMap stack:
iload 1 /* beginIndex */
ifne 6
aload 0 /* this */
goto 7
StackMap locals:
StackMap stack:
6: new java.lang.String
dup
aload 0 /* this */
getfield java.lang.String.value:[C
iload 1 /* beginIndex */
iload 2 /* subLen */
invokespecial java.lang.String.<init>:([CII)V
StackMap locals:
StackMap stack: java.lang.String
7: areturn
end local 2 // int subLen
end local 1 // int beginIndex
end local 0 // java.lang.String this
LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Ljava/lang/String;
0 8 1 beginIndex I
3 8 2 subLen I
MethodParameters:
Name Flags
beginIndex
public java.lang.String substring(int, int);
descriptor: (II)Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=3
start local 0 // java.lang.String this
start local 1 // int beginIndex
start local 2 // int endIndex
0: .line 1959
iload 1 /* beginIndex */
ifge 2
1: .line 1960
new java.lang.StringIndexOutOfBoundsException
dup
iload 1 /* beginIndex */
invokespecial java.lang.StringIndexOutOfBoundsException.<init>:(I)V
athrow
2: .line 1962
StackMap locals:
StackMap stack:
iload 2 /* endIndex */
aload 0 /* this */
getfield java.lang.String.value:[C
arraylength
if_icmple 4
3: .line 1963
new java.lang.StringIndexOutOfBoundsException
dup
iload 2 /* endIndex */
invokespecial java.lang.StringIndexOutOfBoundsException.<init>:(I)V
athrow
4: .line 1965
StackMap locals:
StackMap stack:
iload 2 /* endIndex */
iload 1 /* beginIndex */
isub
istore 3 /* subLen */
start local 3 // int subLen
5: .line 1966
iload 3 /* subLen */
ifge 7
6: .line 1967
new java.lang.StringIndexOutOfBoundsException
dup
iload 3 /* subLen */
invokespecial java.lang.StringIndexOutOfBoundsException.<init>:(I)V
athrow
7: .line 1969
StackMap locals: int
StackMap stack:
iload 1 /* beginIndex */
ifne 8
iload 2 /* endIndex */
aload 0 /* this */
getfield java.lang.String.value:[C
arraylength
if_icmpne 8
aload 0 /* this */
goto 9
8: .line 1970
StackMap locals:
StackMap stack:
new java.lang.String
dup
aload 0 /* this */
getfield java.lang.String.value:[C
iload 1 /* beginIndex */
iload 3 /* subLen */
invokespecial java.lang.String.<init>:([CII)V
9: .line 1969
StackMap locals:
StackMap stack: java.lang.String
areturn
end local 3 // int subLen
end local 2 // int endIndex
end local 1 // int beginIndex
end local 0 // java.lang.String this
LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Ljava/lang/String;
0 10 1 beginIndex I
0 10 2 endIndex I
5 10 3 subLen I
MethodParameters:
Name Flags
beginIndex
endIndex
public java.lang.CharSequence subSequence(int, int);
descriptor: (II)Ljava/lang/CharSequence;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 // java.lang.String this
start local 1 // int beginIndex
start local 2 // int endIndex
0: .line 2003
aload 0 /* this */
iload 1 /* beginIndex */
iload 2 /* endIndex */
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
areturn
end local 2 // int endIndex
end local 1 // int beginIndex
end local 0 // java.lang.String this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/lang/String;
0 1 1 beginIndex I
0 1 2 endIndex I
MethodParameters:
Name Flags
beginIndex
endIndex
public java.lang.String concat(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=5, args_size=2
start local 0 // java.lang.String this
start local 1 // java.lang.String str
0: .line 2027
aload 1 /* str */
invokevirtual java.lang.String.length:()I
istore 2 /* otherLen */
start local 2 // int otherLen
1: .line 2028
iload 2 /* otherLen */
ifne 3
2: .line 2029
aload 0 /* this */
areturn
3: .line 2031
StackMap locals: int
StackMap stack:
aload 0 /* this */
getfield java.lang.String.value:[C
arraylength
istore 3 /* len */
start local 3 // int len
4: .line 2032
aload 0 /* this */
getfield java.lang.String.value:[C
iload 3 /* len */
iload 2 /* otherLen */
iadd
invokestatic java.util.Arrays.copyOf:([CI)[C
astore 4 /* buf */
start local 4 // char[] buf
5: .line 2033
aload 1 /* str */
aload 4 /* buf */
iload 3 /* len */
invokevirtual java.lang.String.getChars:([CI)V
6: .line 2034
new java.lang.String
dup
aload 4 /* buf */
iconst_1
invokespecial java.lang.String.<init>:([CZ)V
areturn
end local 4 // char[] buf
end local 3 // int len
end local 2 // int otherLen
end local 1 // java.lang.String str
end local 0 // java.lang.String this
LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Ljava/lang/String;
0 7 1 str Ljava/lang/String;
1 7 2 otherLen I
4 7 3 len I
5 7 4 buf [C
MethodParameters:
Name Flags
str
public java.lang.String replace(char, char);
descriptor: (CC)Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=8, args_size=3
start local 0 // java.lang.String this
start local 1 // char oldChar
start local 2 // char newChar
0: .line 2067
iload 1 /* oldChar */
iload 2 /* newChar */
if_icmpeq 23
1: .line 2068
aload 0 /* this */
getfield java.lang.String.value:[C
arraylength
istore 3 /* len */
start local 3 // int len
2: .line 2069
iconst_m1
istore 4 /* i */
start local 4 // int i
3: .line 2070
aload 0 /* this */
getfield java.lang.String.value:[C
astore 5 /* val */
start local 5 // char[] val
4: .line 2072
goto 7
5: .line 2073
StackMap locals: int int char[]
StackMap stack:
aload 5 /* val */
iload 4 /* i */
caload
iload 1 /* oldChar */
if_icmpne 7
6: .line 2074
goto 8
7: .line 2072
StackMap locals:
StackMap stack:
iinc 4 /* i */ 1
iload 4 /* i */
iload 3 /* len */
if_icmplt 5
8: .line 2077
StackMap locals:
StackMap stack:
iload 4 /* i */
iload 3 /* len */
if_icmpge 23
9: .line 2078
iload 3 /* len */
newarray 5
astore 6 /* buf */
start local 6 // char[] buf
10: .line 2079
iconst_0
istore 7 /* j */
start local 7 // int j
11: goto 14
12: .line 2080
StackMap locals: char[] int
StackMap stack:
aload 6 /* buf */
iload 7 /* j */
aload 5 /* val */
iload 7 /* j */
caload
castore
13: .line 2079
iinc 7 /* j */ 1
StackMap locals:
StackMap stack:
14: iload 7 /* j */
iload 4 /* i */
if_icmplt 12
end local 7 // int j
15: .line 2082
goto 21
16: .line 2083
StackMap locals:
StackMap stack:
aload 5 /* val */
iload 4 /* i */
caload
istore 7 /* c */
start local 7 // char c
17: .line 2084
aload 6 /* buf */
iload 4 /* i */
iload 7 /* c */
iload 1 /* oldChar */
if_icmpne 18
iload 2 /* newChar */
goto 19
StackMap locals: java.lang.String int int int int char[] char[] int
StackMap stack: char[] int
18: iload 7 /* c */
StackMap locals: java.lang.String int int int int char[] char[] int
StackMap stack: char[] int int
19: castore
20: .line 2085
iinc 4 /* i */ 1
end local 7 // char c
21: .line 2082
StackMap locals:
StackMap stack:
iload 4 /* i */
iload 3 /* len */
if_icmplt 16
22: .line 2087
new java.lang.String
dup
aload 6 /* buf */
iconst_1
invokespecial java.lang.String.<init>:([CZ)V
areturn
end local 6 // char[] buf
end local 5 // char[] val
end local 4 // int i
end local 3 // int len
23: .line 2090
StackMap locals: java.lang.String int int
StackMap stack:
aload 0 /* this */
areturn
end local 2 // char newChar
end local 1 // char oldChar
end local 0 // java.lang.String this
LocalVariableTable:
Start End Slot Name Signature
0 24 0 this Ljava/lang/String;
0 24 1 oldChar C
0 24 2 newChar C
2 23 3 len I
3 23 4 i I
4 23 5 val [C
10 23 6 buf [C
11 15 7 j I
17 21 7 c C
MethodParameters:
Name Flags
oldChar
newChar
public boolean matches(java.lang.String);
descriptor: (Ljava/lang/String;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 // java.lang.String this
start local 1 // java.lang.String regex
0: .line 2121
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 2133
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 2178
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 2223
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 2239
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 2240
aload 0 /* this */
2: .line 2239
invokevirtual java.util.regex.Pattern.matcher:(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
3: .line 2240
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 2239
areturn
end local 2 // java.lang.CharSequence replacement
end local 1 // java.lang.CharSequence target
end local 0 // java.lang.String this
LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljava/lang/String;
0 5 1 target Ljava/lang/CharSequence;
0 5 2 replacement Ljava/lang/CharSequence;
MethodParameters:
Name Flags
target
replacement
public java.lang.String[] split(java.lang.String, int);
descriptor: (Ljava/lang/String;I)[Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=10, args_size=3
start local 0 // java.lang.String this
start local 1 // java.lang.String regex
start local 2 // int limit
0: .line 2336
iconst_0
istore 3 /* ch */
start local 3 // char ch
1: .line 2337
aload 1 /* regex */
getfield java.lang.String.value:[C
arraylength
iconst_1
if_icmpne 3
2: .line 2338
ldc ".$|()[{^?*+\\"
aload 1 /* regex */
iconst_0
invokevirtual java.lang.String.charAt:(I)C
dup
istore 3 /* ch */
invokevirtual java.lang.String.indexOf:(I)I
iconst_m1
if_icmpeq 8
3: .line 2339
StackMap locals: int
StackMap stack:
aload 1 /* regex */
invokevirtual java.lang.String.length:()I
iconst_2
if_icmpne 36
4: .line 2340
aload 1 /* regex */
iconst_0
invokevirtual java.lang.String.charAt:(I)C
bipush 92
if_icmpne 36
5: .line 2341
aload 1 /* regex */
iconst_1
invokevirtual java.lang.String.charAt:(I)C
dup
istore 3 /* ch */
bipush 48
isub
bipush 57
iload 3 /* ch */
isub
ior
ifge 36
6: .line 2342
iload 3 /* ch */
bipush 97
isub
bipush 122
iload 3 /* ch */
isub
ior
ifge 36
7: .line 2343
iload 3 /* ch */
bipush 65
isub
bipush 90
iload 3 /* ch */
isub
ior
ifge 36
8: .line 2344
StackMap locals:
StackMap stack:
iload 3 /* ch */
ldc 55296
if_icmplt 10
9: .line 2345
iload 3 /* ch */
ldc 57343
if_icmple 36
10: .line 2347
StackMap locals:
StackMap stack:
iconst_0
istore 4 /* off */
start local 4 // int off
11: .line 2348
iconst_0
istore 5 /* next */
start local 5 // int next
12: .line 2349
iload 2 /* limit */
ifle 13
iconst_1
goto 14
StackMap locals: int int
StackMap stack:
13: iconst_0
StackMap locals:
StackMap stack: int
14: istore 6 /* limited */
start local 6 // boolean limited
15: .line 2350
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 7 /* list */
start local 7 // java.util.ArrayList list
16: .line 2351
goto 24
17: .line 2352
StackMap locals: int java.util.ArrayList
StackMap stack:
iload 6 /* limited */
ifeq 18
aload 7 /* list */
invokevirtual java.util.ArrayList.size:()I
iload 2 /* limit */
iconst_1
isub
if_icmpge 21
18: .line 2353
StackMap locals:
StackMap stack:
aload 7 /* list */
aload 0 /* this */
iload 4 /* off */
iload 5 /* next */
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
19: .line 2354
iload 5 /* next */
iconst_1
iadd
istore 4 /* off */
20: .line 2355
goto 24
21: .line 2357
StackMap locals:
StackMap stack:
aload 7 /* list */
aload 0 /* this */
iload 4 /* off */
aload 0 /* this */
getfield java.lang.String.value:[C
arraylength
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
22: .line 2358
aload 0 /* this */
getfield java.lang.String.value:[C
arraylength
istore 4 /* off */
23: .line 2359
goto 25
24: .line 2351
StackMap locals:
StackMap stack:
aload 0 /* this */
iload 3 /* ch */
iload 4 /* off */
invokevirtual java.lang.String.indexOf:(II)I
dup
istore 5 /* next */
iconst_m1
if_icmpne 17
25: .line 2363
StackMap locals:
StackMap stack:
iload 4 /* off */
ifne 27
26: .line 2364
iconst_1
anewarray java.lang.String
dup
iconst_0
aload 0 /* this */
aastore
areturn
27: .line 2367
StackMap locals:
StackMap stack:
iload 6 /* limited */
ifeq 28
aload 7 /* list */
invokevirtual java.util.ArrayList.size:()I
iload 2 /* limit */
if_icmpge 29
28: .line 2368
StackMap locals:
StackMap stack:
aload 7 /* list */
aload 0 /* this */
iload 4 /* off */
aload 0 /* this */
getfield java.lang.String.value:[C
arraylength
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
29: .line 2371
StackMap locals:
StackMap stack:
aload 7 /* list */
invokevirtual java.util.ArrayList.size:()I
istore 8 /* resultSize */
start local 8 // int resultSize
30: .line 2372
iload 2 /* limit */
ifne 34
31: .line 2373
goto 33
32: .line 2374
StackMap locals: int
StackMap stack:
iinc 8 /* resultSize */ -1
33: .line 2373
StackMap locals:
StackMap stack:
iload 8 /* resultSize */
ifle 34
aload 7 /* list */
iload 8 /* resultSize */
iconst_1
isub
invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
checkcast java.lang.String
invokevirtual java.lang.String.length:()I
ifeq 32
34: .line 2377
StackMap locals:
StackMap stack:
iload 8 /* resultSize */
anewarray java.lang.String
astore 9 /* result */
start local 9 // java.lang.String[] result
35: .line 2378
aload 7 /* list */
iconst_0
iload 8 /* resultSize */
invokevirtual java.util.ArrayList.subList:(II)Ljava/util/List;
aload 9 /* result */
invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast java.lang.String[]
areturn
end local 9 // java.lang.String[] result
end local 8 // int resultSize
end local 7 // java.util.ArrayList list
end local 6 // boolean limited
end local 5 // int next
end local 4 // int off
36: .line 2380
StackMap locals: java.lang.String java.lang.String int int
StackMap stack:
aload 1 /* regex */
invokestatic java.util.regex.Pattern.compile:(Ljava/lang/String;)Ljava/util/regex/Pattern;
aload 0 /* this */
iload 2 /* limit */
invokevirtual java.util.regex.Pattern.split:(Ljava/lang/CharSequence;I)[Ljava/lang/String;
areturn
end local 3 // char ch
end local 2 // int limit
end local 1 // java.lang.String regex
end local 0 // java.lang.String this
LocalVariableTable:
Start End Slot Name Signature
0 37 0 this Ljava/lang/String;
0 37 1 regex Ljava/lang/String;
0 37 2 limit I
1 37 3 ch C
11 36 4 off I
12 36 5 next I
15 36 6 limited Z
16 36 7 list Ljava/util/ArrayList<Ljava/lang/String;>;
30 36 8 resultSize I
35 36 9 result [Ljava/lang/String;
MethodParameters:
Name Flags
regex
limit
public java.lang.String[] split(java.lang.String);
descriptor: (Ljava/lang/String;)[Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 // java.lang.String this
start local 1 // java.lang.String regex
0: .line 2422
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 static java.lang.String join(java.lang.CharSequence, java.lang.CharSequence[]);
descriptor: (Ljava/lang/CharSequence;[Ljava/lang/CharSequence;)Ljava/lang/String;
flags: (0x0089) ACC_PUBLIC, ACC_STATIC, ACC_VARARGS
Code:
stack=3, locals=7, args_size=2
start local 0 // java.lang.CharSequence delimiter
start local 1 // java.lang.CharSequence[] elements
0: .line 2451
aload 0 /* delimiter */
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
pop
1: .line 2452
aload 1 /* elements */
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
pop
2: .line 2454
new java.util.StringJoiner
dup
aload 0 /* delimiter */
invokespecial java.util.StringJoiner.<init>:(Ljava/lang/CharSequence;)V
astore 2 /* joiner */
start local 2 // java.util.StringJoiner joiner
3: .line 2455
aload 1 /* elements */
dup
astore 6
arraylength
istore 5
iconst_0
istore 4
goto 7
StackMap locals: java.lang.CharSequence java.lang.CharSequence[] java.util.StringJoiner top int int java.lang.CharSequence[]
StackMap stack:
4: aload 6
iload 4
aaload
astore 3 /* cs */
start local 3 // java.lang.CharSequence cs
5: .line 2456
aload 2 /* joiner */
aload 3 /* cs */
invokevirtual java.util.StringJoiner.add:(Ljava/lang/CharSequence;)Ljava/util/StringJoiner;
pop
end local 3 // java.lang.CharSequence cs
6: .line 2455
iinc 4 1
StackMap locals:
StackMap stack:
7: iload 4
iload 5
if_icmplt 4
8: .line 2458
aload 2 /* joiner */
invokevirtual java.util.StringJoiner.toString:()Ljava/lang/String;
areturn
end local 2 // java.util.StringJoiner joiner
end local 1 // java.lang.CharSequence[] elements
end local 0 // java.lang.CharSequence delimiter
LocalVariableTable:
Start End Slot Name Signature
0 9 0 delimiter Ljava/lang/CharSequence;
0 9 1 elements [Ljava/lang/CharSequence;
3 9 2 joiner Ljava/util/StringJoiner;
5 6 3 cs Ljava/lang/CharSequence;
MethodParameters:
Name Flags
delimiter
elements
public static java.lang.String join(java.lang.CharSequence, java.lang.Iterable<? extends java.lang.CharSequence>);
descriptor: (Ljava/lang/CharSequence;Ljava/lang/Iterable;)Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=5, args_size=2
start local 0 // java.lang.CharSequence delimiter
start local 1 // java.lang.Iterable elements
0: .line 2500
aload 0 /* delimiter */
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
pop
1: .line 2501
aload 1 /* elements */
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
pop
2: .line 2502
new java.util.StringJoiner
dup
aload 0 /* delimiter */
invokespecial java.util.StringJoiner.<init>:(Ljava/lang/CharSequence;)V
astore 2 /* joiner */
start local 2 // java.util.StringJoiner joiner
3: .line 2503
aload 1 /* elements */
invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
astore 4
goto 6
StackMap locals: java.lang.CharSequence java.lang.Iterable java.util.StringJoiner top java.util.Iterator
StackMap stack:
4: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.CharSequence
astore 3 /* cs */
start local 3 // java.lang.CharSequence cs
5: .line 2504
aload 2 /* joiner */
aload 3 /* cs */
invokevirtual java.util.StringJoiner.add:(Ljava/lang/CharSequence;)Ljava/util/StringJoiner;
pop
end local 3 // java.lang.CharSequence cs
6: .line 2503
StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 4
7: .line 2506
aload 2 /* joiner */
invokevirtual java.util.StringJoiner.toString:()Ljava/lang/String;
areturn
end local 2 // java.util.StringJoiner joiner
end local 1 // java.lang.Iterable elements
end local 0 // java.lang.CharSequence delimiter
LocalVariableTable:
Start End Slot Name Signature
0 8 0 delimiter Ljava/lang/CharSequence;
0 8 1 elements Ljava/lang/Iterable<+Ljava/lang/CharSequence;>;
3 8 2 joiner Ljava/util/StringJoiner;
5 6 3 cs Ljava/lang/CharSequence;
Signature: (Ljava/lang/CharSequence;Ljava/lang/Iterable<+Ljava/lang/CharSequence;>;)Ljava/lang/String;
MethodParameters:
Name Flags
delimiter
elements
public java.lang.String toLowerCase(java.util.Locale);
descriptor: (Ljava/util/Locale;)Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=15, args_size=2
start local 0 // java.lang.String this
start local 1 // java.util.Locale locale
0: .line 2562
aload 1 /* locale */
ifnonnull 2
1: .line 2563
new java.lang.NullPointerException
dup
invokespecial java.lang.NullPointerException.<init>:()V
athrow
2: .line 2567
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield java.lang.String.value:[C
arraylength
istore 3 /* len */
start local 3 // int len
3: .line 2571
iconst_0
istore 2 /* firstUpper */
start local 2 // int firstUpper
4: goto 16
5: .line 2572
StackMap locals: int int
StackMap stack:
aload 0 /* this */
getfield java.lang.String.value:[C
iload 2 /* firstUpper */
caload
istore 4 /* c */
start local 4 // char c
6: .line 2573
iload 4 /* c */
ldc 55296
if_icmplt 13
7: .line 2574
iload 4 /* c */
ldc 56319
if_icmpgt 13
8: .line 2575
aload 0 /* this */
iload 2 /* firstUpper */
invokevirtual java.lang.String.codePointAt:(I)I
istore 5 /* supplChar */
start local 5 // int supplChar
9: .line 2576
iload 5 /* supplChar */
iload 5 /* supplChar */
invokestatic java.lang.Character.toLowerCase:(I)I
if_icmpeq 11
10: .line 2577
goto 18
11: .line 2579
StackMap locals: int int
StackMap stack:
iload 2 /* firstUpper */
iload 5 /* supplChar */
invokestatic java.lang.Character.charCount:(I)I
iadd
istore 2 /* firstUpper */
end local 5 // int supplChar
12: .line 2580
goto 16
13: .line 2581
StackMap locals:
StackMap stack:
iload 4 /* c */
iload 4 /* c */
invokestatic java.lang.Character.toLowerCase:(C)C
if_icmpeq 15
14: .line 2582
goto 18
15: .line 2584
StackMap locals:
StackMap stack:
iinc 2 /* firstUpper */ 1
end local 4 // char c
16: .line 2571
StackMap locals:
StackMap stack:
iload 2 /* firstUpper */
iload 3 /* len */
if_icmplt 5
17: .line 2587
aload 0 /* this */
areturn
18: .line 2590
StackMap locals:
StackMap stack:
iload 3 /* len */
newarray 5
astore 4 /* result */
start local 4 // char[] result
19: .line 2591
iconst_0
istore 5 /* resultOffset */
start local 5 // int resultOffset
20: .line 2595
aload 0 /* this */
getfield java.lang.String.value:[C
iconst_0
aload 4 /* result */
iconst_0
iload 2 /* firstUpper */
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
21: .line 2597
aload 1 /* locale */
invokevirtual java.util.Locale.getLanguage:()Ljava/lang/String;
astore 6 /* lang */
start local 6 // java.lang.String lang
22: .line 2599
aload 6 /* lang */
ldc "tr"
if_acmpeq 24
aload 6 /* lang */
ldc "az"
if_acmpeq 24
aload 6 /* lang */
ldc "lt"
if_acmpeq 24
23: .line 2598
iconst_0
goto 25
StackMap locals: char[] int java.lang.String
StackMap stack:
24: iconst_1
StackMap locals:
StackMap stack: int
25: istore 7 /* localeDependent */
start local 7 // boolean localeDependent
26: .line 2604
iload 2 /* firstUpper */
istore 12 /* i */
start local 12 // int i
27: goto 65
28: .line 2605
StackMap locals: java.lang.String java.util.Locale int int char[] int java.lang.String int top top top top int
StackMap stack:
aload 0 /* this */
getfield java.lang.String.value:[C
iload 12 /* i */
caload
istore 10 /* srcChar */
start local 10 // int srcChar
29: .line 2606
iload 10 /* srcChar */
i2c
ldc 55296
if_icmplt 34
30: .line 2607
iload 10 /* srcChar */
i2c
ldc 56319
if_icmpgt 34
31: .line 2608
aload 0 /* this */
iload 12 /* i */
invokevirtual java.lang.String.codePointAt:(I)I
istore 10 /* srcChar */
32: .line 2609
iload 10 /* srcChar */
invokestatic java.lang.Character.charCount:(I)I
istore 11 /* srcCount */
start local 11 // int srcCount
33: .line 2610
goto 35
end local 11 // int srcCount
34: .line 2611
StackMap locals: java.lang.String java.util.Locale int int char[] int java.lang.String int top top int top int
StackMap stack:
iconst_1
istore 11 /* srcCount */
start local 11 // int srcCount
35: .line 2613
StackMap locals: java.lang.String java.util.Locale int int char[] int java.lang.String int top top int int int
StackMap stack:
iload 7 /* localeDependent */
ifne 38
36: .line 2614
iload 10 /* srcChar */
sipush 931
if_icmpeq 38
37: .line 2615
iload 10 /* srcChar */
sipush 304
if_icmpne 40
38: .line 2616
StackMap locals:
StackMap stack:
aload 0 /* this */
iload 12 /* i */
aload 1 /* locale */
invokestatic java.lang.ConditionalSpecialCasing.toLowerCaseEx:(Ljava/lang/String;ILjava/util/Locale;)I
istore 9 /* lowerChar */
start local 9 // int lowerChar
39: .line 2617
goto 41
end local 9 // int lowerChar
40: .line 2618
StackMap locals:
StackMap stack:
iload 10 /* srcChar */
invokestatic java.lang.Character.toLowerCase:(I)I
istore 9 /* lowerChar */
start local 9 // int lowerChar
41: .line 2620
StackMap locals: java.lang.String java.util.Locale int int char[] int java.lang.String int top int int int int
StackMap stack:
iload 9 /* lowerChar */
iconst_m1
if_icmpeq 43
42: .line 2621
iload 9 /* lowerChar */
ldc 65536
if_icmplt 63
43: .line 2622
StackMap locals:
StackMap stack:
iload 9 /* lowerChar */
iconst_m1
if_icmpne 47
44: .line 2624
aload 0 /* this */
iload 12 /* i */
aload 1 /* locale */
invokestatic java.lang.ConditionalSpecialCasing.toLowerCaseCharArray:(Ljava/lang/String;ILjava/util/Locale;)[C
45: .line 2623
astore 8 /* lowerCharArray */
start local 8 // char[] lowerCharArray
46: .line 2625
goto 51
end local 8 // char[] lowerCharArray
StackMap locals:
StackMap stack:
47: iload 11 /* srcCount */
iconst_2
if_icmpne 50
48: .line 2626
iload 5 /* resultOffset */
iload 9 /* lowerChar */
aload 4 /* result */
iload 12 /* i */
iload 5 /* resultOffset */
iadd
invokestatic java.lang.Character.toChars:(I[CI)I
iload 11 /* srcCount */
isub
iadd
istore 5 /* resultOffset */
49: .line 2627
goto 64
50: .line 2629
StackMap locals:
StackMap stack:
iload 9 /* lowerChar */
invokestatic java.lang.Character.toChars:(I)[C
astore 8 /* lowerCharArray */
start local 8 // char[] lowerCharArray
51: .line 2633
StackMap locals: java.lang.String java.util.Locale int int char[] int java.lang.String int char[] int int int int
StackMap stack:
aload 8 /* lowerCharArray */
arraylength
istore 13 /* mapLen */
start local 13 // int mapLen
52: .line 2634
iload 13 /* mapLen */
iload 11 /* srcCount */
if_icmple 56
53: .line 2635
aload 4 /* result */
arraylength
iload 13 /* mapLen */
iadd
iload 11 /* srcCount */
isub
newarray 5
astore 14 /* result2 */
start local 14 // char[] result2
54: .line 2636
aload 4 /* result */
iconst_0
aload 14 /* result2 */
iconst_0
iload 12 /* i */
iload 5 /* resultOffset */
iadd
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
55: .line 2637
aload 14 /* result2 */
astore 4 /* result */
end local 14 // char[] result2
56: .line 2639
StackMap locals: int
StackMap stack:
iconst_0
istore 14 /* x */
start local 14 // int x
57: goto 60
58: .line 2640
StackMap locals: int
StackMap stack:
aload 4 /* result */
iload 12 /* i */
iload 5 /* resultOffset */
iadd
iload 14 /* x */
iadd
aload 8 /* lowerCharArray */
iload 14 /* x */
caload
castore
59: .line 2639
iinc 14 /* x */ 1
StackMap locals:
StackMap stack:
60: iload 14 /* x */
iload 13 /* mapLen */
if_icmplt 58
end local 14 // int x
61: .line 2642
iload 5 /* resultOffset */
iload 13 /* mapLen */
iload 11 /* srcCount */
isub
iadd
istore 5 /* resultOffset */
end local 13 // int mapLen
62: .line 2643
goto 64
end local 8 // char[] lowerCharArray
63: .line 2644
StackMap locals: java.lang.String java.util.Locale int int char[] int java.lang.String int top int int int int
StackMap stack:
aload 4 /* result */
iload 12 /* i */
iload 5 /* resultOffset */
iadd
iload 9 /* lowerChar */
i2c
castore
64: .line 2604
StackMap locals:
StackMap stack:
iload 12 /* i */
iload 11 /* srcCount */
iadd
istore 12 /* i */
end local 11 // int srcCount
end local 10 // int srcChar
end local 9 // int lowerChar
StackMap locals: java.lang.String java.util.Locale int int char[] int java.lang.String int top top top top int
StackMap stack:
65: iload 12 /* i */
iload 3 /* len */
if_icmplt 28
end local 12 // int i
66: .line 2647
new java.lang.String
dup
aload 4 /* result */
iconst_0
iload 3 /* len */
iload 5 /* resultOffset */
iadd
invokespecial java.lang.String.<init>:([CII)V
areturn
end local 7 // boolean localeDependent
end local 6 // java.lang.String lang
end local 5 // int resultOffset
end local 4 // char[] result
end local 3 // int len
end local 2 // int firstUpper
end local 1 // java.util.Locale locale
end local 0 // java.lang.String this
LocalVariableTable:
Start End Slot Name Signature
0 67 0 this Ljava/lang/String;
0 67 1 locale Ljava/util/Locale;
4 67 2 firstUpper I
3 67 3 len I
6 16 4 c C
9 12 5 supplChar I
19 67 4 result [C
20 67 5 resultOffset I
22 67 6 lang Ljava/lang/String;
26 67 7 localeDependent Z
46 47 8 lowerCharArray [C
51 63 8 lowerCharArray [C
39 40 9 lowerChar I
41 65 9 lowerChar I
29 65 10 srcChar I
33 34 11 srcCount I
35 65 11 srcCount I
27 66 12 i I
52 62 13 mapLen I
54 56 14 result2 [C
57 61 14 x I
MethodParameters:
Name Flags
locale
public java.lang.String toLowerCase();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 // java.lang.String this
0: .line 2670
aload 0 /* this */
invokestatic java.util.Locale.getDefault:()Ljava/util/Locale;
invokevirtual java.lang.String.toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
areturn
end local 0 // java.lang.String this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/lang/String;
public java.lang.String toUpperCase(java.util.Locale);
descriptor: (Ljava/util/Locale;)Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=15, args_size=2
start local 0 // java.lang.String this
start local 1 // java.util.Locale locale
0: .line 2722
aload 1 /* locale */
ifnonnull 2
1: .line 2723
new java.lang.NullPointerException
dup
invokespecial java.lang.NullPointerException.<init>:()V
athrow
2: .line 2727
StackMap locals:
StackMap stack:
aload 0 /* this */
getfield java.lang.String.value:[C
arraylength
istore 3 /* len */
start local 3 // int len
3: .line 2731
iconst_0
istore 2 /* firstLower */
start local 2 // int firstLower
4: goto 17
5: .line 2732
StackMap locals: int int
StackMap stack:
aload 0 /* this */
getfield java.lang.String.value:[C
iload 2 /* firstLower */
caload
istore 4 /* c */
start local 4 // int c
6: .line 2734
iload 4 /* c */
ldc 55296
if_icmplt 11
7: .line 2735
iload 4 /* c */
ldc 56319
if_icmpgt 11
8: .line 2736
aload 0 /* this */
iload 2 /* firstLower */
invokevirtual java.lang.String.codePointAt:(I)I
istore 4 /* c */
9: .line 2737
iload 4 /* c */
invokestatic java.lang.Character.charCount:(I)I
istore 5 /* srcCount */
start local 5 // int srcCount
10: .line 2738
goto 12
end local 5 // int srcCount
11: .line 2739
StackMap locals: int
StackMap stack:
iconst_1
istore 5 /* srcCount */
start local 5 // int srcCount
12: .line 2741
StackMap locals: int
StackMap stack:
iload 4 /* c */
invokestatic java.lang.Character.toUpperCaseEx:(I)I
istore 6 /* upperCaseChar */
start local 6 // int upperCaseChar
13: .line 2742
iload 6 /* upperCaseChar */
iconst_m1
if_icmpeq 19
14: .line 2743
iload 4 /* c */
iload 6 /* upperCaseChar */
if_icmpeq 16
15: .line 2744
goto 19
16: .line 2746
StackMap locals: int
StackMap stack:
iload 2 /* firstLower */
iload 5 /* srcCount */
iadd
istore 2 /* firstLower */
end local 6 // int upperCaseChar
end local 5 // int srcCount
end local 4 // int c
17: .line 2731
StackMap locals:
StackMap stack:
iload 2 /* firstLower */
iload 3 /* len */
if_icmplt 5
18: .line 2748
aload 0 /* this */
areturn
19: .line 2752
StackMap locals:
StackMap stack:
iconst_0
istore 4 /* resultOffset */
start local 4 // int resultOffset
20: .line 2753
iload 3 /* len */
newarray 5
astore 5 /* result */
start local 5 // char[] result
21: .line 2756
aload 0 /* this */
getfield java.lang.String.value:[C
iconst_0
aload 5 /* result */
iconst_0
iload 2 /* firstLower */
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
22: .line 2758
aload 1 /* locale */
invokevirtual java.util.Locale.getLanguage:()Ljava/lang/String;
astore 6 /* lang */
start local 6 // java.lang.String lang
23: .line 2760
aload 6 /* lang */
ldc "tr"
if_acmpeq 25
aload 6 /* lang */
ldc "az"
if_acmpeq 25
aload 6 /* lang */
ldc "lt"
if_acmpeq 25
24: .line 2759
iconst_0
goto 26
StackMap locals: int char[] java.lang.String
StackMap stack:
25: iconst_1
StackMap locals:
StackMap stack: int
26: istore 7 /* localeDependent */
start local 7 // boolean localeDependent
27: .line 2765
iload 2 /* firstLower */
istore 12 /* i */
start local 12 // int i
28: goto 67
29: .line 2766
StackMap locals: java.lang.String java.util.Locale int int int char[] java.lang.String int top top top top int
StackMap stack:
aload 0 /* this */
getfield java.lang.String.value:[C
iload 12 /* i */
caload
istore 10 /* srcChar */
start local 10 // int srcChar
30: .line 2767
iload 10 /* srcChar */
i2c
ldc 55296
if_icmplt 35
31: .line 2768
iload 10 /* srcChar */
i2c
ldc 56319
if_icmpgt 35
32: .line 2769
aload 0 /* this */
iload 12 /* i */
invokevirtual java.lang.String.codePointAt:(I)I
istore 10 /* srcChar */
33: .line 2770
iload 10 /* srcChar */
invokestatic java.lang.Character.charCount:(I)I
istore 11 /* srcCount */
start local 11 // int srcCount
34: .line 2771
goto 36
end local 11 // int srcCount
35: .line 2772
StackMap locals: java.lang.String java.util.Locale int int int char[] java.lang.String int top top int top int
StackMap stack:
iconst_1
istore 11 /* srcCount */
start local 11 // int srcCount
36: .line 2774
StackMap locals: java.lang.String java.util.Locale int int int char[] java.lang.String int top top int int int
StackMap stack:
iload 7 /* localeDependent */
ifeq 39
37: .line 2775
aload 0 /* this */
iload 12 /* i */
aload 1 /* locale */
invokestatic java.lang.ConditionalSpecialCasing.toUpperCaseEx:(Ljava/lang/String;ILjava/util/Locale;)I
istore 9 /* upperChar */
start local 9 // int upperChar
38: .line 2776
goto 40
end local 9 // int upperChar
39: .line 2777
StackMap locals:
StackMap stack:
iload 10 /* srcChar */
invokestatic java.lang.Character.toUpperCaseEx:(I)I
istore 9 /* upperChar */
start local 9 // int upperChar
40: .line 2779
StackMap locals: java.lang.String java.util.Locale int int int char[] java.lang.String int top int int int int
StackMap stack:
iload 9 /* upperChar */
iconst_m1
if_icmpeq 42
41: .line 2780
iload 9 /* upperChar */
ldc 65536
if_icmplt 65
42: .line 2781
StackMap locals:
StackMap stack:
iload 9 /* upperChar */
iconst_m1
if_icmpne 49
43: .line 2782
iload 7 /* localeDependent */
ifeq 47
44: .line 2784
aload 0 /* this */
iload 12 /* i */
aload 1 /* locale */
invokestatic java.lang.ConditionalSpecialCasing.toUpperCaseCharArray:(Ljava/lang/String;ILjava/util/Locale;)[C
45: .line 2783
astore 8 /* upperCharArray */
start local 8 // char[] upperCharArray
46: .line 2785
goto 53
end local 8 // char[] upperCharArray
47: .line 2786
StackMap locals:
StackMap stack:
iload 10 /* srcChar */
invokestatic java.lang.Character.toUpperCaseCharArray:(I)[C
astore 8 /* upperCharArray */
start local 8 // char[] upperCharArray
48: .line 2788
goto 53
end local 8 // char[] upperCharArray
StackMap locals:
StackMap stack:
49: iload 11 /* srcCount */
iconst_2
if_icmpne 52
50: .line 2789
iload 4 /* resultOffset */
iload 9 /* upperChar */
aload 5 /* result */
iload 12 /* i */
iload 4 /* resultOffset */
iadd
invokestatic java.lang.Character.toChars:(I[CI)I
iload 11 /* srcCount */
isub
iadd
istore 4 /* resultOffset */
51: .line 2790
goto 66
52: .line 2792
StackMap locals:
StackMap stack:
iload 9 /* upperChar */
invokestatic java.lang.Character.toChars:(I)[C
astore 8 /* upperCharArray */
start local 8 // char[] upperCharArray
53: .line 2796
StackMap locals: java.lang.String java.util.Locale int int int char[] java.lang.String int char[] int int int int
StackMap stack:
aload 8 /* upperCharArray */
arraylength
istore 13 /* mapLen */
start local 13 // int mapLen
54: .line 2797
iload 13 /* mapLen */
iload 11 /* srcCount */
if_icmple 58
55: .line 2798
aload 5 /* result */
arraylength
iload 13 /* mapLen */
iadd
iload 11 /* srcCount */
isub
newarray 5
astore 14 /* result2 */
start local 14 // char[] result2
56: .line 2799
aload 5 /* result */
iconst_0
aload 14 /* result2 */
iconst_0
iload 12 /* i */
iload 4 /* resultOffset */
iadd
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
57: .line 2800
aload 14 /* result2 */
astore 5 /* result */
end local 14 // char[] result2
58: .line 2802
StackMap locals: int
StackMap stack:
iconst_0
istore 14 /* x */
start local 14 // int x
59: goto 62
60: .line 2803
StackMap locals: int
StackMap stack:
aload 5 /* result */
iload 12 /* i */
iload 4 /* resultOffset */
iadd
iload 14 /* x */
iadd
aload 8 /* upperCharArray */
iload 14 /* x */
caload
castore
61: .line 2802
iinc 14 /* x */ 1
StackMap locals:
StackMap stack:
62: iload 14 /* x */
iload 13 /* mapLen */
if_icmplt 60
end local 14 // int x
63: .line 2805
iload 4 /* resultOffset */
iload 13 /* mapLen */
iload 11 /* srcCount */
isub
iadd
istore 4 /* resultOffset */
end local 13 // int mapLen
64: .line 2806
goto 66
end local 8 // char[] upperCharArray
65: .line 2807
StackMap locals: java.lang.String java.util.Locale int int int char[] java.lang.String int top int int int int
StackMap stack:
aload 5 /* result */
iload 12 /* i */
iload 4 /* resultOffset */
iadd
iload 9 /* upperChar */
i2c
castore
66: .line 2765
StackMap locals:
StackMap stack:
iload 12 /* i */
iload 11 /* srcCount */
iadd
istore 12 /* i */
end local 11 // int srcCount
end local 10 // int srcChar
end local 9 // int upperChar
StackMap locals: java.lang.String java.util.Locale int int int char[] java.lang.String int top top top top int
StackMap stack:
67: iload 12 /* i */
iload 3 /* len */
if_icmplt 29
end local 12 // int i
68: .line 2810
new java.lang.String
dup
aload 5 /* result */
iconst_0
iload 3 /* len */
iload 4 /* resultOffset */
iadd
invokespecial java.lang.String.<init>:([CII)V
areturn
end local 7 // boolean localeDependent
end local 6 // java.lang.String lang
end local 5 // char[] result
end local 4 // int resultOffset
end local 3 // int len
end local 2 // int firstLower
end local 1 // java.util.Locale locale
end local 0 // java.lang.String this
LocalVariableTable:
Start End Slot Name Signature
0 69 0 this Ljava/lang/String;
0 69 1 locale Ljava/util/Locale;
4 69 2 firstLower I
3 69 3 len I
6 17 4 c I
10 11 5 srcCount I
12 17 5 srcCount I
13 17 6 upperCaseChar I
20 69 4 resultOffset I
21 69 5 result [C
23 69 6 lang Ljava/lang/String;
27 69 7 localeDependent Z
46 47 8 upperCharArray [C
48 49 8 upperCharArray [C
53 65 8 upperCharArray [C
38 39 9 upperChar I
40 67 9 upperChar I
30 67 10 srcChar I
34 35 11 srcCount I
36 67 11 srcCount I
28 68 12 i I
54 64 13 mapLen I
56 58 14 result2 [C
59 63 14 x I
MethodParameters:
Name Flags
locale
public java.lang.String toUpperCase();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 // java.lang.String this
0: .line 2833
aload 0 /* this */
invokestatic java.util.Locale.getDefault:()Ljava/util/Locale;
invokevirtual java.lang.String.toUpperCase:(Ljava/util/Locale;)Ljava/lang/String;
areturn
end local 0 // java.lang.String this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljava/lang/String;
public java.lang.String trim();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=1
start local 0 // java.lang.String this
0: .line 2868
aload 0 /* this */
getfield java.lang.String.value:[C
arraylength
istore 1 /* len */
start local 1 // int len
1: .line 2869
iconst_0
istore 2 /* st */
start local 2 // int st
2: .line 2870
aload 0 /* this */
getfield java.lang.String.value:[C
astore 3 /* val */
start local 3 // char[] val
3: .line 2872
goto 5
4: .line 2873
StackMap locals: int int char[]
StackMap stack:
iinc 2 /* st */ 1
5: .line 2872
StackMap locals:
StackMap stack:
iload 2 /* st */
iload 1 /* len */
if_icmpge 8
aload 3 /* val */
iload 2 /* st */
caload
bipush 32
if_icmple 4
6: .line 2875
goto 8
7: .line 2876
StackMap locals:
StackMap stack:
iinc 1 /* len */ -1
8: .line 2875
StackMap locals:
StackMap stack:
iload 2 /* st */
iload 1 /* len */
if_icmpge 9
aload 3 /* val */
iload 1 /* len */
iconst_1
isub
caload
bipush 32
if_icmple 7
9: .line 2878
StackMap locals:
StackMap stack:
iload 2 /* st */
ifgt 10
iload 1 /* len */
aload 0 /* this */
getfield java.lang.String.value:[C
arraylength
if_icmpge 11
StackMap locals:
StackMap stack:
10: aload 0 /* this */
iload 2 /* st */
iload 1 /* len */
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
goto 12
StackMap locals:
StackMap stack:
11: aload 0 /* this */
StackMap locals:
StackMap stack: java.lang.String
12: areturn
end local 3 // char[] val
end local 2 // int st
end local 1 // int len
end local 0 // java.lang.String this
LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Ljava/lang/String;
1 13 1 len I
2 13 2 st I
3 13 3 val [C
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 // java.lang.String this
0: .line 2887
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 2899
aload 0 /* this */
getfield java.lang.String.value:[C
arraylength
newarray 5
astore 1 /* result */
start local 1 // char[] result
1: .line 2900
aload 0 /* this */
getfield java.lang.String.value:[C
iconst_0
aload 1 /* result */
iconst_0
aload 0 /* this */
getfield java.lang.String.value:[C
arraylength
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
2: .line 2901
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 2940
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 2981
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 2994
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 3008
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 3032
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 3049
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 3060
new java.lang.String
dup
aload 0 /* data */
invokespecial java.lang.String.<init>:([C)V
areturn
end local 0 // char[] data
LocalVariableTable:
Start End Slot Name Signature
0 1 0 data [C
MethodParameters:
Name Flags
data
public static java.lang.String valueOf(boolean);
descriptor: (Z)Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 // boolean b
0: .line 3072
iload 0 /* b */
ifeq 1
ldc "true"
goto 2
StackMap locals:
StackMap stack:
1: ldc "false"
StackMap locals:
StackMap stack: java.lang.String
2: areturn
end local 0 // boolean b
LocalVariableTable:
Start End Slot Name Signature
0 3 0 b Z
MethodParameters:
Name Flags
b
public static java.lang.String valueOf(char);
descriptor: (C)Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=2, args_size=1
start local 0 // char c
0: .line 3084
iconst_1
newarray 5
dup
iconst_0
iload 0 /* c */
castore
astore 1 /* data */
start local 1 // char[] data
1: .line 3085
new java.lang.String
dup
aload 1 /* data */
iconst_1
invokespecial java.lang.String.<init>:([CZ)V
areturn
end local 1 // char[] data
end local 0 // char c
LocalVariableTable:
Start End Slot Name Signature
0 2 0 c C
1 2 1 data [C
MethodParameters:
Name Flags
c
public static java.lang.String valueOf(int);
descriptor: (I)Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 // int i
0: .line 3099
iload 0 /* i */
invokestatic java.lang.Integer.toString:(I)Ljava/lang/String;
areturn
end local 0 // int i
LocalVariableTable:
Start End Slot Name Signature
0 1 0 i I
MethodParameters:
Name Flags
i
public static java.lang.String valueOf(long);
descriptor: (J)Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 // long l
0: .line 3113
lload 0 /* l */
invokestatic java.lang.Long.toString:(J)Ljava/lang/String;
areturn
end local 0 // long l
LocalVariableTable:
Start End Slot Name Signature
0 1 0 l J
MethodParameters:
Name Flags
l
public static java.lang.String valueOf(float);
descriptor: (F)Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 // float f
0: .line 3127
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 3141
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