491 lines
13 KiB
Java
491 lines
13 KiB
Java
package com.google.common.base;
|
||
|
||
import java.util.Arrays;
|
||
|
||
/* loaded from: classes.dex */
|
||
public abstract class CharMatcher implements Predicate<Character> {
|
||
|
||
private static final class Any extends NamedFastMatcher {
|
||
static final Any b = new Any();
|
||
|
||
private Any() {
|
||
super("CharMatcher.any()");
|
||
}
|
||
|
||
@Override // com.google.common.base.CharMatcher
|
||
public int a(CharSequence charSequence, int i) {
|
||
int length = charSequence.length();
|
||
Preconditions.b(i, length);
|
||
if (i == length) {
|
||
return -1;
|
||
}
|
||
return i;
|
||
}
|
||
|
||
@Override // com.google.common.base.CharMatcher
|
||
public boolean a(char c) {
|
||
return true;
|
||
}
|
||
}
|
||
|
||
private static final class Ascii extends NamedFastMatcher {
|
||
static final Ascii b = new Ascii();
|
||
|
||
Ascii() {
|
||
super("CharMatcher.ascii()");
|
||
}
|
||
|
||
@Override // com.google.common.base.CharMatcher
|
||
public boolean a(char c) {
|
||
return c <= 127;
|
||
}
|
||
}
|
||
|
||
private static final class BreakingWhitespace extends CharMatcher {
|
||
static final CharMatcher a = new BreakingWhitespace();
|
||
|
||
private BreakingWhitespace() {
|
||
}
|
||
|
||
@Override // com.google.common.base.CharMatcher
|
||
public boolean a(char c) {
|
||
if (c != ' ' && c != 133 && c != 5760) {
|
||
if (c == 8199) {
|
||
return false;
|
||
}
|
||
if (c != 8287 && c != 12288 && c != 8232 && c != 8233) {
|
||
switch (c) {
|
||
case '\t':
|
||
case '\n':
|
||
case 11:
|
||
case '\f':
|
||
case '\r':
|
||
break;
|
||
default:
|
||
return c >= 8192 && c <= 8202;
|
||
}
|
||
}
|
||
}
|
||
return true;
|
||
}
|
||
|
||
@Override // com.google.common.base.Predicate
|
||
@Deprecated
|
||
public /* bridge */ /* synthetic */ boolean apply(Character ch) {
|
||
return super.a(ch);
|
||
}
|
||
|
||
public String toString() {
|
||
return "CharMatcher.breakingWhitespace()";
|
||
}
|
||
}
|
||
|
||
private static final class Digit extends RangesMatcher {
|
||
static final Digit d = new Digit();
|
||
|
||
private Digit() {
|
||
super("CharMatcher.digit()", p(), o());
|
||
}
|
||
|
||
private static char[] o() {
|
||
char[] cArr = new char[31];
|
||
for (int i = 0; i < 31; i++) {
|
||
cArr[i] = (char) ("0٠۰߀०০੦૦୦௦౦೦൦๐໐༠၀႐០᠐᥆᧐᭐᮰᱀᱐꘠꣐꤀꩐0".charAt(i) + '\t');
|
||
}
|
||
return cArr;
|
||
}
|
||
|
||
private static char[] p() {
|
||
return "0٠۰߀०০੦૦୦௦౦೦൦๐໐༠၀႐០᠐᥆᧐᭐᮰᱀᱐꘠꣐꤀꩐0".toCharArray();
|
||
}
|
||
}
|
||
|
||
static abstract class FastMatcher extends CharMatcher {
|
||
FastMatcher() {
|
||
}
|
||
|
||
@Override // com.google.common.base.Predicate
|
||
@Deprecated
|
||
public /* bridge */ /* synthetic */ boolean apply(Character ch) {
|
||
return super.a(ch);
|
||
}
|
||
}
|
||
|
||
private static final class InRange extends FastMatcher {
|
||
private final char a;
|
||
private final char b;
|
||
|
||
InRange(char c, char c2) {
|
||
Preconditions.a(c2 >= c);
|
||
this.a = c;
|
||
this.b = c2;
|
||
}
|
||
|
||
@Override // com.google.common.base.CharMatcher
|
||
public boolean a(char c) {
|
||
return this.a <= c && c <= this.b;
|
||
}
|
||
|
||
public String toString() {
|
||
return "CharMatcher.inRange('" + CharMatcher.d(this.a) + "', '" + CharMatcher.d(this.b) + "')";
|
||
}
|
||
}
|
||
|
||
private static final class Invisible extends RangesMatcher {
|
||
static final Invisible d = new Invisible();
|
||
|
||
private Invisible() {
|
||
super("CharMatcher.invisible()", "\u0000\u007f\u00ad\u0600\u061c\u06dd\u070f\u1680\u180e\u2000\u2028\u205f\u2066\u2067\u2068\u2069\u206a\u3000\ud800\ufeff\ufff9\ufffa".toCharArray(), " \u00ad\u0604\u061c\u06dd\u070f\u1680\u180e\u200f \u2064\u2066\u2067\u2068\u2069\u206f\u3000\uf8ff\ufeff\ufff9\ufffb".toCharArray());
|
||
}
|
||
}
|
||
|
||
private static final class Is extends FastMatcher {
|
||
private final char a;
|
||
|
||
Is(char c) {
|
||
this.a = c;
|
||
}
|
||
|
||
@Override // com.google.common.base.CharMatcher
|
||
public boolean a(char c) {
|
||
return c == this.a;
|
||
}
|
||
|
||
public String toString() {
|
||
return "CharMatcher.is('" + CharMatcher.d(this.a) + "')";
|
||
}
|
||
}
|
||
|
||
private static final class JavaDigit extends CharMatcher {
|
||
static final JavaDigit a = new JavaDigit();
|
||
|
||
private JavaDigit() {
|
||
}
|
||
|
||
@Override // com.google.common.base.CharMatcher
|
||
public boolean a(char c) {
|
||
return Character.isDigit(c);
|
||
}
|
||
|
||
@Override // com.google.common.base.Predicate
|
||
@Deprecated
|
||
public /* bridge */ /* synthetic */ boolean apply(Character ch) {
|
||
return super.a(ch);
|
||
}
|
||
|
||
public String toString() {
|
||
return "CharMatcher.javaDigit()";
|
||
}
|
||
}
|
||
|
||
private static final class JavaIsoControl extends NamedFastMatcher {
|
||
static final JavaIsoControl b = new JavaIsoControl();
|
||
|
||
private JavaIsoControl() {
|
||
super("CharMatcher.javaIsoControl()");
|
||
}
|
||
|
||
@Override // com.google.common.base.CharMatcher
|
||
public boolean a(char c) {
|
||
return c <= 31 || (c >= 127 && c <= 159);
|
||
}
|
||
}
|
||
|
||
private static final class JavaLetter extends CharMatcher {
|
||
static final JavaLetter a = new JavaLetter();
|
||
|
||
private JavaLetter() {
|
||
}
|
||
|
||
@Override // com.google.common.base.CharMatcher
|
||
public boolean a(char c) {
|
||
return Character.isLetter(c);
|
||
}
|
||
|
||
@Override // com.google.common.base.Predicate
|
||
@Deprecated
|
||
public /* bridge */ /* synthetic */ boolean apply(Character ch) {
|
||
return super.a(ch);
|
||
}
|
||
|
||
public String toString() {
|
||
return "CharMatcher.javaLetter()";
|
||
}
|
||
}
|
||
|
||
private static final class JavaLetterOrDigit extends CharMatcher {
|
||
static final JavaLetterOrDigit a = new JavaLetterOrDigit();
|
||
|
||
private JavaLetterOrDigit() {
|
||
}
|
||
|
||
@Override // com.google.common.base.CharMatcher
|
||
public boolean a(char c) {
|
||
return Character.isLetterOrDigit(c);
|
||
}
|
||
|
||
@Override // com.google.common.base.Predicate
|
||
@Deprecated
|
||
public /* bridge */ /* synthetic */ boolean apply(Character ch) {
|
||
return super.a(ch);
|
||
}
|
||
|
||
public String toString() {
|
||
return "CharMatcher.javaLetterOrDigit()";
|
||
}
|
||
}
|
||
|
||
private static final class JavaLowerCase extends CharMatcher {
|
||
static final JavaLowerCase a = new JavaLowerCase();
|
||
|
||
private JavaLowerCase() {
|
||
}
|
||
|
||
@Override // com.google.common.base.CharMatcher
|
||
public boolean a(char c) {
|
||
return Character.isLowerCase(c);
|
||
}
|
||
|
||
@Override // com.google.common.base.Predicate
|
||
@Deprecated
|
||
public /* bridge */ /* synthetic */ boolean apply(Character ch) {
|
||
return super.a(ch);
|
||
}
|
||
|
||
public String toString() {
|
||
return "CharMatcher.javaLowerCase()";
|
||
}
|
||
}
|
||
|
||
private static final class JavaUpperCase extends CharMatcher {
|
||
static final JavaUpperCase a = new JavaUpperCase();
|
||
|
||
private JavaUpperCase() {
|
||
}
|
||
|
||
@Override // com.google.common.base.CharMatcher
|
||
public boolean a(char c) {
|
||
return Character.isUpperCase(c);
|
||
}
|
||
|
||
@Override // com.google.common.base.Predicate
|
||
@Deprecated
|
||
public /* bridge */ /* synthetic */ boolean apply(Character ch) {
|
||
return super.a(ch);
|
||
}
|
||
|
||
public String toString() {
|
||
return "CharMatcher.javaUpperCase()";
|
||
}
|
||
}
|
||
|
||
static abstract class NamedFastMatcher extends FastMatcher {
|
||
private final String a;
|
||
|
||
NamedFastMatcher(String str) {
|
||
Preconditions.a(str);
|
||
this.a = str;
|
||
}
|
||
|
||
public final String toString() {
|
||
return this.a;
|
||
}
|
||
}
|
||
|
||
private static final class None extends NamedFastMatcher {
|
||
static final None b = new None();
|
||
|
||
private None() {
|
||
super("CharMatcher.none()");
|
||
}
|
||
|
||
@Override // com.google.common.base.CharMatcher
|
||
public int a(CharSequence charSequence, int i) {
|
||
Preconditions.b(i, charSequence.length());
|
||
return -1;
|
||
}
|
||
|
||
@Override // com.google.common.base.CharMatcher
|
||
public boolean a(char c) {
|
||
return false;
|
||
}
|
||
}
|
||
|
||
private static class RangesMatcher extends CharMatcher {
|
||
private final String a;
|
||
private final char[] b;
|
||
private final char[] c;
|
||
|
||
RangesMatcher(String str, char[] cArr, char[] cArr2) {
|
||
this.a = str;
|
||
this.b = cArr;
|
||
this.c = cArr2;
|
||
Preconditions.a(cArr.length == cArr2.length);
|
||
int i = 0;
|
||
while (i < cArr.length) {
|
||
Preconditions.a(cArr[i] <= cArr2[i]);
|
||
int i2 = i + 1;
|
||
if (i2 < cArr.length) {
|
||
Preconditions.a(cArr2[i] < cArr[i2]);
|
||
}
|
||
i = i2;
|
||
}
|
||
}
|
||
|
||
@Override // com.google.common.base.CharMatcher
|
||
public boolean a(char c) {
|
||
int binarySearch = Arrays.binarySearch(this.b, c);
|
||
if (binarySearch >= 0) {
|
||
return true;
|
||
}
|
||
int i = (~binarySearch) - 1;
|
||
return i >= 0 && c <= this.c[i];
|
||
}
|
||
|
||
@Override // com.google.common.base.Predicate
|
||
@Deprecated
|
||
public /* bridge */ /* synthetic */ boolean apply(Character ch) {
|
||
return super.a(ch);
|
||
}
|
||
|
||
public String toString() {
|
||
return this.a;
|
||
}
|
||
}
|
||
|
||
private static final class SingleWidth extends RangesMatcher {
|
||
static final SingleWidth d = new SingleWidth();
|
||
|
||
private SingleWidth() {
|
||
super("CharMatcher.singleWidth()", "\u0000־א׳\u0600ݐ\u0e00Ḁ℀ﭐﹰ。".toCharArray(), "ӹ־ת״ۿݿ\u0e7f₯℺﷿\ufeffᅵ".toCharArray());
|
||
}
|
||
}
|
||
|
||
static final class Whitespace extends NamedFastMatcher {
|
||
static final int b = Integer.numberOfLeadingZeros(31);
|
||
static final Whitespace c = new Whitespace();
|
||
|
||
Whitespace() {
|
||
super("CharMatcher.whitespace()");
|
||
}
|
||
|
||
@Override // com.google.common.base.CharMatcher
|
||
public boolean a(char c2) {
|
||
return "\u2002\u3000\r\u0085\u200a\u2005\u2000\u3000\u2029\u000b\u3000\u2008\u2003\u205f\u3000\u1680\t \u2006\u2001 \f\u2009\u3000\u2004\u3000\u3000\u2028\n \u3000".charAt((48906 * c2) >>> b) == c2;
|
||
}
|
||
}
|
||
|
||
static {
|
||
n();
|
||
c();
|
||
b();
|
||
d();
|
||
f();
|
||
h();
|
||
i();
|
||
k();
|
||
j();
|
||
g();
|
||
e();
|
||
m();
|
||
a();
|
||
l();
|
||
}
|
||
|
||
protected CharMatcher() {
|
||
}
|
||
|
||
public static CharMatcher a() {
|
||
return Any.b;
|
||
}
|
||
|
||
public static CharMatcher c() {
|
||
return BreakingWhitespace.a;
|
||
}
|
||
|
||
public static CharMatcher d() {
|
||
return Digit.d;
|
||
}
|
||
|
||
public static CharMatcher e() {
|
||
return Invisible.d;
|
||
}
|
||
|
||
public static CharMatcher f() {
|
||
return JavaDigit.a;
|
||
}
|
||
|
||
public static CharMatcher g() {
|
||
return JavaIsoControl.b;
|
||
}
|
||
|
||
public static CharMatcher h() {
|
||
return JavaLetter.a;
|
||
}
|
||
|
||
public static CharMatcher i() {
|
||
return JavaLetterOrDigit.a;
|
||
}
|
||
|
||
public static CharMatcher j() {
|
||
return JavaLowerCase.a;
|
||
}
|
||
|
||
public static CharMatcher k() {
|
||
return JavaUpperCase.a;
|
||
}
|
||
|
||
public static CharMatcher l() {
|
||
return None.b;
|
||
}
|
||
|
||
public static CharMatcher m() {
|
||
return SingleWidth.d;
|
||
}
|
||
|
||
public static CharMatcher n() {
|
||
return Whitespace.c;
|
||
}
|
||
|
||
public abstract boolean a(char c);
|
||
|
||
public static CharMatcher a(char c, char c2) {
|
||
return new InRange(c, c2);
|
||
}
|
||
|
||
public static CharMatcher b() {
|
||
return Ascii.b;
|
||
}
|
||
|
||
public static CharMatcher c(char c) {
|
||
return new Is(c);
|
||
}
|
||
|
||
/* JADX INFO: Access modifiers changed from: private */
|
||
public static String d(char c) {
|
||
char[] cArr = {'\\', 'u', 0, 0, 0, 0};
|
||
for (int i = 0; i < 4; i++) {
|
||
cArr[5 - i] = "0123456789ABCDEF".charAt(c & 15);
|
||
c = (char) (c >> 4);
|
||
}
|
||
return String.copyValueOf(cArr);
|
||
}
|
||
|
||
public int a(CharSequence charSequence, int i) {
|
||
int length = charSequence.length();
|
||
Preconditions.b(i, length);
|
||
while (i < length) {
|
||
if (a(charSequence.charAt(i))) {
|
||
return i;
|
||
}
|
||
i++;
|
||
}
|
||
return -1;
|
||
}
|
||
|
||
@Deprecated
|
||
public boolean a(Character ch) {
|
||
return a(ch.charValue());
|
||
}
|
||
}
|