Index: src/parsing/scanner.cc |
diff --git a/src/parsing/scanner.cc b/src/parsing/scanner.cc |
index 524740885b7450cd2c799398f2955fc4554a1a80..e41384c9bed4becac99ca663ebd5212e880fb5e4 100644 |
--- a/src/parsing/scanner.cc |
+++ b/src/parsing/scanner.cc |
@@ -100,135 +100,51 @@ STATIC_ASSERT(Token::NUM_TOKENS <= 0x100); |
// Table of one-character tokens, by character (0x00..0x7f only). |
static const byte one_char_tokens[] = { |
- Token::ILLEGAL, |
- Token::ILLEGAL, |
- Token::ILLEGAL, |
- Token::ILLEGAL, |
- Token::ILLEGAL, |
- Token::ILLEGAL, |
- Token::ILLEGAL, |
- Token::ILLEGAL, |
- Token::ILLEGAL, |
- Token::ILLEGAL, |
- Token::ILLEGAL, |
- Token::ILLEGAL, |
- Token::ILLEGAL, |
- Token::ILLEGAL, |
- Token::ILLEGAL, |
- Token::ILLEGAL, |
- Token::ILLEGAL, |
- Token::ILLEGAL, |
- Token::ILLEGAL, |
- Token::ILLEGAL, |
- Token::ILLEGAL, |
- Token::ILLEGAL, |
- Token::ILLEGAL, |
- Token::ILLEGAL, |
- Token::ILLEGAL, |
- Token::ILLEGAL, |
- Token::ILLEGAL, |
- Token::ILLEGAL, |
- Token::ILLEGAL, |
- Token::ILLEGAL, |
- Token::ILLEGAL, |
- Token::ILLEGAL, |
- Token::ILLEGAL, |
- Token::ILLEGAL, |
- Token::ILLEGAL, |
- Token::ILLEGAL, |
- Token::ILLEGAL, |
- Token::ILLEGAL, |
- Token::ILLEGAL, |
- Token::ILLEGAL, |
- Token::LPAREN, // 0x28 |
- Token::RPAREN, // 0x29 |
- Token::ILLEGAL, |
- Token::ILLEGAL, |
- Token::COMMA, // 0x2c |
- Token::ILLEGAL, |
- Token::ILLEGAL, |
- Token::ILLEGAL, |
- Token::ILLEGAL, |
- Token::ILLEGAL, |
- Token::ILLEGAL, |
- Token::ILLEGAL, |
- Token::ILLEGAL, |
- Token::ILLEGAL, |
- Token::ILLEGAL, |
- Token::ILLEGAL, |
- Token::ILLEGAL, |
- Token::ILLEGAL, |
- Token::COLON, // 0x3a |
- Token::SEMICOLON, // 0x3b |
- Token::ILLEGAL, |
- Token::ILLEGAL, |
- Token::ILLEGAL, |
- Token::CONDITIONAL, // 0x3f |
- Token::ILLEGAL, |
- Token::ILLEGAL, |
- Token::ILLEGAL, |
- Token::ILLEGAL, |
- Token::ILLEGAL, |
- Token::ILLEGAL, |
- Token::ILLEGAL, |
- Token::ILLEGAL, |
- Token::ILLEGAL, |
- Token::ILLEGAL, |
- Token::ILLEGAL, |
- Token::ILLEGAL, |
- Token::ILLEGAL, |
- Token::ILLEGAL, |
- Token::ILLEGAL, |
- Token::ILLEGAL, |
- Token::ILLEGAL, |
- Token::ILLEGAL, |
- Token::ILLEGAL, |
- Token::ILLEGAL, |
- Token::ILLEGAL, |
- Token::ILLEGAL, |
- Token::ILLEGAL, |
- Token::ILLEGAL, |
- Token::ILLEGAL, |
- Token::ILLEGAL, |
- Token::ILLEGAL, |
- Token::LBRACK, // 0x5b |
- Token::ILLEGAL, |
- Token::RBRACK, // 0x5d |
- Token::ILLEGAL, |
- Token::ILLEGAL, |
- Token::ILLEGAL, |
- Token::ILLEGAL, |
- Token::ILLEGAL, |
- Token::ILLEGAL, |
- Token::ILLEGAL, |
- Token::ILLEGAL, |
- Token::ILLEGAL, |
- Token::ILLEGAL, |
- Token::ILLEGAL, |
- Token::ILLEGAL, |
- Token::ILLEGAL, |
- Token::ILLEGAL, |
- Token::ILLEGAL, |
- Token::ILLEGAL, |
- Token::ILLEGAL, |
- Token::ILLEGAL, |
- Token::ILLEGAL, |
- Token::ILLEGAL, |
- Token::ILLEGAL, |
- Token::ILLEGAL, |
- Token::ILLEGAL, |
- Token::ILLEGAL, |
- Token::ILLEGAL, |
- Token::ILLEGAL, |
- Token::ILLEGAL, |
- Token::ILLEGAL, |
- Token::ILLEGAL, |
- Token::LBRACE, // 0x7b |
- Token::ILLEGAL, |
- Token::RBRACE, // 0x7d |
- Token::BIT_NOT, // 0x7e |
- Token::ILLEGAL |
-}; |
+ Token::ILLEGAL, Token::ILLEGAL, Token::ILLEGAL, Token::ILLEGAL, |
+ Token::ILLEGAL, Token::ILLEGAL, Token::ILLEGAL, Token::ILLEGAL, |
+ Token::ILLEGAL, Token::ILLEGAL, Token::ILLEGAL, Token::ILLEGAL, |
+ Token::ILLEGAL, Token::ILLEGAL, Token::ILLEGAL, Token::ILLEGAL, |
+ Token::ILLEGAL, Token::ILLEGAL, Token::ILLEGAL, Token::ILLEGAL, |
+ Token::ILLEGAL, Token::ILLEGAL, Token::ILLEGAL, Token::ILLEGAL, |
+ Token::ILLEGAL, Token::ILLEGAL, Token::ILLEGAL, Token::ILLEGAL, |
+ Token::ILLEGAL, Token::ILLEGAL, Token::ILLEGAL, Token::ILLEGAL, |
+ Token::ILLEGAL, Token::ILLEGAL, Token::ILLEGAL, Token::ILLEGAL, |
+ Token::ILLEGAL, Token::ILLEGAL, Token::ILLEGAL, Token::ILLEGAL, |
+ Token::LPAREN, // 0x28 |
+ Token::RPAREN, // 0x29 |
+ Token::ILLEGAL, Token::ILLEGAL, |
+ Token::COMMA, // 0x2c |
+ Token::ILLEGAL, Token::ILLEGAL, Token::ILLEGAL, Token::ILLEGAL, |
+ Token::ILLEGAL, Token::ILLEGAL, Token::ILLEGAL, Token::ILLEGAL, |
+ Token::ILLEGAL, Token::ILLEGAL, Token::ILLEGAL, Token::ILLEGAL, |
+ Token::ILLEGAL, |
+ Token::COLON, // 0x3a |
+ Token::SEMICOLON, // 0x3b |
+ Token::ILLEGAL, Token::ILLEGAL, Token::ILLEGAL, |
+ Token::CONDITIONAL, // 0x3f |
+ Token::ILLEGAL, Token::ILLEGAL, Token::ILLEGAL, Token::ILLEGAL, |
+ Token::ILLEGAL, Token::ILLEGAL, Token::ILLEGAL, Token::ILLEGAL, |
+ Token::ILLEGAL, Token::ILLEGAL, Token::ILLEGAL, Token::ILLEGAL, |
+ Token::ILLEGAL, Token::ILLEGAL, Token::ILLEGAL, Token::ILLEGAL, |
+ Token::ILLEGAL, Token::ILLEGAL, Token::ILLEGAL, Token::ILLEGAL, |
+ Token::ILLEGAL, Token::ILLEGAL, Token::ILLEGAL, Token::ILLEGAL, |
+ Token::ILLEGAL, Token::ILLEGAL, Token::ILLEGAL, |
+ Token::LBRACK, // 0x5b |
+ Token::ILLEGAL, |
+ Token::RBRACK, // 0x5d |
+ Token::ILLEGAL, Token::ILLEGAL, Token::ILLEGAL, Token::ILLEGAL, |
+ Token::ILLEGAL, Token::ILLEGAL, Token::ILLEGAL, Token::ILLEGAL, |
+ Token::ILLEGAL, Token::ILLEGAL, Token::ILLEGAL, Token::ILLEGAL, |
+ Token::ILLEGAL, Token::ILLEGAL, Token::ILLEGAL, Token::ILLEGAL, |
+ Token::ILLEGAL, Token::ILLEGAL, Token::ILLEGAL, Token::ILLEGAL, |
+ Token::ILLEGAL, Token::ILLEGAL, Token::ILLEGAL, Token::ILLEGAL, |
+ Token::ILLEGAL, Token::ILLEGAL, Token::ILLEGAL, Token::ILLEGAL, |
+ Token::ILLEGAL, |
+ Token::LBRACE, // 0x7b |
+ Token::ILLEGAL, |
+ Token::RBRACE, // 0x7d |
+ Token::BIT_NOT, // 0x7e |
+ Token::ILLEGAL}; |
Token::Value Scanner::Next() { |
@@ -376,8 +292,7 @@ void Scanner::TryToParseSourceURLComment() { |
} else { |
return; |
} |
- if (c0_ != '=') |
- return; |
+ if (c0_ != '=') return; |
Advance(); |
value->Reset(); |
while (c0_ >= 0 && unicode_cache_->IsWhiteSpace(c0_)) { |
@@ -468,7 +383,8 @@ void Scanner::Scan() { |
token = Token::WHITESPACE; |
break; |
- case '"': case '\'': |
+ case '"': |
+ case '\'': |
token = ScanString(); |
break; |
@@ -747,14 +663,25 @@ bool Scanner::ScanEscape() { |
switch (c) { |
case '\'': // fall through |
- case '"' : // fall through |
- case '\\': break; |
- case 'b' : c = '\b'; break; |
- case 'f' : c = '\f'; break; |
- case 'n' : c = '\n'; break; |
- case 'r' : c = '\r'; break; |
- case 't' : c = '\t'; break; |
- case 'u' : { |
+ case '"': // fall through |
+ case '\\': |
+ break; |
+ case 'b': |
+ c = '\b'; |
+ break; |
+ case 'f': |
+ c = '\f'; |
+ break; |
+ case 'n': |
+ c = '\n'; |
+ break; |
+ case 'r': |
+ c = '\r'; |
+ break; |
+ case 't': |
+ c = '\t'; |
+ break; |
+ case 'u': { |
c = ScanUnicodeEscape<capture_raw>(); |
if (c < 0) return false; |
break; |
@@ -838,8 +765,7 @@ Token::Value Scanner::ScanString() { |
AddLiteralChar(c); |
} |
- while (c0_ != quote && c0_ >= 0 |
- && !unicode_cache_->IsLineTerminator(c0_)) { |
+ while (c0_ != quote && c0_ >= 0 && !unicode_cache_->IsLineTerminator(c0_)) { |
uc32 c = c0_; |
Advance(); |
if (c == '\\') { |
@@ -947,8 +873,7 @@ Token::Value Scanner::ScanTemplateContinuation() { |
void Scanner::ScanDecimalDigits() { |
- while (IsDecimalDigit(c0_)) |
- AddLiteralCharAdvance(); |
+ while (IsDecimalDigit(c0_)) AddLiteralCharAdvance(); |
} |
@@ -1012,7 +937,7 @@ Token::Value Scanner::ScanNumber(bool seen_period) { |
kind = DECIMAL; |
break; |
} |
- if (c0_ < '0' || '7' < c0_) { |
+ if (c0_ < '0' || '7' < c0_) { |
// Octal literal finished. |
octal_pos_ = Location(start_pos, source_pos()); |
break; |
@@ -1059,8 +984,7 @@ Token::Value Scanner::ScanNumber(bool seen_period) { |
if (kind != DECIMAL) return Token::ILLEGAL; |
// scan exponent |
AddLiteralCharAdvance(); |
- if (c0_ == '+' || c0_ == '-') |
- AddLiteralCharAdvance(); |
+ if (c0_ == '+' || c0_ == '-') AddLiteralCharAdvance(); |
if (!IsDecimalDigit(c0_)) { |
// we must have at least one decimal digit after 'e'/'E' |
return Token::ILLEGAL; |
@@ -1186,9 +1110,9 @@ static Token::Value KeywordOrIdentifierToken(const uint8_t* input, |
} |
switch (input[0]) { |
default: |
-#define KEYWORD_GROUP_CASE(ch) \ |
- break; \ |
- case ch: |
+#define KEYWORD_GROUP_CASE(ch) \ |
+ break; \ |
+ case ch: |
#define KEYWORD(keyword, token) \ |
{ \ |
/* 'keyword' is a char array, so sizeof(keyword) is */ \ |
@@ -1213,7 +1137,7 @@ static Token::Value KeywordOrIdentifierToken(const uint8_t* input, |
return token; \ |
} \ |
} |
- KEYWORDS(KEYWORD_GROUP_CASE, KEYWORD) |
+ KEYWORDS(KEYWORD_GROUP_CASE, KEYWORD) |
} |
return Token::IDENTIFIER; |
} |
@@ -1282,8 +1206,7 @@ Token::Value Scanner::ScanIdentifierOrKeyword() { |
// Scan identifier start character. |
uc32 c = ScanIdentifierUnicodeEscape(); |
// Only allow legal identifier start characters. |
- if (c < 0 || |
- c == '\\' || // No recursive escapes. |
+ if (c < 0 || c == '\\' || // No recursive escapes. |
!unicode_cache_->IsIdentifierStart(c)) { |
return Token::ILLEGAL; |
} |
@@ -1325,9 +1248,7 @@ Token::Value Scanner::ScanIdentifierSuffix(LiteralScope* literal, |
uc32 c = ScanIdentifierUnicodeEscape(); |
escaped = true; |
// Only allow legal identifier part characters. |
- if (c < 0 || |
- c == '\\' || |
- !unicode_cache_->IsIdentifierPart(c)) { |
+ if (c < 0 || c == '\\' || !unicode_cache_->IsIdentifierPart(c)) { |
return Token::ILLEGAL; |
} |
AddLiteralChar(c); |
@@ -1459,8 +1380,7 @@ const AstRawString* Scanner::CurrentRawSymbol( |
double Scanner::DoubleValue() { |
DCHECK(is_literal_one_byte()); |
return StringToDouble( |
- unicode_cache_, |
- literal_one_byte_string(), |
+ unicode_cache_, literal_one_byte_string(), |
ALLOW_HEX | ALLOW_OCTAL | ALLOW_IMPLICIT_OCTAL | ALLOW_BINARY); |
} |
@@ -1540,15 +1460,14 @@ int DuplicateFinder::AddTwoByteSymbol(Vector<const uint16_t> key, int value) { |
} |
-int DuplicateFinder::AddSymbol(Vector<const uint8_t> key, |
- bool is_one_byte, |
+int DuplicateFinder::AddSymbol(Vector<const uint8_t> key, bool is_one_byte, |
int value) { |
uint32_t hash = Hash(key, is_one_byte); |
byte* encoding = BackupKey(key, is_one_byte); |
HashMap::Entry* entry = map_.LookupOrInsert(encoding, hash); |
int old_value = static_cast<int>(reinterpret_cast<intptr_t>(entry->value)); |
entry->value = |
- reinterpret_cast<void*>(static_cast<intptr_t>(value | old_value)); |
+ reinterpret_cast<void*>(static_cast<intptr_t>(value | old_value)); |
return old_value; |
} |
@@ -1561,8 +1480,7 @@ int DuplicateFinder::AddNumber(Vector<const uint8_t> key, int value) { |
} |
int flags = ALLOW_HEX | ALLOW_OCTAL | ALLOW_IMPLICIT_OCTAL | ALLOW_BINARY; |
- double double_value = StringToDouble( |
- unicode_constants_, key, flags, 0.0); |
+ double double_value = StringToDouble(unicode_constants_, key, flags, 0.0); |
int length; |
const char* string; |
if (!std::isfinite(double_value)) { |
@@ -1573,8 +1491,9 @@ int DuplicateFinder::AddNumber(Vector<const uint8_t> key, int value) { |
Vector<char>(number_buffer_, kBufferSize)); |
length = StrLength(string); |
} |
- return AddSymbol(Vector<const byte>(reinterpret_cast<const byte*>(string), |
- length), true, value); |
+ return AddSymbol( |
+ Vector<const byte>(reinterpret_cast<const byte*>(string), length), true, |
+ value); |
} |
@@ -1590,7 +1509,8 @@ bool DuplicateFinder::IsNumberCanonical(Vector<const uint8_t> number) { |
pos++; |
} else { |
while (pos < length && |
- static_cast<unsigned>(number[pos] - '0') <= ('9' - '0')) pos++; |
+ static_cast<unsigned>(number[pos] - '0') <= ('9' - '0')) |
+ pos++; |
} |
if (length == pos) return true; |
if (number[pos] != '.') return false; |
@@ -1658,8 +1578,7 @@ byte* DuplicateFinder::BackupKey(Vector<const uint8_t> bytes, |
backing_store_.Add( |
static_cast<uint8_t>((one_byte_length >> 21) | 0x80u)); |
} |
- backing_store_.Add( |
- static_cast<uint8_t>((one_byte_length >> 14) | 0x80u)); |
+ backing_store_.Add(static_cast<uint8_t>((one_byte_length >> 14) | 0x80u)); |
} |
backing_store_.Add(static_cast<uint8_t>((one_byte_length >> 7) | 0x80u)); |
} |