CharEscaper.java
2.77 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
package com.google.common.escape;
import com.google.common.annotations.Beta;
import com.google.common.annotations.GwtCompatible;
import com.google.common.base.Preconditions;
import ql;
@Beta
@GwtCompatible
public abstract class CharEscaper
extends Escaper
{
private static char[] a(char[] paramArrayOfChar, int paramInt1, int paramInt2)
{
char[] arrayOfChar = new char[paramInt2];
if (paramInt1 > 0) {
System.arraycopy(paramArrayOfChar, 0, arrayOfChar, 0, paramInt1);
}
return arrayOfChar;
}
public String escape(String paramString)
{
Preconditions.checkNotNull(paramString);
int j = paramString.length();
int i = 0;
for (;;)
{
String str = paramString;
if (i < j)
{
if (escape(paramString.charAt(i)) != null) {
str = escapeSlow(paramString, i);
}
}
else {
return str;
}
i += 1;
}
}
protected abstract char[] escape(char paramChar);
protected final String escapeSlow(String paramString, int paramInt)
{
int i2 = paramString.length();
Object localObject1 = ql.a();
int i = localObject1.length;
int m = 0;
int j = 0;
int k = paramInt;
paramInt = j;
char[] arrayOfChar;
int i1;
int n;
Object localObject2;
if (k < i2)
{
arrayOfChar = escape(paramString.charAt(k));
i1 = m;
n = paramInt;
j = i;
localObject2 = localObject1;
if (arrayOfChar != null)
{
n = arrayOfChar.length;
i1 = k - m;
int i3 = paramInt + i1 + n;
j = i;
localObject2 = localObject1;
if (i < i3)
{
j = (i2 - k) * 2 + i3;
localObject2 = a((char[])localObject1, paramInt, j);
}
if (i1 <= 0) {
break label266;
}
paramString.getChars(m, k, (char[])localObject2, paramInt);
paramInt += i1;
}
}
label266:
for (;;)
{
i = paramInt;
if (n > 0)
{
System.arraycopy(arrayOfChar, 0, localObject2, paramInt, n);
i = paramInt + n;
}
i1 = k + 1;
n = i;
k += 1;
m = i1;
paramInt = n;
i = j;
localObject1 = localObject2;
break;
k = i2 - m;
j = paramInt;
localObject2 = localObject1;
if (k > 0)
{
j = k + paramInt;
localObject2 = localObject1;
if (i < j) {
localObject2 = a((char[])localObject1, paramInt, j);
}
paramString.getChars(m, i2, (char[])localObject2, paramInt);
}
return new String((char[])localObject2, 0, j);
}
}
}
/* Location: /home/merong/decompile/hackery-dex2jar.jar!/com/google/common/escape/CharEscaper.class
* Java compiler version: 6 (50.0)
* JD-Core Version: 0.7.1
*/