Lines Matching refs:current

92 bool SubStringEquals(Iterator* current,
95 ASSERT(**current == *substring);
97 ++*current;
98 if (*current == end || **current != *substring) return false;
100 ++*current;
109 Iterator* current,
111 while (*current != end) {
112 if (!unicode_cache->IsWhiteSpaceOrLineTerminator(**current)) return true;
113 ++*current;
119 // Parsing integers with radix 2, 4, 8, 16, 32. Assumes current != end.
122 Iterator current,
126 ASSERT(current != end);
129 while (*current == '0') {
130 ++current;
131 if (current == end) return SignedZero(negative);
140 if (*current >= '0' && *current <= '9' && *current < '0' + radix) {
141 digit = static_cast<char>(*current) - '0';
142 } else if (radix > 10 && *current >= 'a' && *current < 'a' + radix - 10) {
143 digit = static_cast<char>(*current) - 'a' + 10;
144 } else if (radix > 10 && *current >= 'A' && *current < 'A' + radix - 10) {
145 digit = static_cast<char>(*current) - 'A' + 10;
148 !AdvanceToNonspace(unicode_cache, &current, end)) {
173 ++current;
174 if (current == end || !isDigit(*current, radix)) break;
175 zero_tail = zero_tail && *current == '0';
180 AdvanceToNonspace(unicode_cache, &current, end)) {
202 ++current;
203 } while (current != end);
223 Iterator current,
229 if (!AdvanceToNonspace(unicode_cache, &current, end)) {
236 if (*current == '+') {
238 ++current;
239 if (current == end) {
242 } else if (*current == '-') {
243 ++current;
244 if (current == end) {
253 if (*current == '0') {
254 ++current;
255 if (current == end) return SignedZero(negative);
256 if (*current == 'x' || *current == 'X') {
258 ++current;
259 if (current == end) return JunkStringValue();
265 if (*current == '0') {
267 ++current;
268 if (current == end) return SignedZero(negative);
269 if (*current == 'x' || *current == 'X') {
270 ++current;
271 if (current == end) return JunkStringValue();
281 while (*current == '0') {
283 ++current;
284 if (current == end) return SignedZero(negative);
287 if (!leading_zero && !isDigit(*current, radix)) {
295 unicode_cache, current, end, negative, allow_trailing_junk);
298 unicode_cache, current, end, negative, allow_trailing_junk);
301 unicode_cache, current, end, negative, allow_trailing_junk);
305 unicode_cache, current, end, negative, allow_trailing_junk);
309 unicode_cache, current, end, negative, allow_trailing_junk);
323 while (*current >= '0' && *current <= '9') {
328 buffer[buffer_pos++] = static_cast<char>(*current);
330 ++current;
331 if (current == end) break;
335 AdvanceToNonspace(unicode_cache, &current, end)) {
367 if (*current >= '0' && *current < lim_0) {
368 d = *current - '0';
369 } else if (*current >= 'a' && *current < lim_a) {
370 d = *current - 'a' + 10;
371 } else if (*current >= 'A' && *current < lim_A) {
372 d = *current - 'A' + 10;
389 ++current;
390 if (current == end) {
401 AdvanceToNonspace(unicode_cache, &current, end)) {
411 // 1. current == end (other ops are not allowed), current != end.
412 // 2. *current - gets the current character in the sequence.
413 // 3. ++current (advances the position).
416 Iterator current,
422 // 1. Each '++current' statement is followed by check for equality to 'end'.
423 // 2. If AdvanceToNonspace returned false then current == end.
424 // 3. If 'current' becomes be equal to 'end' the function returns or goes to
426 // 4. 'current' is not dereferenced after the 'parsing_done' label.
427 // 5. Code before 'parsing_done' may rely on 'current != end'.
428 if (!AdvanceToNonspace(unicode_cache, &current, end)) {
454 if (*current == '+') {
456 ++current;
457 if (current == end) return JunkStringValue();
459 } else if (*current == '-') {
460 ++current;
461 if (current == end) return JunkStringValue();
466 if (*current == kInfinityString[0]) {
467 if (!SubStringEquals(&current, end, kInfinityString)) {
472 AdvanceToNonspace(unicode_cache, &current, end)) {
481 if (*current == '0') {
482 ++current;
483 if (current == end) return SignedZero(sign == NEGATIVE);
488 if ((flags & ALLOW_HEX) && (*current == 'x' || *current == 'X')) {
489 ++current;
490 if (current == end || !isDigit(*current, 16) || sign != NONE) {
495 current,
501 } else if ((flags & ALLOW_OCTAL) && (*current == 'o' || *current == 'O')) {
502 ++current;
503 if (current == end || !isDigit(*current, 8) || sign != NONE) {
508 current,
514 } else if ((flags & ALLOW_BINARY) && (*current == 'b' || *current == 'B')) {
515 ++current;
516 if (current == end || !isBinaryDigit(*current) || sign != NONE) {
521 current,
528 while (*current == '0') {
529 ++current;
530 if (current == end) return SignedZero(sign == NEGATIVE);
537 while (*current >= '0' && *current <= '9') {
540 buffer[buffer_pos++] = static_cast<char>(*current);
545 nonzero_digit_dropped = nonzero_digit_dropped || *current != '0';
547 octal = octal && *current < '8';
548 ++current;
549 if (current == end) goto parsing_done;
556 if (*current == '.') {
560 ++current;
561 if (current == end) {
573 while (*current == '0') {
574 ++current;
575 if (current == end) return SignedZero(sign == NEGATIVE);
582 while (*current >= '0' && *current <= '9') {
585 buffer[buffer_pos++] = static_cast<char>(*current);
590 nonzero_digit_dropped = nonzero_digit_dropped || *current != '0';
592 ++current;
593 if (current == end) goto parsing_done;
606 if (*current == 'e' || *current == 'E') {
608 ++current;
609 if (current == end) {
617 if (*current == '+' || *current == '-') {
618 sign = static_cast<char>(*current);
619 ++current;
620 if (current == end) {
629 if (current == end || *current < '0' || *current > '9') {
642 int digit = *current - '0';
649 ++current;
650 } while (current != end && *current >= '0' && *current <= '9');
656 AdvanceToNonspace(unicode_cache, &current, end)) {