4694 {
4696 int range_count = ranges->length();
4697 for (intptr_t i = 0; i < range_count; i++) {
4699 int32_t bottom = range.from();
4702
4705 continue;
4706 }
4711 }
4712 }
4713
4717 if (top == bottom) {
4718
4719 intptr_t
length = jsregexp_uncanonicalize.
get(bottom,
'\0', chars);
4720 for (intptr_t i = 0; i <
length; i++) {
4721 int32_t chr = chars[i];
4722 if (chr != bottom) {
4724 }
4725 }
4726 } else {
4727
4728
4729
4730
4731
4732
4733
4734
4735
4736
4737
4738
4739
4740
4741
4742
4743
4744
4746 intptr_t
pos = bottom;
4747 while (
pos <= top) {
4748 intptr_t
length = jsregexp_canonrange.
get(
pos,
'\0', range);
4749 int32_t block_end;
4752 } else {
4754 block_end = range[0];
4755 }
4756 intptr_t
end = (block_end > top) ? top : block_end;
4757 length = jsregexp_uncanonicalize.
get(block_end,
'\0', range);
4758 for (intptr_t i = 0; i <
length; i++) {
4759 int32_t c = range[i];
4760 int32_t range_from = c - (block_end -
pos);
4761 int32_t range_to = c - (block_end -
end);
4762 if (!(bottom <= range_from && range_to <= top)) {
4764 }
4765 }
4767 }
4768 }
4769 }
4770}
static CharacterRange Singleton(int32_t value)
static void Canonicalize(ZoneGrowableArray< CharacterRange > *ranges)
static constexpr int32_t kLeadSurrogateStart
static constexpr int32_t kMaxCodeUnit
static constexpr int32_t kTrailSurrogateEnd
static T Minimum(T x, T y)
intptr_t get(int32_t c, int32_t n, int32_t *result)
static bool RangeContainsLatin1Equivalents(CharacterRange range)
static constexpr intptr_t kMaxWidth