Skip to content

Instantly share code, notes, and snippets.

@augustt198
Created January 15, 2015 02:43
Show Gist options
  • Save augustt198/512a8206676fc08f7aa5 to your computer and use it in GitHub Desktop.
Save augustt198/512a8206676fc08f7aa5 to your computer and use it in GitHub Desktop.
Compiled from "String.java"
public final class java.lang.String implements java.io.Serializable, java.lang.Comparable<java.lang.String>, java.lang.CharSequence {
public static final java.util.Comparator<java.lang.String> CASE_INSENSITIVE_ORDER;
public java.lang.String();
Code:
0: aload_0
1: invokespecial #1 // Method java/lang/Object."<init>":()V
4: aload_0
5: iconst_0
6: newarray char
8: putfield #2 // Field value:[C
11: return
public java.lang.String(java.lang.String);
Code:
0: aload_0
1: invokespecial #1 // Method java/lang/Object."<init>":()V
4: aload_0
5: aload_1
6: getfield #2 // Field value:[C
9: putfield #2 // Field value:[C
12: aload_0
13: aload_1
14: getfield #3 // Field hash:I
17: putfield #3 // Field hash:I
20: return
public java.lang.String(char[]);
Code:
0: aload_0
1: invokespecial #1 // Method java/lang/Object."<init>":()V
4: aload_0
5: aload_1
6: aload_1
7: arraylength
8: invokestatic #4 // Method java/util/Arrays.copyOf:([CI)[C
11: putfield #2 // Field value:[C
14: return
public java.lang.String(char[], int, int);
Code:
0: aload_0
1: invokespecial #1 // Method java/lang/Object."<init>":()V
4: iload_2
5: ifge 17
8: new #5 // class java/lang/StringIndexOutOfBoundsException
11: dup
12: iload_2
13: invokespecial #6 // Method java/lang/StringIndexOutOfBoundsException."<init>":(I)V
16: athrow
17: iload_3
18: ifge 30
21: new #5 // class java/lang/StringIndexOutOfBoundsException
24: dup
25: iload_3
26: invokespecial #6 // Method java/lang/StringIndexOutOfBoundsException."<init>":(I)V
29: athrow
30: iload_2
31: aload_1
32: arraylength
33: iload_3
34: isub
35: if_icmple 49
38: new #5 // class java/lang/StringIndexOutOfBoundsException
41: dup
42: iload_2
43: iload_3
44: iadd
45: invokespecial #6 // Method java/lang/StringIndexOutOfBoundsException."<init>":(I)V
48: athrow
49: aload_0
50: aload_1
51: iload_2
52: iload_2
53: iload_3
54: iadd
55: invokestatic #7 // Method java/util/Arrays.copyOfRange:([CII)[C
58: putfield #2 // Field value:[C
61: return
public java.lang.String(int[], int, int);
Code:
0: aload_0
1: invokespecial #1 // Method java/lang/Object."<init>":()V
4: iload_2
5: ifge 17
8: new #5 // class java/lang/StringIndexOutOfBoundsException
11: dup
12: iload_2
13: invokespecial #6 // Method java/lang/StringIndexOutOfBoundsException."<init>":(I)V
16: athrow
17: iload_3
18: ifge 30
21: new #5 // class java/lang/StringIndexOutOfBoundsException
24: dup
25: iload_3
26: invokespecial #6 // Method java/lang/StringIndexOutOfBoundsException."<init>":(I)V
29: athrow
30: iload_2
31: aload_1
32: arraylength
33: iload_3
34: isub
35: if_icmple 49
38: new #5 // class java/lang/StringIndexOutOfBoundsException
41: dup
42: iload_2
43: iload_3
44: iadd
45: invokespecial #6 // Method java/lang/StringIndexOutOfBoundsException."<init>":(I)V
48: athrow
49: iload_2
50: iload_3
51: iadd
52: istore 4
54: iload_3
55: istore 5
57: iload_2
58: istore 6
60: iload 6
62: iload 4
64: if_icmpge 117
67: aload_1
68: iload 6
70: iaload
71: istore 7
73: iload 7
75: invokestatic #8 // Method java/lang/Character.isBmpCodePoint:(I)Z
78: ifeq 84
81: goto 111
84: iload 7
86: invokestatic #9 // Method java/lang/Character.isValidCodePoint:(I)Z
89: ifeq 98
92: iinc 5, 1
95: goto 111
98: new #10 // class java/lang/IllegalArgumentException
101: dup
102: iload 7
104: invokestatic #11 // Method java/lang/Integer.toString:(I)Ljava/lang/String;
107: invokespecial #12 // Method java/lang/IllegalArgumentException."<init>":(Ljava/lang/String;)V
110: athrow
111: iinc 6, 1
114: goto 60
117: iload 5
119: newarray char
121: astore 6
123: iload_2
124: istore 7
126: iconst_0
127: istore 8
129: iload 7
131: iload 4
133: if_icmpge 182
136: aload_1
137: iload 7
139: iaload
140: istore 9
142: iload 9
144: invokestatic #8 // Method java/lang/Character.isBmpCodePoint:(I)Z
147: ifeq 161
150: aload 6
152: iload 8
154: iload 9
156: i2c
157: castore
158: goto 173
161: iload 9
163: aload 6
165: iload 8
167: iinc 8, 1
170: invokestatic #13 // Method java/lang/Character.toSurrogates:(I[CI)V
173: iinc 7, 1
176: iinc 8, 1
179: goto 129
182: aload_0
183: aload 6
185: putfield #2 // Field value:[C
188: return
public java.lang.String(byte[], int, int, int);
Code:
0: aload_0
1: invokespecial #1 // Method java/lang/Object."<init>":()V
4: aload_1
5: iload_3
6: iload 4
8: invokestatic #14 // Method checkBounds:([BII)V
11: iload 4
13: newarray char
15: astore 5
17: iload_2
18: ifne 55
21: iload 4
23: istore 6
25: iload 6
27: iinc 6, -1
30: ifle 52
33: aload 5
35: iload 6
37: aload_1
38: iload 6
40: iload_3
41: iadd
42: baload
43: sipush 255
46: iand
47: i2c
48: castore
49: goto 25
52: goto 93
55: iload_2
56: bipush 8
58: ishl
59: istore_2
60: iload 4
62: istore 6
64: iload 6
66: iinc 6, -1
69: ifle 93
72: aload 5
74: iload 6
76: iload_2
77: aload_1
78: iload 6
80: iload_3
81: iadd
82: baload
83: sipush 255
86: iand
87: ior
88: i2c
89: castore
90: goto 64
93: aload_0
94: aload 5
96: putfield #2 // Field value:[C
99: return
public java.lang.String(byte[], int);
Code:
0: aload_0
1: aload_1
2: iload_2
3: iconst_0
4: aload_1
5: arraylength
6: invokespecial #15 // Method "<init>":([BIII)V
9: return
public java.lang.String(byte[], int, int, java.lang.String) throws java.io.UnsupportedEncodingException;
Code:
0: aload_0
1: invokespecial #1 // Method java/lang/Object."<init>":()V
4: aload 4
6: ifnonnull 19
9: new #16 // class java/lang/NullPointerException
12: dup
13: ldc #17 // String charsetName
15: invokespecial #18 // Method java/lang/NullPointerException."<init>":(Ljava/lang/String;)V
18: athrow
19: aload_1
20: iload_2
21: iload_3
22: invokestatic #14 // Method checkBounds:([BII)V
25: aload_0
26: aload 4
28: aload_1
29: iload_2
30: iload_3
31: invokestatic #19 // Method java/lang/StringCoding.decode:(Ljava/lang/String;[BII)[C
34: putfield #2 // Field value:[C
37: return
public java.lang.String(byte[], int, int, java.nio.charset.Charset);
Code:
0: aload_0
1: invokespecial #1 // Method java/lang/Object."<init>":()V
4: aload 4
6: ifnonnull 19
9: new #16 // class java/lang/NullPointerException
12: dup
13: ldc #20 // String charset
15: invokespecial #18 // Method java/lang/NullPointerException."<init>":(Ljava/lang/String;)V
18: athrow
19: aload_1
20: iload_2
21: iload_3
22: invokestatic #14 // Method checkBounds:([BII)V
25: aload_0
26: aload 4
28: aload_1
29: iload_2
30: iload_3
31: invokestatic #21 // Method java/lang/StringCoding.decode:(Ljava/nio/charset/Charset;[BII)[C
34: putfield #2 // Field value:[C
37: return
public java.lang.String(byte[], java.lang.String) throws java.io.UnsupportedEncodingException;
Code:
0: aload_0
1: aload_1
2: iconst_0
3: aload_1
4: arraylength
5: aload_2
6: invokespecial #22 // Method "<init>":([BIILjava/lang/String;)V
9: return
public java.lang.String(byte[], java.nio.charset.Charset);
Code:
0: aload_0
1: aload_1
2: iconst_0
3: aload_1
4: arraylength
5: aload_2
6: invokespecial #23 // Method "<init>":([BIILjava/nio/charset/Charset;)V
9: return
public java.lang.String(byte[], int, int);
Code:
0: aload_0
1: invokespecial #1 // Method java/lang/Object."<init>":()V
4: aload_1
5: iload_2
6: iload_3
7: invokestatic #14 // Method checkBounds:([BII)V
10: aload_0
11: aload_1
12: iload_2
13: iload_3
14: invokestatic #24 // Method java/lang/StringCoding.decode:([BII)[C
17: putfield #2 // Field value:[C
20: return
public java.lang.String(byte[]);
Code:
0: aload_0
1: aload_1
2: iconst_0
3: aload_1
4: arraylength
5: invokespecial #25 // Method "<init>":([BII)V
8: return
public java.lang.String(java.lang.StringBuffer);
Code:
0: aload_0
1: invokespecial #1 // Method java/lang/Object."<init>":()V
4: aload_1
5: dup
6: astore_2
7: monitorenter
8: aload_0
9: aload_1
10: invokevirtual #26 // Method java/lang/StringBuffer.getValue:()[C
13: aload_1
14: invokevirtual #27 // Method java/lang/StringBuffer.length:()I
17: invokestatic #4 // Method java/util/Arrays.copyOf:([CI)[C
20: putfield #2 // Field value:[C
23: aload_2
24: monitorexit
25: goto 33
28: astore_3
29: aload_2
30: monitorexit
31: aload_3
32: athrow
33: return
Exception table:
from to target type
8 25 28 any
28 31 28 any
public java.lang.String(java.lang.StringBuilder);
Code:
0: aload_0
1: invokespecial #1 // Method java/lang/Object."<init>":()V
4: aload_0
5: aload_1
6: invokevirtual #28 // Method java/lang/StringBuilder.getValue:()[C
9: aload_1
10: invokevirtual #29 // Method java/lang/StringBuilder.length:()I
13: invokestatic #4 // Method java/util/Arrays.copyOf:([CI)[C
16: putfield #2 // Field value:[C
19: return
java.lang.String(char[], boolean);
Code:
0: aload_0
1: invokespecial #1 // Method java/lang/Object."<init>":()V
4: aload_0
5: aload_1
6: putfield #2 // Field value:[C
9: return
public int length();
Code:
0: aload_0
1: getfield #2 // Field value:[C
4: arraylength
5: ireturn
public boolean isEmpty();
Code:
0: aload_0
1: getfield #2 // Field value:[C
4: arraylength
5: ifne 12
8: iconst_1
9: goto 13
12: iconst_0
13: ireturn
public char charAt(int);
Code:
0: iload_1
1: iflt 13
4: iload_1
5: aload_0
6: getfield #2 // Field value:[C
9: arraylength
10: if_icmplt 22
13: new #5 // class java/lang/StringIndexOutOfBoundsException
16: dup
17: iload_1
18: invokespecial #6 // Method java/lang/StringIndexOutOfBoundsException."<init>":(I)V
21: athrow
22: aload_0
23: getfield #2 // Field value:[C
26: iload_1
27: caload
28: ireturn
public int codePointAt(int);
Code:
0: iload_1
1: iflt 13
4: iload_1
5: aload_0
6: getfield #2 // Field value:[C
9: arraylength
10: if_icmplt 22
13: new #5 // class java/lang/StringIndexOutOfBoundsException
16: dup
17: iload_1
18: invokespecial #6 // Method java/lang/StringIndexOutOfBoundsException."<init>":(I)V
21: athrow
22: aload_0
23: getfield #2 // Field value:[C
26: iload_1
27: aload_0
28: getfield #2 // Field value:[C
31: arraylength
32: invokestatic #30 // Method java/lang/Character.codePointAtImpl:([CII)I
35: ireturn
public int codePointBefore(int);
Code:
0: iload_1
1: iconst_1
2: isub
3: istore_2
4: iload_2
5: iflt 17
8: iload_2
9: aload_0
10: getfield #2 // Field value:[C
13: arraylength
14: if_icmplt 26
17: new #5 // class java/lang/StringIndexOutOfBoundsException
20: dup
21: iload_1
22: invokespecial #6 // Method java/lang/StringIndexOutOfBoundsException."<init>":(I)V
25: athrow
26: aload_0
27: getfield #2 // Field value:[C
30: iload_1
31: iconst_0
32: invokestatic #31 // Method java/lang/Character.codePointBeforeImpl:([CII)I
35: ireturn
public int codePointCount(int, int);
Code:
0: iload_1
1: iflt 18
4: iload_2
5: aload_0
6: getfield #2 // Field value:[C
9: arraylength
10: if_icmpgt 18
13: iload_1
14: iload_2
15: if_icmple 26
18: new #32 // class java/lang/IndexOutOfBoundsException
21: dup
22: invokespecial #33 // Method java/lang/IndexOutOfBoundsException."<init>":()V
25: athrow
26: aload_0
27: getfield #2 // Field value:[C
30: iload_1
31: iload_2
32: iload_1
33: isub
34: invokestatic #34 // Method java/lang/Character.codePointCountImpl:([CII)I
37: ireturn
public int offsetByCodePoints(int, int);
Code:
0: iload_1
1: iflt 13
4: iload_1
5: aload_0
6: getfield #2 // Field value:[C
9: arraylength
10: if_icmple 21
13: new #32 // class java/lang/IndexOutOfBoundsException
16: dup
17: invokespecial #33 // Method java/lang/IndexOutOfBoundsException."<init>":()V
20: athrow
21: aload_0
22: getfield #2 // Field value:[C
25: iconst_0
26: aload_0
27: getfield #2 // Field value:[C
30: arraylength
31: iload_1
32: iload_2
33: invokestatic #35 // Method java/lang/Character.offsetByCodePointsImpl:([CIIII)I
36: ireturn
void getChars(char[], int);
Code:
0: aload_0
1: getfield #2 // Field value:[C
4: iconst_0
5: aload_1
6: iload_2
7: aload_0
8: getfield #2 // Field value:[C
11: arraylength
12: invokestatic #36 // Method java/lang/System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
15: return
public void getChars(int, int, char[], int);
Code:
0: iload_1
1: ifge 13
4: new #5 // class java/lang/StringIndexOutOfBoundsException
7: dup
8: iload_1
9: invokespecial #6 // Method java/lang/StringIndexOutOfBoundsException."<init>":(I)V
12: athrow
13: iload_2
14: aload_0
15: getfield #2 // Field value:[C
18: arraylength
19: if_icmple 31
22: new #5 // class java/lang/StringIndexOutOfBoundsException
25: dup
26: iload_2
27: invokespecial #6 // Method java/lang/StringIndexOutOfBoundsException."<init>":(I)V
30: athrow
31: iload_1
32: iload_2
33: if_icmple 47
36: new #5 // class java/lang/StringIndexOutOfBoundsException
39: dup
40: iload_2
41: iload_1
42: isub
43: invokespecial #6 // Method java/lang/StringIndexOutOfBoundsException."<init>":(I)V
46: athrow
47: aload_0
48: getfield #2 // Field value:[C
51: iload_1
52: aload_3
53: iload 4
55: iload_2
56: iload_1
57: isub
58: invokestatic #36 // Method java/lang/System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
61: return
public void getBytes(int, int, byte[], int);
Code:
0: iload_1
1: ifge 13
4: new #5 // class java/lang/StringIndexOutOfBoundsException
7: dup
8: iload_1
9: invokespecial #6 // Method java/lang/StringIndexOutOfBoundsException."<init>":(I)V
12: athrow
13: iload_2
14: aload_0
15: getfield #2 // Field value:[C
18: arraylength
19: if_icmple 31
22: new #5 // class java/lang/StringIndexOutOfBoundsException
25: dup
26: iload_2
27: invokespecial #6 // Method java/lang/StringIndexOutOfBoundsException."<init>":(I)V
30: athrow
31: iload_1
32: iload_2
33: if_icmple 47
36: new #5 // class java/lang/StringIndexOutOfBoundsException
39: dup
40: iload_2
41: iload_1
42: isub
43: invokespecial #6 // Method java/lang/StringIndexOutOfBoundsException."<init>":(I)V
46: athrow
47: aload_3
48: invokestatic #37 // Method java/util/Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
51: pop
52: iload 4
54: istore 5
56: iload_2
57: istore 6
59: iload_1
60: istore 7
62: aload_0
63: getfield #2 // Field value:[C
66: astore 8
68: iload 7
70: iload 6
72: if_icmpge 94
75: aload_3
76: iload 5
78: iinc 5, 1
81: aload 8
83: iload 7
85: iinc 7, 1
88: caload
89: i2b
90: bastore
91: goto 68
94: return
public byte[] getBytes(java.lang.String) throws java.io.UnsupportedEncodingException;
Code:
0: aload_1
1: ifnonnull 12
4: new #16 // class java/lang/NullPointerException
7: dup
8: invokespecial #38 // Method java/lang/NullPointerException."<init>":()V
11: athrow
12: aload_1
13: aload_0
14: getfield #2 // Field value:[C
17: iconst_0
18: aload_0
19: getfield #2 // Field value:[C
22: arraylength
23: invokestatic #39 // Method java/lang/StringCoding.encode:(Ljava/lang/String;[CII)[B
26: areturn
public byte[] getBytes(java.nio.charset.Charset);
Code:
0: aload_1
1: ifnonnull 12
4: new #16 // class java/lang/NullPointerException
7: dup
8: invokespecial #38 // Method java/lang/NullPointerException."<init>":()V
11: athrow
12: aload_1
13: aload_0
14: getfield #2 // Field value:[C
17: iconst_0
18: aload_0
19: getfield #2 // Field value:[C
22: arraylength
23: invokestatic #40 // Method java/lang/StringCoding.encode:(Ljava/nio/charset/Charset;[CII)[B
26: areturn
public byte[] getBytes();
Code:
0: aload_0
1: getfield #2 // Field value:[C
4: iconst_0
5: aload_0
6: getfield #2 // Field value:[C
9: arraylength
10: invokestatic #41 // Method java/lang/StringCoding.encode:([CII)[B
13: areturn
public boolean equals(java.lang.Object);
Code:
0: aload_0
1: aload_1
2: if_acmpne 7
5: iconst_1
6: ireturn
7: aload_1
8: instanceof #42 // class java/lang/String
11: ifeq 79
14: aload_1
15: checkcast #42 // class java/lang/String
18: astore_2
19: aload_0
20: getfield #2 // Field value:[C
23: arraylength
24: istore_3
25: iload_3
26: aload_2
27: getfield #2 // Field value:[C
30: arraylength
31: if_icmpne 79
34: aload_0
35: getfield #2 // Field value:[C
38: astore 4
40: aload_2
41: getfield #2 // Field value:[C
44: astore 5
46: iconst_0
47: istore 6
49: iload_3
50: iinc 3, -1
53: ifeq 77
56: aload 4
58: iload 6
60: caload
61: aload 5
63: iload 6
65: caload
66: if_icmpeq 71
69: iconst_0
70: ireturn
71: iinc 6, 1
74: goto 49
77: iconst_1
78: ireturn
79: iconst_0
80: ireturn
public boolean contentEquals(java.lang.StringBuffer);
Code:
0: aload_0
1: aload_1
2: invokevirtual #43 // Method contentEquals:(Ljava/lang/CharSequence;)Z
5: ireturn
public boolean contentEquals(java.lang.CharSequence);
Code:
0: aload_1
1: instanceof #46 // class java/lang/AbstractStringBuilder
4: ifeq 43
7: aload_1
8: instanceof #47 // class java/lang/StringBuffer
11: ifeq 34
14: aload_1
15: dup
16: astore_2
17: monitorenter
18: aload_0
19: aload_1
20: checkcast #46 // class java/lang/AbstractStringBuilder
23: invokespecial #48 // Method nonSyncContentEquals:(Ljava/lang/AbstractStringBuilder;)Z
26: aload_2
27: monitorexit
28: ireturn
29: astore_3
30: aload_2
31: monitorexit
32: aload_3
33: athrow
34: aload_0
35: aload_1
36: checkcast #46 // class java/lang/AbstractStringBuilder
39: invokespecial #48 // Method nonSyncContentEquals:(Ljava/lang/AbstractStringBuilder;)Z
42: ireturn
43: aload_1
44: aload_0
45: invokevirtual #49 // Method java/lang/Object.equals:(Ljava/lang/Object;)Z
48: ifeq 53
51: iconst_1
52: ireturn
53: aload_0
54: getfield #2 // Field value:[C
57: astore_2
58: aload_2
59: arraylength
60: istore_3
61: iload_3
62: aload_1
63: invokeinterface #50, 1 // InterfaceMethod java/lang/CharSequence.length:()I
68: if_icmpeq 73
71: iconst_0
72: ireturn
73: iconst_0
74: istore 4
76: iload 4
78: iload_3
79: if_icmpge 105
82: aload_2
83: iload 4
85: caload
86: aload_1
87: iload 4
89: invokeinterface #51, 2 // InterfaceMethod java/lang/CharSequence.charAt:(I)C
94: if_icmpeq 99
97: iconst_0
98: ireturn
99: iinc 4, 1
102: goto 76
105: iconst_1
106: ireturn
Exception table:
from to target type
18 28 29 any
29 32 29 any
public boolean equalsIgnoreCase(java.lang.String);
Code:
0: aload_0
1: aload_1
2: if_acmpne 9
5: iconst_1
6: goto 47
9: aload_1
10: ifnull 46
13: aload_1
14: getfield #2 // Field value:[C
17: arraylength
18: aload_0
19: getfield #2 // Field value:[C
22: arraylength
23: if_icmpne 46
26: aload_0
27: iconst_1
28: iconst_0
29: aload_1
30: iconst_0
31: aload_0
32: getfield #2 // Field value:[C
35: arraylength
36: invokevirtual #52 // Method regionMatches:(ZILjava/lang/String;II)Z
39: ifeq 46
42: iconst_1
43: goto 47
46: iconst_0
47: ireturn
public int compareTo(java.lang.String);
Code:
0: aload_0
1: getfield #2 // Field value:[C
4: arraylength
5: istore_2
6: aload_1
7: getfield #2 // Field value:[C
10: arraylength
11: istore_3
12: iload_2
13: iload_3
14: invokestatic #53 // Method java/lang/Math.min:(II)I
17: istore 4
19: aload_0
20: getfield #2 // Field value:[C
23: astore 5
25: aload_1
26: getfield #2 // Field value:[C
29: astore 6
31: iconst_0
32: istore 7
34: iload 7
36: iload 4
38: if_icmpge 74
41: aload 5
43: iload 7
45: caload
46: istore 8
48: aload 6
50: iload 7
52: caload
53: istore 9
55: iload 8
57: iload 9
59: if_icmpeq 68
62: iload 8
64: iload 9
66: isub
67: ireturn
68: iinc 7, 1
71: goto 34
74: iload_2
75: iload_3
76: isub
77: ireturn
public int compareToIgnoreCase(java.lang.String);
Code:
0: getstatic #54 // Field CASE_INSENSITIVE_ORDER:Ljava/util/Comparator;
3: aload_0
4: aload_1
5: invokeinterface #55, 3 // InterfaceMethod java/util/Comparator.compare:(Ljava/lang/Object;Ljava/lang/Object;)I
10: ireturn
public boolean regionMatches(int, java.lang.String, int, int);
Code:
0: aload_0
1: getfield #2 // Field value:[C
4: astore 5
6: iload_1
7: istore 6
9: aload_2
10: getfield #2 // Field value:[C
13: astore 7
15: iload_3
16: istore 8
18: iload_3
19: iflt 58
22: iload_1
23: iflt 58
26: iload_1
27: i2l
28: aload_0
29: getfield #2 // Field value:[C
32: arraylength
33: i2l
34: iload 4
36: i2l
37: lsub
38: lcmp
39: ifgt 58
42: iload_3
43: i2l
44: aload_2
45: getfield #2 // Field value:[C
48: arraylength
49: i2l
50: iload 4
52: i2l
53: lsub
54: lcmp
55: ifle 60
58: iconst_0
59: ireturn
60: iload 4
62: iinc 4, -1
65: ifle 89
68: aload 5
70: iload 6
72: iinc 6, 1
75: caload
76: aload 7
78: iload 8
80: iinc 8, 1
83: caload
84: if_icmpeq 60
87: iconst_0
88: ireturn
89: iconst_1
90: ireturn
public boolean regionMatches(boolean, int, java.lang.String, int, int);
Code:
0: aload_0
1: getfield #2 // Field value:[C
4: astore 6
6: iload_2
7: istore 7
9: aload_3
10: getfield #2 // Field value:[C
13: astore 8
15: iload 4
17: istore 9
19: iload 4
21: iflt 61
24: iload_2
25: iflt 61
28: iload_2
29: i2l
30: aload_0
31: getfield #2 // Field value:[C
34: arraylength
35: i2l
36: iload 5
38: i2l
39: lsub
40: lcmp
41: ifgt 61
44: iload 4
46: i2l
47: aload_3
48: getfield #2 // Field value:[C
51: arraylength
52: i2l
53: iload 5
55: i2l
56: lsub
57: lcmp
58: ifle 63
61: iconst_0
62: ireturn
63: iload 5
65: iinc 5, -1
68: ifle 147
71: aload 6
73: iload 7
75: iinc 7, 1
78: caload
79: istore 10
81: aload 8
83: iload 9
85: iinc 9, 1
88: caload
89: istore 11
91: iload 10
93: iload 11
95: if_icmpne 101
98: goto 63
101: iload_1
102: ifeq 145
105: iload 10
107: invokestatic #56 // Method java/lang/Character.toUpperCase:(C)C
110: istore 12
112: iload 11
114: invokestatic #56 // Method java/lang/Character.toUpperCase:(C)C
117: istore 13
119: iload 12
121: iload 13
123: if_icmpne 129
126: goto 63
129: iload 12
131: invokestatic #57 // Method java/lang/Character.toLowerCase:(C)C
134: iload 13
136: invokestatic #57 // Method java/lang/Character.toLowerCase:(C)C
139: if_icmpne 145
142: goto 63
145: iconst_0
146: ireturn
147: iconst_1
148: ireturn
public boolean startsWith(java.lang.String, int);
Code:
0: aload_0
1: getfield #2 // Field value:[C
4: astore_3
5: iload_2
6: istore 4
8: aload_1
9: getfield #2 // Field value:[C
12: astore 5
14: iconst_0
15: istore 6
17: aload_1
18: getfield #2 // Field value:[C
21: arraylength
22: istore 7
24: iload_2
25: iflt 40
28: iload_2
29: aload_0
30: getfield #2 // Field value:[C
33: arraylength
34: iload 7
36: isub
37: if_icmple 42
40: iconst_0
41: ireturn
42: iinc 7, -1
45: iload 7
47: iflt 70
50: aload_3
51: iload 4
53: iinc 4, 1
56: caload
57: aload 5
59: iload 6
61: iinc 6, 1
64: caload
65: if_icmpeq 42
68: iconst_0
69: ireturn
70: iconst_1
71: ireturn
public boolean startsWith(java.lang.String);
Code:
0: aload_0
1: aload_1
2: iconst_0
3: invokevirtual #58 // Method startsWith:(Ljava/lang/String;I)Z
6: ireturn
public boolean endsWith(java.lang.String);
Code:
0: aload_0
1: aload_1
2: aload_0
3: getfield #2 // Field value:[C
6: arraylength
7: aload_1
8: getfield #2 // Field value:[C
11: arraylength
12: isub
13: invokevirtual #58 // Method startsWith:(Ljava/lang/String;I)Z
16: ireturn
public int hashCode();
Code:
0: aload_0
1: getfield #3 // Field hash:I
4: istore_1
5: iload_1
6: ifne 53
9: aload_0
10: getfield #2 // Field value:[C
13: arraylength
14: ifle 53
17: aload_0
18: getfield #2 // Field value:[C
21: astore_2
22: iconst_0
23: istore_3
24: iload_3
25: aload_0
26: getfield #2 // Field value:[C
29: arraylength
30: if_icmpge 48
33: bipush 31
35: iload_1
36: imul
37: aload_2
38: iload_3
39: caload
40: iadd
41: istore_1
42: iinc 3, 1
45: goto 24
48: aload_0
49: iload_1
50: putfield #3 // Field hash:I
53: iload_1
54: ireturn
public int indexOf(int);
Code:
0: aload_0
1: iload_1
2: iconst_0
3: invokevirtual #59 // Method indexOf:(II)I
6: ireturn
public int indexOf(int, int);
Code:
0: aload_0
1: getfield #2 // Field value:[C
4: arraylength
5: istore_3
6: iload_2
7: ifge 15
10: iconst_0
11: istore_2
12: goto 22
15: iload_2
16: iload_3
17: if_icmplt 22
20: iconst_m1
21: ireturn
22: iload_1
23: ldc #61 // int 65536
25: if_icmpge 63
28: aload_0
29: getfield #2 // Field value:[C
32: astore 4
34: iload_2
35: istore 5
37: iload 5
39: iload_3
40: if_icmpge 61
43: aload 4
45: iload 5
47: caload
48: iload_1
49: if_icmpne 55
52: iload 5
54: ireturn
55: iinc 5, 1
58: goto 37
61: iconst_m1
62: ireturn
63: aload_0
64: iload_1
65: iload_2
66: invokespecial #62 // Method indexOfSupplementary:(II)I
69: ireturn
public int lastIndexOf(int);
Code:
0: aload_0
1: iload_1
2: aload_0
3: getfield #2 // Field value:[C
6: arraylength
7: iconst_1
8: isub
9: invokevirtual #65 // Method lastIndexOf:(II)I
12: ireturn
public int lastIndexOf(int, int);
Code:
0: iload_1
1: ldc #61 // int 65536
3: if_icmpge 45
6: aload_0
7: getfield #2 // Field value:[C
10: astore_3
11: iload_2
12: aload_3
13: arraylength
14: iconst_1
15: isub
16: invokestatic #53 // Method java/lang/Math.min:(II)I
19: istore 4
21: iload 4
23: iflt 43
26: aload_3
27: iload 4
29: caload
30: iload_1
31: if_icmpne 37
34: iload 4
36: ireturn
37: iinc 4, -1
40: goto 21
43: iconst_m1
44: ireturn
45: aload_0
46: iload_1
47: iload_2
48: invokespecial #66 // Method lastIndexOfSupplementary:(II)I
51: ireturn
public int indexOf(java.lang.String);
Code:
0: aload_0
1: aload_1
2: iconst_0
3: invokevirtual #67 // Method indexOf:(Ljava/lang/String;I)I
6: ireturn
public int indexOf(java.lang.String, int);
Code:
0: aload_0
1: getfield #2 // Field value:[C
4: iconst_0
5: aload_0
6: getfield #2 // Field value:[C
9: arraylength
10: aload_1
11: getfield #2 // Field value:[C
14: iconst_0
15: aload_1
16: getfield #2 // Field value:[C
19: arraylength
20: iload_2
21: invokestatic #68 // Method indexOf:([CII[CIII)I
24: ireturn
static int indexOf(char[], int, int, java.lang.String, int);
Code:
0: aload_0
1: iload_1
2: iload_2
3: aload_3
4: getfield #2 // Field value:[C
7: iconst_0
8: aload_3
9: getfield #2 // Field value:[C
12: arraylength
13: iload 4
15: invokestatic #68 // Method indexOf:([CII[CIII)I
18: ireturn
static int indexOf(char[], int, int, char[], int, int, int);
Code:
0: iload 6
2: iload_2
3: if_icmplt 17
6: iload 5
8: ifne 15
11: iload_2
12: goto 16
15: iconst_m1
16: ireturn
17: iload 6
19: ifge 25
22: iconst_0
23: istore 6
25: iload 5
27: ifne 33
30: iload 6
32: ireturn
33: aload_3
34: iload 4
36: caload
37: istore 7
39: iload_1
40: iload_2
41: iload 5
43: isub
44: iadd
45: istore 8
47: iload_1
48: iload 6
50: iadd
51: istore 9
53: iload 9
55: iload 8
57: if_icmpgt 164
60: aload_0
61: iload 9
63: caload
64: iload 7
66: if_icmpeq 91
69: iinc 9, 1
72: iload 9
74: iload 8
76: if_icmpgt 91
79: aload_0
80: iload 9
82: caload
83: iload 7
85: if_icmpeq 91
88: goto 69
91: iload 9
93: iload 8
95: if_icmpgt 158
98: iload 9
100: iconst_1
101: iadd
102: istore 10
104: iload 10
106: iload 5
108: iadd
109: iconst_1
110: isub
111: istore 11
113: iload 4
115: iconst_1
116: iadd
117: istore 12
119: iload 10
121: iload 11
123: if_icmpge 146
126: aload_0
127: iload 10
129: caload
130: aload_3
131: iload 12
133: caload
134: if_icmpne 146
137: iinc 10, 1
140: iinc 12, 1
143: goto 119
146: iload 10
148: iload 11
150: if_icmpne 158
153: iload 9
155: iload_1
156: isub
157: ireturn
158: iinc 9, 1
161: goto 53
164: iconst_m1
165: ireturn
public int lastIndexOf(java.lang.String);
Code:
0: aload_0
1: aload_1
2: aload_0
3: getfield #2 // Field value:[C
6: arraylength
7: invokevirtual #69 // Method lastIndexOf:(Ljava/lang/String;I)I
10: ireturn
public int lastIndexOf(java.lang.String, int);
Code:
0: aload_0
1: getfield #2 // Field value:[C
4: iconst_0
5: aload_0
6: getfield #2 // Field value:[C
9: arraylength
10: aload_1
11: getfield #2 // Field value:[C
14: iconst_0
15: aload_1
16: getfield #2 // Field value:[C
19: arraylength
20: iload_2
21: invokestatic #70 // Method lastIndexOf:([CII[CIII)I
24: ireturn
static int lastIndexOf(char[], int, int, java.lang.String, int);
Code:
0: aload_0
1: iload_1
2: iload_2
3: aload_3
4: getfield #2 // Field value:[C
7: iconst_0
8: aload_3
9: getfield #2 // Field value:[C
12: arraylength
13: iload 4
15: invokestatic #70 // Method lastIndexOf:([CII[CIII)I
18: ireturn
static int lastIndexOf(char[], int, int, char[], int, int, int);
Code:
0: iload_2
1: iload 5
3: isub
4: istore 7
6: iload 6
8: ifge 13
11: iconst_m1
12: ireturn
13: iload 6
15: iload 7
17: if_icmple 24
20: iload 7
22: istore 6
24: iload 5
26: ifne 32
29: iload 6
31: ireturn
32: iload 4
34: iload 5
36: iadd
37: iconst_1
38: isub
39: istore 8
41: aload_3
42: iload 8
44: caload
45: istore 9
47: iload_1
48: iload 5
50: iadd
51: iconst_1
52: isub
53: istore 10
55: iload 10
57: iload 6
59: iadd
60: istore 11
62: iload 11
64: iload 10
66: if_icmplt 84
69: aload_0
70: iload 11
72: caload
73: iload 9
75: if_icmpeq 84
78: iinc 11, -1
81: goto 62
84: iload 11
86: iload 10
88: if_icmpge 93
91: iconst_m1
92: ireturn
93: iload 11
95: iconst_1
96: isub
97: istore 12
99: iload 12
101: iload 5
103: iconst_1
104: isub
105: isub
106: istore 13
108: iload 8
110: iconst_1
111: isub
112: istore 14
114: iload 12
116: iload 13
118: if_icmple 144
121: aload_0
122: iload 12
124: iinc 12, -1
127: caload
128: aload_3
129: iload 14
131: iinc 14, -1
134: caload
135: if_icmpeq 114
138: iinc 11, -1
141: goto 62
144: iload 13
146: iload_1
147: isub
148: iconst_1
149: iadd
150: ireturn
public java.lang.String substring(int);
Code:
0: iload_1
1: ifge 13
4: new #5 // class java/lang/StringIndexOutOfBoundsException
7: dup
8: iload_1
9: invokespecial #6 // Method java/lang/StringIndexOutOfBoundsException."<init>":(I)V
12: athrow
13: aload_0
14: getfield #2 // Field value:[C
17: arraylength
18: iload_1
19: isub
20: istore_2
21: iload_2
22: ifge 34
25: new #5 // class java/lang/StringIndexOutOfBoundsException
28: dup
29: iload_2
30: invokespecial #6 // Method java/lang/StringIndexOutOfBoundsException."<init>":(I)V
33: athrow
34: iload_1
35: ifne 42
38: aload_0
39: goto 55
42: new #42 // class java/lang/String
45: dup
46: aload_0
47: getfield #2 // Field value:[C
50: iload_1
51: iload_2
52: invokespecial #71 // Method "<init>":([CII)V
55: areturn
public java.lang.String substring(int, int);
Code:
0: iload_1
1: ifge 13
4: new #5 // class java/lang/StringIndexOutOfBoundsException
7: dup
8: iload_1
9: invokespecial #6 // Method java/lang/StringIndexOutOfBoundsException."<init>":(I)V
12: athrow
13: iload_2
14: aload_0
15: getfield #2 // Field value:[C
18: arraylength
19: if_icmple 31
22: new #5 // class java/lang/StringIndexOutOfBoundsException
25: dup
26: iload_2
27: invokespecial #6 // Method java/lang/StringIndexOutOfBoundsException."<init>":(I)V
30: athrow
31: iload_2
32: iload_1
33: isub
34: istore_3
35: iload_3
36: ifge 48
39: new #5 // class java/lang/StringIndexOutOfBoundsException
42: dup
43: iload_3
44: invokespecial #6 // Method java/lang/StringIndexOutOfBoundsException."<init>":(I)V
47: athrow
48: iload_1
49: ifne 65
52: iload_2
53: aload_0
54: getfield #2 // Field value:[C
57: arraylength
58: if_icmpne 65
61: aload_0
62: goto 78
65: new #42 // class java/lang/String
68: dup
69: aload_0
70: getfield #2 // Field value:[C
73: iload_1
74: iload_3
75: invokespecial #71 // Method "<init>":([CII)V
78: areturn
public java.lang.CharSequence subSequence(int, int);
Code:
0: aload_0
1: iload_1
2: iload_2
3: invokevirtual #72 // Method substring:(II)Ljava/lang/String;
6: areturn
public java.lang.String concat(java.lang.String);
Code:
0: aload_1
1: invokevirtual #73 // Method length:()I
4: istore_2
5: iload_2
6: ifne 11
9: aload_0
10: areturn
11: aload_0
12: getfield #2 // Field value:[C
15: arraylength
16: istore_3
17: aload_0
18: getfield #2 // Field value:[C
21: iload_3
22: iload_2
23: iadd
24: invokestatic #4 // Method java/util/Arrays.copyOf:([CI)[C
27: astore 4
29: aload_1
30: aload 4
32: iload_3
33: invokevirtual #74 // Method getChars:([CI)V
36: new #42 // class java/lang/String
39: dup
40: aload 4
42: iconst_1
43: invokespecial #75 // Method "<init>":([CZ)V
46: areturn
public java.lang.String replace(char, char);
Code:
0: iload_1
1: iload_2
2: if_icmpeq 125
5: aload_0
6: getfield #2 // Field value:[C
9: arraylength
10: istore_3
11: iconst_m1
12: istore 4
14: aload_0
15: getfield #2 // Field value:[C
18: astore 5
20: iinc 4, 1
23: iload 4
25: iload_3
26: if_icmpge 41
29: aload 5
31: iload 4
33: caload
34: iload_1
35: if_icmpne 20
38: goto 41
41: iload 4
43: iload_3
44: if_icmpge 125
47: iload_3
48: newarray char
50: astore 6
52: iconst_0
53: istore 7
55: iload 7
57: iload 4
59: if_icmpge 78
62: aload 6
64: iload 7
66: aload 5
68: iload 7
70: caload
71: castore
72: iinc 7, 1
75: goto 55
78: iload 4
80: iload_3
81: if_icmpge 114
84: aload 5
86: iload 4
88: caload
89: istore 7
91: aload 6
93: iload 4
95: iload 7
97: iload_1
98: if_icmpne 105
101: iload_2
102: goto 107
105: iload 7
107: castore
108: iinc 4, 1
111: goto 78
114: new #42 // class java/lang/String
117: dup
118: aload 6
120: iconst_1
121: invokespecial #75 // Method "<init>":([CZ)V
124: areturn
125: aload_0
126: areturn
public boolean matches(java.lang.String);
Code:
0: aload_1
1: aload_0
2: invokestatic #76 // Method java/util/regex/Pattern.matches:(Ljava/lang/String;Ljava/lang/CharSequence;)Z
5: ireturn
public boolean contains(java.lang.CharSequence);
Code:
0: aload_0
1: aload_1
2: invokeinterface #77, 1 // InterfaceMethod java/lang/CharSequence.toString:()Ljava/lang/String;
7: invokevirtual #78 // Method indexOf:(Ljava/lang/String;)I
10: iconst_m1
11: if_icmple 18
14: iconst_1
15: goto 19
18: iconst_0
19: ireturn
public java.lang.String replaceFirst(java.lang.String, java.lang.String);
Code:
0: aload_1
1: invokestatic #79 // Method java/util/regex/Pattern.compile:(Ljava/lang/String;)Ljava/util/regex/Pattern;
4: aload_0
5: invokevirtual #80 // Method java/util/regex/Pattern.matcher:(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
8: aload_2
9: invokevirtual #81 // Method java/util/regex/Matcher.replaceFirst:(Ljava/lang/String;)Ljava/lang/String;
12: areturn
public java.lang.String replaceAll(java.lang.String, java.lang.String);
Code:
0: aload_1
1: invokestatic #79 // Method java/util/regex/Pattern.compile:(Ljava/lang/String;)Ljava/util/regex/Pattern;
4: aload_0
5: invokevirtual #80 // Method java/util/regex/Pattern.matcher:(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
8: aload_2
9: invokevirtual #82 // Method java/util/regex/Matcher.replaceAll:(Ljava/lang/String;)Ljava/lang/String;
12: areturn
public java.lang.String replace(java.lang.CharSequence, java.lang.CharSequence);
Code:
0: aload_1
1: invokeinterface #77, 1 // InterfaceMethod java/lang/CharSequence.toString:()Ljava/lang/String;
6: bipush 16
8: invokestatic #84 // Method java/util/regex/Pattern.compile:(Ljava/lang/String;I)Ljava/util/regex/Pattern;
11: aload_0
12: invokevirtual #80 // Method java/util/regex/Pattern.matcher:(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
15: aload_2
16: invokeinterface #77, 1 // InterfaceMethod java/lang/CharSequence.toString:()Ljava/lang/String;
21: invokestatic #85 // Method java/util/regex/Matcher.quoteReplacement:(Ljava/lang/String;)Ljava/lang/String;
24: invokevirtual #82 // Method java/util/regex/Matcher.replaceAll:(Ljava/lang/String;)Ljava/lang/String;
27: areturn
public java.lang.String[] split(java.lang.String, int);
Code:
0: iconst_0
1: istore_3
2: aload_1
3: getfield #2 // Field value:[C
6: arraylength
7: iconst_1
8: if_icmpne 27
11: ldc #86 // String .$|()[{^?*+\
13: aload_1
14: iconst_0
15: invokevirtual #87 // Method charAt:(I)C
18: dup
19: istore_3
20: invokevirtual #88 // Method indexOf:(I)I
23: iconst_m1
24: if_icmpeq 87
27: aload_1
28: invokevirtual #73 // Method length:()I
31: iconst_2
32: if_icmpne 316
35: aload_1
36: iconst_0
37: invokevirtual #87 // Method charAt:(I)C
40: bipush 92
42: if_icmpne 316
45: aload_1
46: iconst_1
47: invokevirtual #87 // Method charAt:(I)C
50: dup
51: istore_3
52: bipush 48
54: isub
55: bipush 57
57: iload_3
58: isub
59: ior
60: ifge 316
63: iload_3
64: bipush 97
66: isub
67: bipush 122
69: iload_3
70: isub
71: ior
72: ifge 316
75: iload_3
76: bipush 65
78: isub
79: bipush 90
81: iload_3
82: isub
83: ior
84: ifge 316
87: iload_3
88: ldc #89 // int 55296
90: if_icmplt 99
93: iload_3
94: ldc #90 // int 57343
96: if_icmple 316
99: iconst_0
100: istore 4
102: iconst_0
103: istore 5
105: iload_2
106: ifle 113
109: iconst_1
110: goto 114
113: iconst_0
114: istore 6
116: new #91 // class java/util/ArrayList
119: dup
120: invokespecial #92 // Method java/util/ArrayList."<init>":()V
123: astore 7
125: aload_0
126: iload_3
127: iload 4
129: invokevirtual #59 // Method indexOf:(II)I
132: dup
133: istore 5
135: iconst_m1
136: if_icmpeq 205
139: iload 6
141: ifeq 155
144: aload 7
146: invokevirtual #93 // Method java/util/ArrayList.size:()I
149: iload_2
150: iconst_1
151: isub
152: if_icmpge 178
155: aload 7
157: aload_0
158: iload 4
160: iload 5
162: invokevirtual #72 // Method substring:(II)Ljava/lang/String;
165: invokevirtual #94 // Method java/util/ArrayList.add:(Ljava/lang/Object;)Z
168: pop
169: iload 5
171: iconst_1
172: iadd
173: istore 4
175: goto 125
178: aload 7
180: aload_0
181: iload 4
183: aload_0
184: getfield #2 // Field value:[C
187: arraylength
188: invokevirtual #72 // Method substring:(II)Ljava/lang/String;
191: invokevirtual #94 // Method java/util/ArrayList.add:(Ljava/lang/Object;)Z
194: pop
195: aload_0
196: getfield #2 // Field value:[C
199: arraylength
200: istore 4
202: goto 205
205: iload 4
207: ifne 219
210: iconst_1
211: anewarray #42 // class java/lang/String
214: dup
215: iconst_0
216: aload_0
217: aastore
218: areturn
219: iload 6
221: ifeq 233
224: aload 7
226: invokevirtual #93 // Method java/util/ArrayList.size:()I
229: iload_2
230: if_icmpge 250
233: aload 7
235: aload_0
236: iload 4
238: aload_0
239: getfield #2 // Field value:[C
242: arraylength
243: invokevirtual #72 // Method substring:(II)Ljava/lang/String;
246: invokevirtual #94 // Method java/util/ArrayList.add:(Ljava/lang/Object;)Z
249: pop
250: aload 7
252: invokevirtual #93 // Method java/util/ArrayList.size:()I
255: istore 8
257: iload_2
258: ifne 290
261: iload 8
263: ifle 290
266: aload 7
268: iload 8
270: iconst_1
271: isub
272: invokevirtual #95 // Method java/util/ArrayList.get:(I)Ljava/lang/Object;
275: checkcast #42 // class java/lang/String
278: invokevirtual #73 // Method length:()I
281: ifne 290
284: iinc 8, -1
287: goto 261
290: iload 8
292: anewarray #42 // class java/lang/String
295: astore 9
297: aload 7
299: iconst_0
300: iload 8
302: invokevirtual #96 // Method java/util/ArrayList.subList:(II)Ljava/util/List;
305: aload 9
307: invokeinterface #97, 2 // InterfaceMethod java/util/List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
312: checkcast #98 // class "[Ljava/lang/String;"
315: areturn
316: aload_1
317: invokestatic #79 // Method java/util/regex/Pattern.compile:(Ljava/lang/String;)Ljava/util/regex/Pattern;
320: aload_0
321: iload_2
322: invokevirtual #99 // Method java/util/regex/Pattern.split:(Ljava/lang/CharSequence;I)[Ljava/lang/String;
325: areturn
public java.lang.String[] split(java.lang.String);
Code:
0: aload_0
1: aload_1
2: iconst_0
3: invokevirtual #100 // Method split:(Ljava/lang/String;I)[Ljava/lang/String;
6: areturn
public static java.lang.String join(java.lang.CharSequence, java.lang.CharSequence...);
Code:
0: aload_0
1: invokestatic #37 // Method java/util/Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
4: pop
5: aload_1
6: invokestatic #37 // Method java/util/Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
9: pop
10: new #101 // class java/util/StringJoiner
13: dup
14: aload_0
15: invokespecial #102 // Method java/util/StringJoiner."<init>":(Ljava/lang/CharSequence;)V
18: astore_2
19: aload_1
20: astore_3
21: aload_3
22: arraylength
23: istore 4
25: iconst_0
26: istore 5
28: iload 5
30: iload 4
32: if_icmpge 54
35: aload_3
36: iload 5
38: aaload
39: astore 6
41: aload_2
42: aload 6
44: invokevirtual #103 // Method java/util/StringJoiner.add:(Ljava/lang/CharSequence;)Ljava/util/StringJoiner;
47: pop
48: iinc 5, 1
51: goto 28
54: aload_2
55: invokevirtual #104 // Method java/util/StringJoiner.toString:()Ljava/lang/String;
58: areturn
public static java.lang.String join(java.lang.CharSequence, java.lang.Iterable<? extends java.lang.CharSequence>);
Code:
0: aload_0
1: invokestatic #37 // Method java/util/Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
4: pop
5: aload_1
6: invokestatic #37 // Method java/util/Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
9: pop
10: new #101 // class java/util/StringJoiner
13: dup
14: aload_0
15: invokespecial #102 // Method java/util/StringJoiner."<init>":(Ljava/lang/CharSequence;)V
18: astore_2
19: aload_1
20: invokeinterface #105, 1 // InterfaceMethod java/lang/Iterable.iterator:()Ljava/util/Iterator;
25: astore_3
26: aload_3
27: invokeinterface #106, 1 // InterfaceMethod java/util/Iterator.hasNext:()Z
32: ifeq 56
35: aload_3
36: invokeinterface #107, 1 // InterfaceMethod java/util/Iterator.next:()Ljava/lang/Object;
41: checkcast #108 // class java/lang/CharSequence
44: astore 4
46: aload_2
47: aload 4
49: invokevirtual #103 // Method java/util/StringJoiner.add:(Ljava/lang/CharSequence;)Ljava/util/StringJoiner;
52: pop
53: goto 26
56: aload_2
57: invokevirtual #104 // Method java/util/StringJoiner.toString:()Ljava/lang/String;
60: areturn
public java.lang.String toLowerCase(java.util.Locale);
Code:
0: aload_1
1: ifnonnull 12
4: new #16 // class java/lang/NullPointerException
7: dup
8: invokespecial #38 // Method java/lang/NullPointerException."<init>":()V
11: athrow
12: aload_0
13: getfield #2 // Field value:[C
16: arraylength
17: istore_3
18: iconst_0
19: istore_2
20: iload_2
21: iload_3
22: if_icmpge 97
25: aload_0
26: getfield #2 // Field value:[C
29: iload_2
30: caload
31: istore 4
33: iload 4
35: ldc #89 // int 55296
37: if_icmplt 78
40: iload 4
42: ldc #109 // int 56319
44: if_icmpgt 78
47: aload_0
48: iload_2
49: invokevirtual #110 // Method codePointAt:(I)I
52: istore 5
54: iload 5
56: iload 5
58: invokestatic #111 // Method java/lang/Character.toLowerCase:(I)I
61: if_icmpeq 67
64: goto 99
67: iload_2
68: iload 5
70: invokestatic #112 // Method java/lang/Character.charCount:(I)I
73: iadd
74: istore_2
75: goto 94
78: iload 4
80: iload 4
82: invokestatic #57 // Method java/lang/Character.toLowerCase:(C)C
85: if_icmpeq 91
88: goto 99
91: iinc 2, 1
94: goto 20
97: aload_0
98: areturn
99: iload_3
100: newarray char
102: astore 4
104: iconst_0
105: istore 5
107: aload_0
108: getfield #2 // Field value:[C
111: iconst_0
112: aload 4
114: iconst_0
115: iload_2
116: invokestatic #36 // Method java/lang/System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
119: aload_1
120: invokevirtual #113 // Method java/util/Locale.getLanguage:()Ljava/lang/String;
123: astore 6
125: aload 6
127: ldc #114 // String tr
129: if_acmpeq 146
132: aload 6
134: ldc #115 // String az
136: if_acmpeq 146
139: aload 6
141: ldc #116 // String lt
143: if_acmpne 150
146: iconst_1
147: goto 151
150: iconst_0
151: istore 7
153: iload_2
154: istore 12
156: iload 12
158: iload_3
159: if_icmpge 416
162: aload_0
163: getfield #2 // Field value:[C
166: iload 12
168: caload
169: istore 10
171: iload 10
173: i2c
174: ldc #89 // int 55296
176: if_icmplt 205
179: iload 10
181: i2c
182: ldc #109 // int 56319
184: if_icmpgt 205
187: aload_0
188: iload 12
190: invokevirtual #110 // Method codePointAt:(I)I
193: istore 10
195: iload 10
197: invokestatic #112 // Method java/lang/Character.charCount:(I)I
200: istore 11
202: goto 208
205: iconst_1
206: istore 11
208: iload 7
210: ifne 221
213: iload 10
215: sipush 931
218: if_icmpne 233
221: aload_0
222: iload 12
224: aload_1
225: invokestatic #117 // Method java/lang/ConditionalSpecialCasing.toLowerCaseEx:(Ljava/lang/String;ILjava/util/Locale;)I
228: istore 9
230: goto 240
233: iload 10
235: invokestatic #111 // Method java/lang/Character.toLowerCase:(I)I
238: istore 9
240: iload 9
242: iconst_m1
243: if_icmpeq 253
246: iload 9
248: ldc #61 // int 65536
250: if_icmplt 395
253: iload 9
255: iconst_m1
256: if_icmpne 271
259: aload_0
260: iload 12
262: aload_1
263: invokestatic #118 // Method java/lang/ConditionalSpecialCasing.toLowerCaseCharArray:(Ljava/lang/String;ILjava/util/Locale;)[C
266: astore 8
268: goto 307
271: iload 11
273: iconst_2
274: if_icmpne 300
277: iload 5
279: iload 9
281: aload 4
283: iload 12
285: iload 5
287: iadd
288: invokestatic #119 // Method java/lang/Character.toChars:(I[CI)I
291: iload 11
293: isub
294: iadd
295: istore 5
297: goto 406
300: iload 9
302: invokestatic #120 // Method java/lang/Character.toChars:(I)[C
305: astore 8
307: aload 8
309: arraylength
310: istore 13
312: iload 13
314: iload 11
316: if_icmple 350
319: aload 4
321: arraylength
322: iload 13
324: iadd
325: iload 11
327: isub
328: newarray char
330: astore 14
332: aload 4
334: iconst_0
335: aload 14
337: iconst_0
338: iload 12
340: iload 5
342: iadd
343: invokestatic #36 // Method java/lang/System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
346: aload 14
348: astore 4
350: iconst_0
351: istore 14
353: iload 14
355: iload 13
357: if_icmpge 382
360: aload 4
362: iload 12
364: iload 5
366: iadd
367: iload 14
369: iadd
370: aload 8
372: iload 14
374: caload
375: castore
376: iinc 14, 1
379: goto 353
382: iload 5
384: iload 13
386: iload 11
388: isub
389: iadd
390: istore 5
392: goto 406
395: aload 4
397: iload 12
399: iload 5
401: iadd
402: iload 9
404: i2c
405: castore
406: iload 12
408: iload 11
410: iadd
411: istore 12
413: goto 156
416: new #42 // class java/lang/String
419: dup
420: aload 4
422: iconst_0
423: iload_3
424: iload 5
426: iadd
427: invokespecial #71 // Method "<init>":([CII)V
430: areturn
public java.lang.String toLowerCase();
Code:
0: aload_0
1: invokestatic #121 // Method java/util/Locale.getDefault:()Ljava/util/Locale;
4: invokevirtual #122 // Method toLowerCase:(Ljava/util/Locale;)Ljava/lang/String;
7: areturn
public java.lang.String toUpperCase(java.util.Locale);
Code:
0: aload_1
1: ifnonnull 12
4: new #16 // class java/lang/NullPointerException
7: dup
8: invokespecial #38 // Method java/lang/NullPointerException."<init>":()V
11: athrow
12: aload_0
13: getfield #2 // Field value:[C
16: arraylength
17: istore_3
18: iconst_0
19: istore_2
20: iload_2
21: iload_3
22: if_icmpge 98
25: aload_0
26: getfield #2 // Field value:[C
29: iload_2
30: caload
31: istore 4
33: iload 4
35: ldc #89 // int 55296
37: if_icmplt 64
40: iload 4
42: ldc #109 // int 56319
44: if_icmpgt 64
47: aload_0
48: iload_2
49: invokevirtual #110 // Method codePointAt:(I)I
52: istore 4
54: iload 4
56: invokestatic #112 // Method java/lang/Character.charCount:(I)I
59: istore 5
61: goto 67
64: iconst_1
65: istore 5
67: iload 4
69: invokestatic #123 // Method java/lang/Character.toUpperCaseEx:(I)I
72: istore 6
74: iload 6
76: iconst_m1
77: if_icmpeq 100
80: iload 4
82: iload 6
84: if_icmpeq 90
87: goto 100
90: iload_2
91: iload 5
93: iadd
94: istore_2
95: goto 20
98: aload_0
99: areturn
100: iconst_0
101: istore 4
103: iload_3
104: newarray char
106: astore 5
108: aload_0
109: getfield #2 // Field value:[C
112: iconst_0
113: aload 5
115: iconst_0
116: iload_2
117: invokestatic #36 // Method java/lang/System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
120: aload_1
121: invokevirtual #113 // Method java/util/Locale.getLanguage:()Ljava/lang/String;
124: astore 6
126: aload 6
128: ldc #114 // String tr
130: if_acmpeq 147
133: aload 6
135: ldc #115 // String az
137: if_acmpeq 147
140: aload 6
142: ldc #116 // String lt
144: if_acmpne 151
147: iconst_1
148: goto 152
151: iconst_0
152: istore 7
154: iload_2
155: istore 12
157: iload 12
159: iload_3
160: if_icmpge 424
163: aload_0
164: getfield #2 // Field value:[C
167: iload 12
169: caload
170: istore 10
172: iload 10
174: i2c
175: ldc #89 // int 55296
177: if_icmplt 206
180: iload 10
182: i2c
183: ldc #109 // int 56319
185: if_icmpgt 206
188: aload_0
189: iload 12
191: invokevirtual #110 // Method codePointAt:(I)I
194: istore 10
196: iload 10
198: invokestatic #112 // Method java/lang/Character.charCount:(I)I
201: istore 11
203: goto 209
206: iconst_1
207: istore 11
209: iload 7
211: ifeq 226
214: aload_0
215: iload 12
217: aload_1
218: invokestatic #124 // Method java/lang/ConditionalSpecialCasing.toUpperCaseEx:(Ljava/lang/String;ILjava/util/Locale;)I
221: istore 9
223: goto 233
226: iload 10
228: invokestatic #123 // Method java/lang/Character.toUpperCaseEx:(I)I
231: istore 9
233: iload 9
235: iconst_m1
236: if_icmpeq 246
239: iload 9
241: ldc #61 // int 65536
243: if_icmplt 403
246: iload 9
248: iconst_m1
249: if_icmpne 279
252: iload 7
254: ifeq 269
257: aload_0
258: iload 12
260: aload_1
261: invokestatic #125 // Method java/lang/ConditionalSpecialCasing.toUpperCaseCharArray:(Ljava/lang/String;ILjava/util/Locale;)[C
264: astore 8
266: goto 315
269: iload 10
271: invokestatic #126 // Method java/lang/Character.toUpperCaseCharArray:(I)[C
274: astore 8
276: goto 315
279: iload 11
281: iconst_2
282: if_icmpne 308
285: iload 4
287: iload 9
289: aload 5
291: iload 12
293: iload 4
295: iadd
296: invokestatic #119 // Method java/lang/Character.toChars:(I[CI)I
299: iload 11
301: isub
302: iadd
303: istore 4
305: goto 414
308: iload 9
310: invokestatic #120 // Method java/lang/Character.toChars:(I)[C
313: astore 8
315: aload 8
317: arraylength
318: istore 13
320: iload 13
322: iload 11
324: if_icmple 358
327: aload 5
329: arraylength
330: iload 13
332: iadd
333: iload 11
335: isub
336: newarray char
338: astore 14
340: aload 5
342: iconst_0
343: aload 14
345: iconst_0
346: iload 12
348: iload 4
350: iadd
351: invokestatic #36 // Method java/lang/System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
354: aload 14
356: astore 5
358: iconst_0
359: istore 14
361: iload 14
363: iload 13
365: if_icmpge 390
368: aload 5
370: iload 12
372: iload 4
374: iadd
375: iload 14
377: iadd
378: aload 8
380: iload 14
382: caload
383: castore
384: iinc 14, 1
387: goto 361
390: iload 4
392: iload 13
394: iload 11
396: isub
397: iadd
398: istore 4
400: goto 414
403: aload 5
405: iload 12
407: iload 4
409: iadd
410: iload 9
412: i2c
413: castore
414: iload 12
416: iload 11
418: iadd
419: istore 12
421: goto 157
424: new #42 // class java/lang/String
427: dup
428: aload 5
430: iconst_0
431: iload_3
432: iload 4
434: iadd
435: invokespecial #71 // Method "<init>":([CII)V
438: areturn
public java.lang.String toUpperCase();
Code:
0: aload_0
1: invokestatic #121 // Method java/util/Locale.getDefault:()Ljava/util/Locale;
4: invokevirtual #127 // Method toUpperCase:(Ljava/util/Locale;)Ljava/lang/String;
7: areturn
public java.lang.String trim();
Code:
0: aload_0
1: getfield #2 // Field value:[C
4: arraylength
5: istore_1
6: iconst_0
7: istore_2
8: aload_0
9: getfield #2 // Field value:[C
12: astore_3
13: iload_2
14: iload_1
15: if_icmpge 32
18: aload_3
19: iload_2
20: caload
21: bipush 32
23: if_icmpgt 32
26: iinc 2, 1
29: goto 13
32: iload_2
33: iload_1
34: if_icmpge 53
37: aload_3
38: iload_1
39: iconst_1
40: isub
41: caload
42: bipush 32
44: if_icmpgt 53
47: iinc 1, -1
50: goto 32
53: iload_2
54: ifgt 66
57: iload_1
58: aload_0
59: getfield #2 // Field value:[C
62: arraylength
63: if_icmpge 75
66: aload_0
67: iload_2
68: iload_1
69: invokevirtual #72 // Method substring:(II)Ljava/lang/String;
72: goto 76
75: aload_0
76: areturn
public java.lang.String toString();
Code:
0: aload_0
1: areturn
public char[] toCharArray();
Code:
0: aload_0
1: getfield #2 // Field value:[C
4: arraylength
5: newarray char
7: astore_1
8: aload_0
9: getfield #2 // Field value:[C
12: iconst_0
13: aload_1
14: iconst_0
15: aload_0
16: getfield #2 // Field value:[C
19: arraylength
20: invokestatic #36 // Method java/lang/System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
23: aload_1
24: areturn
public static java.lang.String format(java.lang.String, java.lang.Object...);
Code:
0: new #128 // class java/util/Formatter
3: dup
4: invokespecial #129 // Method java/util/Formatter."<init>":()V
7: aload_0
8: aload_1
9: invokevirtual #130 // Method java/util/Formatter.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/util/Formatter;
12: invokevirtual #131 // Method java/util/Formatter.toString:()Ljava/lang/String;
15: areturn
public static java.lang.String format(java.util.Locale, java.lang.String, java.lang.Object...);
Code:
0: new #128 // class java/util/Formatter
3: dup
4: aload_0
5: invokespecial #132 // Method java/util/Formatter."<init>":(Ljava/util/Locale;)V
8: aload_1
9: aload_2
10: invokevirtual #130 // Method java/util/Formatter.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/util/Formatter;
13: invokevirtual #131 // Method java/util/Formatter.toString:()Ljava/lang/String;
16: areturn
public static java.lang.String valueOf(java.lang.Object);
Code:
0: aload_0
1: ifnonnull 9
4: ldc #133 // String null
6: goto 13
9: aload_0
10: invokevirtual #134 // Method java/lang/Object.toString:()Ljava/lang/String;
13: areturn
public static java.lang.String valueOf(char[]);
Code:
0: new #42 // class java/lang/String
3: dup
4: aload_0
5: invokespecial #135 // Method "<init>":([C)V
8: areturn
public static java.lang.String valueOf(char[], int, int);
Code:
0: new #42 // class java/lang/String
3: dup
4: aload_0
5: iload_1
6: iload_2
7: invokespecial #71 // Method "<init>":([CII)V
10: areturn
public static java.lang.String copyValueOf(char[], int, int);
Code:
0: new #42 // class java/lang/String
3: dup
4: aload_0
5: iload_1
6: iload_2
7: invokespecial #71 // Method "<init>":([CII)V
10: areturn
public static java.lang.String copyValueOf(char[]);
Code:
0: new #42 // class java/lang/String
3: dup
4: aload_0
5: invokespecial #135 // Method "<init>":([C)V
8: areturn
public static java.lang.String valueOf(boolean);
Code:
0: iload_0
1: ifeq 9
4: ldc #136 // String true
6: goto 11
9: ldc #137 // String false
11: areturn
public static java.lang.String valueOf(char);
Code:
0: iconst_1
1: newarray char
3: dup
4: iconst_0
5: iload_0
6: castore
7: astore_1
8: new #42 // class java/lang/String
11: dup
12: aload_1
13: iconst_1
14: invokespecial #75 // Method "<init>":([CZ)V
17: areturn
public static java.lang.String valueOf(int);
Code:
0: iload_0
1: invokestatic #11 // Method java/lang/Integer.toString:(I)Ljava/lang/String;
4: areturn
public static java.lang.String valueOf(long);
Code:
0: lload_0
1: invokestatic #138 // Method java/lang/Long.toString:(J)Ljava/lang/String;
4: areturn
public static java.lang.String valueOf(float);
Code:
0: fload_0
1: invokestatic #139 // Method java/lang/Float.toString:(F)Ljava/lang/String;
4: areturn
public static java.lang.String valueOf(double);
Code:
0: dload_0
1: invokestatic #140 // Method java/lang/Double.toString:(D)Ljava/lang/String;
4: areturn
public native java.lang.String intern();
public int compareTo(java.lang.Object);
Code:
0: aload_0
1: aload_1
2: checkcast #42 // class java/lang/String
5: invokevirtual #141 // Method compareTo:(Ljava/lang/String;)I
8: ireturn
static {};
Code:
0: iconst_0
1: anewarray #142 // class java/io/ObjectStreamField
4: putstatic #143 // Field serialPersistentFields:[Ljava/io/ObjectStreamField;
7: new #144 // class java/lang/String$CaseInsensitiveComparator
10: dup
11: aconst_null
12: invokespecial #145 // Method java/lang/String$CaseInsensitiveComparator."<init>":(Ljava/lang/String$1;)V
15: putstatic #54 // Field CASE_INSENSITIVE_ORDER:Ljava/util/Comparator;
18: return
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment