/* GENERATED SOURCE. DO NOT MODIFY. */ // © 2024 and later: Unicode, Inc. and others. // License & terms of use: https://www.unicode.org/copyright.html package android.icu.message2; class StringUtils { /* * abnf: content-char = %x01-08 ; omit NULL (%x00), HTAB (%x09) and LF (%x0A) * abnf: / %x0B-0C ; omit CR (%x0D) * abnf: / %x0E-1F ; omit SP (%x20) * abnf: / %x21-2D ; omit . (%x2E) * abnf: / %x2F-3F ; omit @ (%x40) * abnf: / %x41-5B ; omit \ (%x5C) * abnf: / %x5D-7A ; omit { | } (%x7B-7D) * abnf: / %x7E-D7FF ; omit surrogates * abnf: / %xE000-10FFFF */ static boolean isContentChar(int cp) { return (cp >= 0x0001 && cp <= 0x0008) // omit HTAB (%x09) and LF (%x0A) || (cp >= 0x000B && cp <= 0x000C) // omit CR (%x0D) || (cp >= 0x000E && cp <= 0x001F) // omit SP (%x20) || (cp >= 0x0021 && cp <= 0x002D) // omit . (%x2E) || (cp >= 0x002F && cp <= 0x003F) // omit @ (%x40) || (cp >= 0x0041 && cp <= 0x005B) // omit \ (%x5C) || (cp >= 0x005D && cp <= 0x007A) // omit { | } (%x7B-7D) || (cp >= 0x007E && cp <= 0xD7FF) // omit surrogates || (cp >= 0xE000 && cp <= 0x10FFFF); } // abnf: text-char = content-char / s / "." / "@" / "|" static boolean isTextChar(int cp) { return isContentChar(cp) || isWhitespace(cp) || cp == '.' || cp == '@' || cp == '|'; } // abnf: backslash = %x5C ; U+005C REVERSE SOLIDUS "\" static boolean isBackslash(int cp) { return cp == '\\'; } /* * ; Whitespace * abnf: s = 1*( SP / HTAB / CR / LF / %x3000 ) */ static boolean isWhitespace(int cp) { return cp == ' ' || cp == '\t' || cp == '\r' || cp == '\n' || cp == '\u3000'; } /* * abnf: name-start = ALPHA / "_" * abnf: / %xC0-D6 / %xD8-F6 / %xF8-2FF * abnf: / %x370-37D / %x37F-1FFF / %x200C-200D * abnf: / %x2070-218F / %x2C00-2FEF / %x3001-D7FF * abnf: / %xF900-FDCF / %xFDF0-FFFC / %x10000-EFFFF */ static boolean isNameStart(int cp) { return isAlpha(cp) || cp == '_' || (cp >= 0x00C0 && cp <= 0x00D6) || (cp >= 0x00D8 && cp <= 0x00F6) || (cp >= 0x00F8 && cp <= 0x02FF) || (cp >= 0x0370 && cp <= 0x037D) || (cp >= 0x037F && cp <= 0x1FFF) || (cp >= 0x200C && cp <= 0x200D) || (cp >= 0x2070 && cp <= 0x218F) || (cp >= 0x2C00 && cp <= 0x2FEF) || (cp >= 0x3001 && cp <= 0xD7FF) || (cp >= 0xF900 && cp <= 0xFDCF) || (cp >= 0xFDF0 && cp <= 0xFFFC) || (cp >= 0x10000 && cp <= 0xEFFFF); } /* * abnf: name-char = name-start / DIGIT / "-" / "." * abnf: / %xB7 / %x300-36F / %x203F-2040 */ static boolean isNameChar(int cp) { return isNameStart(cp) || isDigit(cp) || cp == '-' || cp == '.' || cp == 0x00B7 || (cp >= 0x0300 && cp <= 0x036F) || (cp >= 0x203F && cp <= 0x2040); } // abnf: private-start = "^" / "&" static boolean isPrivateStart(int cp) { return cp == '^' || cp == '&'; } // abnf: quoted-char = content-char / s / "." / "@" / "{" / "}" static boolean isQuotedChar(int cp) { return isContentChar(cp) || isWhitespace(cp) || cp == '.' || cp == '@' || cp == '{' || cp == '}'; } // abnf: reserved-char = content-char / "." static boolean isReservedChar(int cp) { return isContentChar(cp) || cp == '.'; } static boolean isSimpleStartChar(int cp) { return StringUtils.isContentChar(cp) || StringUtils.isWhitespace(cp) || cp == '@' || cp == '|'; } // ALPHA is predefined in ABNF as plain ASCII, A-Z and a-z // See https://en.wikipedia.org/wiki/Augmented_Backus%E2%80%93Naur_form static boolean isAlpha(int cp) { return (cp >= 'a' && cp <= 'z') || (cp >= 'A' && cp <= 'Z'); } // DIGIT is predefined in ABNF as plain ASCII, 0-9 // See https://en.wikipedia.org/wiki/Augmented_Backus%E2%80%93Naur_form static boolean isDigit(int cp) { return cp >= '0' && cp <= '9'; } // abnf: function = ":" identifier *(s option) static boolean isFunctionSigil(int cp) { return cp == ':'; } // abnf: private-start = "^" / "&" static boolean isPrivateAnnotationSigil(int cp) { return cp == '^' || cp == '&'; } // abnf: reserved-annotation-start = "!" / "%" / "*" / "+" / "<" / ">" / "?" / "~" private static final String RESERVED_ANNOTATION_SIGILS = "!%*+<>?~"; static boolean isReservedAnnotationSigil(int cp) { return RESERVED_ANNOTATION_SIGILS.indexOf(cp) != -1; } }