public class org.aspectj.asm.internal.CharOperation
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.aspectj.asm.internal.CharOperation
super_class: java.lang.Object
{
public static final char[][] NO_CHAR_CHAR;
descriptor: [[C
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final char[] NO_CHAR;
descriptor: [C
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: .line 19
iconst_0
anewarray char[]
putstatic org.aspectj.asm.internal.CharOperation.NO_CHAR_CHAR:[[C
1: .line 21
iconst_0
newarray 5
putstatic org.aspectj.asm.internal.CharOperation.NO_CHAR:[C
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 // org.aspectj.asm.internal.CharOperation this
0: .line 17
aload 0 /* this */
invokespecial java.lang.Object.<init>:()V
return
end local 0 // org.aspectj.asm.internal.CharOperation this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/aspectj/asm/internal/CharOperation;
public static final char[] subarray(char[], int, int);
descriptor: ([CII)[C
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
Code:
stack=6, locals=4, args_size=3
start local 0 // char[] array
start local 1 // int start
start local 2 // int end
0: .line 27
iload 2 /* end */
iconst_m1
if_icmpne 2
1: .line 28
aload 0 /* array */
arraylength
istore 2 /* end */
2: .line 29
StackMap locals:
StackMap stack:
iload 1 /* start */
iload 2 /* end */
if_icmple 4
3: .line 30
aconst_null
areturn
4: .line 31
StackMap locals:
StackMap stack:
iload 1 /* start */
ifge 6
5: .line 32
aconst_null
areturn
6: .line 33
StackMap locals:
StackMap stack:
iload 2 /* end */
aload 0 /* array */
arraylength
if_icmple 8
7: .line 34
aconst_null
areturn
8: .line 36
StackMap locals:
StackMap stack:
iload 2 /* end */
iload 1 /* start */
isub
newarray 5
astore 3 /* result */
start local 3 // char[] result
9: .line 37
aload 0 /* array */
iload 1 /* start */
aload 3 /* result */
iconst_0
iload 2 /* end */
iload 1 /* start */
isub
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
10: .line 38
aload 3 /* result */
areturn
end local 3 // char[] result
end local 2 // int end
end local 1 // int start
end local 0 // char[] array
LocalVariableTable:
Start End Slot Name Signature
0 11 0 array [C
0 11 1 start I
0 11 2 end I
9 11 3 result [C
MethodParameters:
Name Flags
array
start
end
public static final char[][] subarray(char[][], int, int);
descriptor: ([[CII)[[C
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
Code:
stack=6, locals=4, args_size=3
start local 0 // char[][] array
start local 1 // int start
start local 2 // int end
0: .line 42
iload 2 /* end */
iconst_m1
if_icmpne 2
1: .line 43
aload 0 /* array */
arraylength
istore 2 /* end */
2: .line 44
StackMap locals:
StackMap stack:
iload 1 /* start */
iload 2 /* end */
if_icmple 4
3: .line 45
aconst_null
areturn
4: .line 46
StackMap locals:
StackMap stack:
iload 1 /* start */
ifge 6
5: .line 47
aconst_null
areturn
6: .line 48
StackMap locals:
StackMap stack:
iload 2 /* end */
aload 0 /* array */
arraylength
if_icmple 8
7: .line 49
aconst_null
areturn
8: .line 51
StackMap locals:
StackMap stack:
iload 2 /* end */
iload 1 /* start */
isub
anewarray char[]
astore 3 /* result */
start local 3 // char[][] result
9: .line 52
aload 0 /* array */
iload 1 /* start */
aload 3 /* result */
iconst_0
iload 2 /* end */
iload 1 /* start */
isub
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
10: .line 53
aload 3 /* result */
areturn
end local 3 // char[][] result
end local 2 // int end
end local 1 // int start
end local 0 // char[][] array
LocalVariableTable:
Start End Slot Name Signature
0 11 0 array [[C
0 11 1 start I
0 11 2 end I
9 11 3 result [[C
MethodParameters:
Name Flags
array
start
end
public static final char[][] splitOn(char, char[]);
descriptor: (C[C)[[C
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
Code:
stack=6, locals=8, args_size=2
start local 0 // char divider
start local 1 // char[] array
0: .line 57
aload 1 /* array */
ifnonnull 1
iconst_0
goto 2
StackMap locals:
StackMap stack:
1: aload 1 /* array */
arraylength
StackMap locals:
StackMap stack: int
2: istore 2 /* length */
start local 2 // int length
3: .line 58
iload 2 /* length */
ifne 5
4: .line 59
getstatic org.aspectj.asm.internal.CharOperation.NO_CHAR_CHAR:[[C
areturn
5: .line 61
StackMap locals: int
StackMap stack:
iconst_1
istore 3 /* wordCount */
start local 3 // int wordCount
6: .line 62
iconst_0
istore 4 /* i */
start local 4 // int i
7: goto 11
8: .line 63
StackMap locals: int int
StackMap stack:
aload 1 /* array */
iload 4 /* i */
caload
iload 0 /* divider */
if_icmpne 10
9: .line 64
iinc 3 /* wordCount */ 1
10: .line 62
StackMap locals:
StackMap stack:
iinc 4 /* i */ 1
StackMap locals:
StackMap stack:
11: iload 4 /* i */
iload 2 /* length */
if_icmplt 8
end local 4 // int i
12: .line 65
iload 3 /* wordCount */
anewarray char[]
astore 4 /* split */
start local 4 // char[][] split
13: .line 66
iconst_0
istore 5 /* last */
start local 5 // int last
14: iconst_0
istore 6 /* currentWord */
start local 6 // int currentWord
15: .line 67
iconst_0
istore 7 /* i */
start local 7 // int i
16: goto 22
17: .line 68
StackMap locals: int char[] int int char[][] int int int
StackMap stack:
aload 1 /* array */
iload 7 /* i */
caload
iload 0 /* divider */
if_icmpne 21
18: .line 69
aload 4 /* split */
iload 6 /* currentWord */
iload 7 /* i */
iload 5 /* last */
isub
newarray 5
aastore
19: .line 70
aload 1 /* array */
iload 5 /* last */
aload 4 /* split */
iload 6 /* currentWord */
iinc 6 /* currentWord */ 1
aaload
iconst_0
iload 7 /* i */
iload 5 /* last */
isub
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
20: .line 71
iload 7 /* i */
iconst_1
iadd
istore 5 /* last */
21: .line 67
StackMap locals:
StackMap stack:
iinc 7 /* i */ 1
StackMap locals:
StackMap stack:
22: iload 7 /* i */
iload 2 /* length */
if_icmplt 17
end local 7 // int i
23: .line 74
aload 4 /* split */
iload 6 /* currentWord */
iload 2 /* length */
iload 5 /* last */
isub
newarray 5
aastore
24: .line 75
aload 1 /* array */
iload 5 /* last */
aload 4 /* split */
iload 6 /* currentWord */
aaload
iconst_0
iload 2 /* length */
iload 5 /* last */
isub
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
25: .line 76
aload 4 /* split */
areturn
end local 6 // int currentWord
end local 5 // int last
end local 4 // char[][] split
end local 3 // int wordCount
end local 2 // int length
end local 1 // char[] array
end local 0 // char divider
LocalVariableTable:
Start End Slot Name Signature
0 26 0 divider C
0 26 1 array [C
3 26 2 length I
6 26 3 wordCount I
7 12 4 i I
13 26 4 split [[C
14 26 5 last I
15 26 6 currentWord I
16 23 7 i I
MethodParameters:
Name Flags
divider
array
public static final int lastIndexOf(char, char[]);
descriptor: (C[C)I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
Code:
stack=3, locals=3, args_size=2
start local 0 // char toBeFound
start local 1 // char[] array
0: .line 83
aload 1 /* array */
arraylength
istore 2 /* i */
start local 2 // int i
1: goto 4
2: .line 84
StackMap locals: int
StackMap stack:
iload 0 /* toBeFound */
aload 1 /* array */
iload 2 /* i */
caload
if_icmpne 4
3: .line 85
iload 2 /* i */
ireturn
4: .line 83
StackMap locals:
StackMap stack:
iinc 2 /* i */ -1
iload 2 /* i */
ifge 2
end local 2 // int i
5: .line 86
iconst_m1
ireturn
end local 1 // char[] array
end local 0 // char toBeFound
LocalVariableTable:
Start End Slot Name Signature
0 6 0 toBeFound C
0 6 1 array [C
1 5 2 i I
MethodParameters:
Name Flags
toBeFound
array
public static final int indexOf(char, char[]);
descriptor: (C[C)I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
Code:
stack=3, locals=3, args_size=2
start local 0 // char toBeFound
start local 1 // char[] array
0: .line 93
iconst_0
istore 2 /* i */
start local 2 // int i
1: goto 5
2: .line 94
StackMap locals: int
StackMap stack:
iload 0 /* toBeFound */
aload 1 /* array */
iload 2 /* i */
caload
if_icmpne 4
3: .line 95
iload 2 /* i */
ireturn
4: .line 93
StackMap locals:
StackMap stack:
iinc 2 /* i */ 1
StackMap locals:
StackMap stack:
5: iload 2 /* i */
aload 1 /* array */
arraylength
if_icmplt 2
end local 2 // int i
6: .line 96
iconst_m1
ireturn
end local 1 // char[] array
end local 0 // char toBeFound
LocalVariableTable:
Start End Slot Name Signature
0 7 0 toBeFound C
0 7 1 array [C
1 6 2 i I
MethodParameters:
Name Flags
toBeFound
array
public static final char[] concat(char[], char[]);
descriptor: ([C[C)[C
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
Code:
stack=5, locals=5, args_size=2
start local 0 // char[] first
start local 1 // char[] second
0: .line 103
aload 0 /* first */
ifnonnull 2
1: .line 104
aload 1 /* second */
areturn
2: .line 105
StackMap locals:
StackMap stack:
aload 1 /* second */
ifnonnull 4
3: .line 106
aload 0 /* first */
areturn
4: .line 108
StackMap locals:
StackMap stack:
aload 0 /* first */
arraylength
istore 2 /* length1 */
start local 2 // int length1
5: .line 109
aload 1 /* second */
arraylength
istore 3 /* length2 */
start local 3 // int length2
6: .line 110
iload 2 /* length1 */
iload 3 /* length2 */
iadd
newarray 5
astore 4 /* result */
start local 4 // char[] result
7: .line 111
aload 0 /* first */
iconst_0
aload 4 /* result */
iconst_0
iload 2 /* length1 */
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
8: .line 112
aload 1 /* second */
iconst_0
aload 4 /* result */
iload 2 /* length1 */
iload 3 /* length2 */
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
9: .line 113
aload 4 /* result */
areturn
end local 4 // char[] result
end local 3 // int length2
end local 2 // int length1
end local 1 // char[] second
end local 0 // char[] first
LocalVariableTable:
Start End Slot Name Signature
0 10 0 first [C
0 10 1 second [C
5 10 2 length1 I
6 10 3 length2 I
7 10 4 result [C
MethodParameters:
Name Flags
first
second
public static final boolean equals(char[], char[]);
descriptor: ([C[C)Z
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
Code:
stack=3, locals=3, args_size=2
start local 0 // char[] first
start local 1 // char[] second
0: .line 120
aload 0 /* first */
aload 1 /* second */
if_acmpne 2
1: .line 121
iconst_1
ireturn
2: .line 122
StackMap locals:
StackMap stack:
aload 0 /* first */
ifnull 3
aload 1 /* second */
ifnonnull 4
3: .line 123
StackMap locals:
StackMap stack:
iconst_0
ireturn
4: .line 124
StackMap locals:
StackMap stack:
aload 0 /* first */
arraylength
aload 1 /* second */
arraylength
if_icmpeq 6
5: .line 125
iconst_0
ireturn
6: .line 127
StackMap locals:
StackMap stack:
aload 0 /* first */
arraylength
istore 2 /* i */
start local 2 // int i
7: goto 10
8: .line 128
StackMap locals: int
StackMap stack:
aload 0 /* first */
iload 2 /* i */
caload
aload 1 /* second */
iload 2 /* i */
caload
if_icmpeq 10
9: .line 129
iconst_0
ireturn
10: .line 127
StackMap locals:
StackMap stack:
iinc 2 /* i */ -1
iload 2 /* i */
ifge 8
end local 2 // int i
11: .line 130
iconst_1
ireturn
end local 1 // char[] second
end local 0 // char[] first
LocalVariableTable:
Start End Slot Name Signature
0 12 0 first [C
0 12 1 second [C
7 11 2 i I
MethodParameters:
Name Flags
first
second
public static final java.lang.String toString(char[][]);
descriptor: ([[C)Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
Code:
stack=3, locals=2, args_size=1
start local 0 // char[][] array
0: .line 134
aload 0 /* array */
bipush 46
invokestatic org.aspectj.asm.internal.CharOperation.concatWith:([[CC)[C
astore 1 /* result */
start local 1 // char[] result
1: .line 135
new java.lang.String
dup
aload 1 /* result */
invokespecial java.lang.String.<init>:([C)V
areturn
end local 1 // char[] result
end local 0 // char[][] array
LocalVariableTable:
Start End Slot Name Signature
0 2 0 array [[C
1 2 1 result [C
MethodParameters:
Name Flags
array
public static final char[] concatWith(char[][], char);
descriptor: ([[CC)[C
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
Code:
stack=5, locals=6, args_size=2
start local 0 // char[][] array
start local 1 // char separator
0: .line 139
aload 0 /* array */
ifnonnull 1
iconst_0
goto 2
StackMap locals:
StackMap stack:
1: aload 0 /* array */
arraylength
StackMap locals:
StackMap stack: int
2: istore 2 /* length */
start local 2 // int length
3: .line 140
iload 2 /* length */
ifne 5
4: .line 141
getstatic org.aspectj.asm.internal.CharOperation.NO_CHAR:[C
areturn
5: .line 143
StackMap locals: int
StackMap stack:
iload 2 /* length */
iconst_1
isub
istore 3 /* size */
start local 3 // int size
6: .line 144
iload 2 /* length */
istore 4 /* index */
start local 4 // int index
7: .line 145
goto 11
8: .line 146
StackMap locals: int int
StackMap stack:
aload 0 /* array */
iload 4 /* index */
aaload
arraylength
ifne 10
9: .line 147
iinc 3 /* size */ -1
goto 11
10: .line 149
StackMap locals:
StackMap stack:
iload 3 /* size */
aload 0 /* array */
iload 4 /* index */
aaload
arraylength
iadd
istore 3 /* size */
11: .line 145
StackMap locals:
StackMap stack:
iinc 4 /* index */ -1
iload 4 /* index */
ifge 8
12: .line 151
iload 3 /* size */
ifgt 14
13: .line 152
getstatic org.aspectj.asm.internal.CharOperation.NO_CHAR:[C
areturn
14: .line 153
StackMap locals:
StackMap stack:
iload 3 /* size */
newarray 5
astore 5 /* result */
start local 5 // char[] result
15: .line 154
iload 2 /* length */
istore 4 /* index */
16: .line 155
goto 22
17: .line 156
StackMap locals: char[]
StackMap stack:
aload 0 /* array */
iload 4 /* index */
aaload
arraylength
istore 2 /* length */
18: .line 157
iload 2 /* length */
ifle 22
19: .line 158
aload 0 /* array */
iload 4 /* index */
aaload
iconst_0
aload 5 /* result */
iload 3 /* size */
iload 2 /* length */
isub
dup
istore 3 /* size */
iload 2 /* length */
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
20: .line 159
iinc 3 /* size */ -1
iload 3 /* size */
iflt 22
21: .line 160
aload 5 /* result */
iload 3 /* size */
iload 1 /* separator */
castore
22: .line 155
StackMap locals:
StackMap stack:
iinc 4 /* index */ -1
iload 4 /* index */
ifge 17
23: .line 163
aload 5 /* result */
areturn
end local 5 // char[] result
end local 4 // int index
end local 3 // int size
end local 2 // int length
end local 1 // char separator
end local 0 // char[][] array
LocalVariableTable:
Start End Slot Name Signature
0 24 0 array [[C
0 24 1 separator C
3 24 2 length I
6 24 3 size I
7 24 4 index I
15 24 5 result [C
MethodParameters:
Name Flags
array
separator
public static final int hashCode(char[]);
descriptor: ([C)I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
Code:
stack=3, locals=5, args_size=1
start local 0 // char[] array
0: .line 167
aload 0 /* array */
arraylength
istore 1 /* length */
start local 1 // int length
1: .line 168
iload 1 /* length */
ifne 2
bipush 31
goto 3
StackMap locals: int
StackMap stack:
2: aload 0 /* array */
iconst_0
caload
StackMap locals:
StackMap stack: int
3: istore 2 /* hash */
start local 2 // int hash
4: .line 169
iload 1 /* length */
bipush 8
if_icmpge 10
5: .line 170
iload 1 /* length */
istore 3 /* i */
start local 3 // int i
6: goto 8
7: .line 171
StackMap locals: int int
StackMap stack:
iload 2 /* hash */
bipush 31
imul
aload 0 /* array */
iload 3 /* i */
caload
iadd
istore 2 /* hash */
8: .line 170
StackMap locals:
StackMap stack:
iinc 3 /* i */ -1
iload 3 /* i */
ifgt 7
end local 3 // int i
9: .line 172
goto 18
10: .line 174
StackMap locals:
StackMap stack:
iload 1 /* length */
iconst_1
isub
istore 3 /* i */
start local 3 // int i
11: iload 3 /* i */
bipush 16
if_icmple 12
iload 3 /* i */
bipush 16
isub
goto 13
StackMap locals: int
StackMap stack:
12: iconst_0
StackMap locals:
StackMap stack: int
13: istore 4 /* last */
start local 4 // int last
14: goto 17
15: .line 175
StackMap locals: int
StackMap stack:
iload 2 /* hash */
bipush 31
imul
aload 0 /* array */
iload 3 /* i */
caload
iadd
istore 2 /* hash */
16: .line 174
iinc 3 /* i */ -2
StackMap locals:
StackMap stack:
17: iload 3 /* i */
iload 4 /* last */
if_icmpgt 15
end local 4 // int last
end local 3 // int i
18: .line 177
StackMap locals:
StackMap stack:
iload 2 /* hash */
ldc 2147483647
iand
ireturn
end local 2 // int hash
end local 1 // int length
end local 0 // char[] array
LocalVariableTable:
Start End Slot Name Signature
0 19 0 array [C
1 19 1 length I
4 19 2 hash I
6 9 3 i I
11 18 3 i I
14 18 4 last I
MethodParameters:
Name Flags
array
public static final boolean equals(char[][], char[][]);
descriptor: ([[C[[C)Z
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
Code:
stack=3, locals=3, args_size=2
start local 0 // char[][] first
start local 1 // char[][] second
0: .line 181
aload 0 /* first */
aload 1 /* second */
if_acmpne 2
1: .line 182
iconst_1
ireturn
2: .line 183
StackMap locals:
StackMap stack:
aload 0 /* first */
ifnull 3
aload 1 /* second */
ifnonnull 4
3: .line 184
StackMap locals:
StackMap stack:
iconst_0
ireturn
4: .line 185
StackMap locals:
StackMap stack:
aload 0 /* first */
arraylength
aload 1 /* second */
arraylength
if_icmpeq 6
5: .line 186
iconst_0
ireturn
6: .line 188
StackMap locals:
StackMap stack:
aload 0 /* first */
arraylength
istore 2 /* i */
start local 2 // int i
7: goto 10
8: .line 189
StackMap locals: int
StackMap stack:
aload 0 /* first */
iload 2 /* i */
aaload
aload 1 /* second */
iload 2 /* i */
aaload
invokestatic org.aspectj.asm.internal.CharOperation.equals:([C[C)Z
ifne 10
9: .line 190
iconst_0
ireturn
10: .line 188
StackMap locals:
StackMap stack:
iinc 2 /* i */ -1
iload 2 /* i */
ifge 8
end local 2 // int i
11: .line 191
iconst_1
ireturn
end local 1 // char[][] second
end local 0 // char[][] first
LocalVariableTable:
Start End Slot Name Signature
0 12 0 first [[C
0 12 1 second [[C
7 11 2 i I
MethodParameters:
Name Flags
first
second
public static final void replace(char[], char, char);
descriptor: ([CCC)V
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
Code:
stack=3, locals=5, args_size=3
start local 0 // char[] array
start local 1 // char toBeReplaced
start local 2 // char replacementChar
0: .line 198
iload 1 /* toBeReplaced */
iload 2 /* replacementChar */
if_icmpeq 8
1: .line 199
iconst_0
istore 3 /* i */
start local 3 // int i
2: aload 0 /* array */
arraylength
istore 4 /* max */
start local 4 // int max
3: goto 7
4: .line 200
StackMap locals: int int
StackMap stack:
aload 0 /* array */
iload 3 /* i */
caload
iload 1 /* toBeReplaced */
if_icmpne 6
5: .line 201
aload 0 /* array */
iload 3 /* i */
iload 2 /* replacementChar */
castore
6: .line 199
StackMap locals:
StackMap stack:
iinc 3 /* i */ 1
StackMap locals:
StackMap stack:
7: iload 3 /* i */
iload 4 /* max */
if_icmplt 4
end local 4 // int max
end local 3 // int i
8: .line 204
StackMap locals:
StackMap stack:
return
end local 2 // char replacementChar
end local 1 // char toBeReplaced
end local 0 // char[] array
LocalVariableTable:
Start End Slot Name Signature
0 9 0 array [C
0 9 1 toBeReplaced C
0 9 2 replacementChar C
2 8 3 i I
3 8 4 max I
MethodParameters:
Name Flags
array
toBeReplaced
replacementChar
}
SourceFile: "CharOperation.java"