Revision: 3247
Author: [email protected]
Date: Mon Nov  9 04:18:25 2009
Log: Fix lint issue.

Review URL: http://codereview.chromium.org/379005

http://code.google.com/p/v8/source/detail?r=3247

Modified:
  /branches/bleeding_edge/src/scanner.cc

=======================================
--- /branches/bleeding_edge/src/scanner.cc      Mon Nov  9 03:52:18 2009
+++ /branches/bleeding_edge/src/scanner.cc      Mon Nov  9 04:18:25 2009
@@ -42,27 +42,29 @@
  unibrow::Predicate<unibrow::LineTerminator, 128>  
Scanner::kIsLineTerminator;
  unibrow::Predicate<unibrow::WhiteSpace, 128> Scanner::kIsWhiteSpace;

+
  StaticResource<Scanner::Utf8Decoder> Scanner::utf8_decoder_;

+
  //  
----------------------------------------------------------------------------
  // UTF8Buffer

-UTF8Buffer::UTF8Buffer() :
-  data_(NULL), limit_(NULL) {
-}
+UTF8Buffer::UTF8Buffer() : data_(NULL), limit_(NULL) { }
+

  UTF8Buffer::~UTF8Buffer() {
    DeleteArray(data_);
  }
+

  void UTF8Buffer::AddCharSlow(uc32 c) {
    static const int kCapacityGrowthLimit = 1 * MB;
    if (cursor_ > limit_) {
      int old_capacity = Capacity();
      int old_position = pos();
-    int new_capacity = Min(old_capacity * 3, old_capacity
-        + kCapacityGrowthLimit);
-    char* new_data = NewArray<char> (new_capacity);
+    int new_capacity =
+        Min(old_capacity * 3, old_capacity + kCapacityGrowthLimit);
+    char* new_data = NewArray<char>(new_capacity);
      memcpy(new_data, data_, old_position);
      DeleteArray(data_);
      data_ = new_data;
@@ -70,30 +72,32 @@
      limit_ = ComputeLimit(new_data, new_capacity);
      ASSERT(Capacity() == new_capacity && pos() == old_position);
    }
-  if (static_cast<unsigned> (c) <= unibrow::Utf8::kMaxOneByteChar) {
-    *cursor_++ = c; // Common case: 7-bit ASCII.
+  if (static_cast<unsigned>(c) <= unibrow::Utf8::kMaxOneByteChar) {
+    *cursor_++ = c;  // Common case: 7-bit ASCII.
    } else {
      cursor_ += unibrow::Utf8::Encode(cursor_, c);
    }
    ASSERT(pos() <= Capacity());
  }
+

  //  
----------------------------------------------------------------------------
  // UTF16Buffer


-UTF16Buffer::UTF16Buffer() :
-  pos_(0), size_(0) {
-}
+UTF16Buffer::UTF16Buffer()
+    : pos_(0), size_(0) { }
+

  Handle<String> UTF16Buffer::SubString(int start, int end) {
    return internal::SubString(data_, start, end);
  }
+

  // CharacterStreamUTF16Buffer
-CharacterStreamUTF16Buffer::CharacterStreamUTF16Buffer() :
-  pushback_buffer_(0), last_(0), stream_(NULL) {
-}
+CharacterStreamUTF16Buffer::CharacterStreamUTF16Buffer()
+    : pushback_buffer_(0), last_(0), stream_(NULL) { }
+

  void CharacterStreamUTF16Buffer::Initialize(Handle<String> data,
                                              unibrow::CharacterStream*  
input) {
@@ -101,12 +105,14 @@
    pos_ = 0;
    stream_ = input;
  }
+

  void CharacterStreamUTF16Buffer::PushBack(uc32 ch) {
    pushback_buffer()->Add(last_);
    last_ = ch;
    pos_--;
  }
+

  uc32 CharacterStreamUTF16Buffer::Advance() {
    // NOTE: It is of importance to Persian / Farsi resources that we do
@@ -128,22 +134,25 @@
      // Note: currently the following increment is necessary to avoid a
      // test-parser problem!
      pos_++;
-    return last_ = static_cast<uc32> (-1);
+    return last_ = static_cast<uc32>(-1);
    }
  }
+

  void CharacterStreamUTF16Buffer::SeekForward(int pos) {
    pos_ = pos;
    ASSERT(pushback_buffer()->is_empty());
    stream_->Seek(pos);
  }
+

  // TwoByteStringUTF16Buffer
-TwoByteStringUTF16Buffer::TwoByteStringUTF16Buffer() :
-  raw_data_(NULL) {
-}
-
-void TwoByteStringUTF16Buffer::Initialize(Handle<ExternalTwoByteString>  
data) {
+TwoByteStringUTF16Buffer::TwoByteStringUTF16Buffer()
+    : raw_data_(NULL) { }
+
+
+void TwoByteStringUTF16Buffer::Initialize(
+     Handle<ExternalTwoByteString> data) {
    ASSERT(!data.is_null());

    data_ = data;
@@ -152,6 +161,7 @@
    raw_data_ = data->resource()->data();
    size_ = data->length();
  }
+

  uc32 TwoByteStringUTF16Buffer::Advance() {
    if (pos_ < size_) {
@@ -160,35 +170,50 @@
      // note: currently the following increment is necessary to avoid a
      // test-parser problem!
      pos_++;
-    return static_cast<uc32> (-1);
+    return static_cast<uc32>(-1);
    }
  }
+

  void TwoByteStringUTF16Buffer::PushBack(uc32 ch) {
    pos_--;
    ASSERT(pos_ >= Scanner::kCharacterLookaheadBufferSize);
    ASSERT(raw_data_[pos_ - Scanner::kCharacterLookaheadBufferSize] == ch);
  }
+

  void TwoByteStringUTF16Buffer::SeekForward(int pos) {
    pos_ = pos;
  }
+

  //  
----------------------------------------------------------------------------
  // Keyword Matcher
-KeywordMatcher::FirstState KeywordMatcher::first_states_[] = { { "break",
-    KEYWORD_PREFIX, Token::BREAK }, { NULL, C, Token::ILLEGAL }, { NULL, D,
-    Token::ILLEGAL }, { "else", KEYWORD_PREFIX, Token::ELSE }, { NULL, F,
-    Token::ILLEGAL }, { NULL, UNMATCHABLE, Token::ILLEGAL }, { NULL,
-    UNMATCHABLE, Token::ILLEGAL }, { NULL, I, Token::ILLEGAL }, { NULL,
-    UNMATCHABLE, Token::ILLEGAL }, { NULL, UNMATCHABLE, Token::ILLEGAL }, {
-    NULL, UNMATCHABLE, Token::ILLEGAL }, { NULL, UNMATCHABLE,  
Token::ILLEGAL },
-    { NULL, N, Token::ILLEGAL }, { NULL, UNMATCHABLE, Token::ILLEGAL }, {  
NULL,
-        UNMATCHABLE, Token::ILLEGAL }, { NULL, UNMATCHABLE, Token::ILLEGAL  
}, {
-        "return", KEYWORD_PREFIX, Token::RETURN }, { "switch",  
KEYWORD_PREFIX,
-        Token::SWITCH }, { NULL, T, Token::ILLEGAL }, { NULL, UNMATCHABLE,
-        Token::ILLEGAL }, { NULL, V, Token::ILLEGAL }, { NULL, W,
-        Token::ILLEGAL } };
+KeywordMatcher::FirstState KeywordMatcher::first_states_[] = {
+  { "break",  KEYWORD_PREFIX, Token::BREAK },
+  { NULL,     C,              Token::ILLEGAL },
+  { NULL,     D,              Token::ILLEGAL },
+  { "else",   KEYWORD_PREFIX, Token::ELSE },
+  { NULL,     F,              Token::ILLEGAL },
+  { NULL,     UNMATCHABLE,    Token::ILLEGAL },
+  { NULL,     UNMATCHABLE,    Token::ILLEGAL },
+  { NULL,     I,              Token::ILLEGAL },
+  { NULL,     UNMATCHABLE,    Token::ILLEGAL },
+  { NULL,     UNMATCHABLE,    Token::ILLEGAL },
+  { NULL,     UNMATCHABLE,    Token::ILLEGAL },
+  { NULL,     UNMATCHABLE,    Token::ILLEGAL },
+  { NULL,     N,              Token::ILLEGAL },
+  { NULL,     UNMATCHABLE,    Token::ILLEGAL },
+  { NULL,     UNMATCHABLE,    Token::ILLEGAL },
+  { NULL,     UNMATCHABLE,    Token::ILLEGAL },
+  { "return", KEYWORD_PREFIX, Token::RETURN },
+  { "switch", KEYWORD_PREFIX, Token::SWITCH },
+  { NULL,     T,              Token::ILLEGAL },
+  { NULL,     UNMATCHABLE,    Token::ILLEGAL },
+  { NULL,     V,              Token::ILLEGAL },
+  { NULL,     W,              Token::ILLEGAL }
+};
+

  void KeywordMatcher::Step(uc32 input) {
    switch (state_) {
@@ -222,56 +247,38 @@
        token_ = Token::IDENTIFIER;
        break;
      case C:
-      if (MatchState(input, 'a', CA))
-        return;
-      if (MatchState(input, 'o', CO))
-        return;
+      if (MatchState(input, 'a', CA)) return;
+      if (MatchState(input, 'o', CO)) return;
        break;
      case CA:
-      if (MatchKeywordStart(input, "case", 2, Token::CASE))
-        return;
-      if (MatchKeywordStart(input, "catch", 2, Token::CATCH))
-        return;
+      if (MatchKeywordStart(input, "case", 2, Token::CASE)) return;
+      if (MatchKeywordStart(input, "catch", 2, Token::CATCH)) return;
        break;
      case CO:
-      if (MatchState(input, 'n', CON))
-        return;
+      if (MatchState(input, 'n', CON)) return;
        break;
      case CON:
-      if (MatchKeywordStart(input, "const", 3, Token::CONST))
-        return;
-      if (MatchKeywordStart(input, "continue", 3, Token::CONTINUE))
-        return;
+      if (MatchKeywordStart(input, "const", 3, Token::CONST)) return;
+      if (MatchKeywordStart(input, "continue", 3, Token::CONTINUE)) return;
        break;
      case D:
-      if (MatchState(input, 'e', DE))
-        return;
-      if (MatchKeyword(input, 'o', KEYWORD_MATCHED, Token::DO))
-        return;
+      if (MatchState(input, 'e', DE)) return;
+      if (MatchKeyword(input, 'o', KEYWORD_MATCHED, Token::DO)) return;
        break;
      case DE:
-      if (MatchKeywordStart(input, "debugger", 2, Token::DEBUGGER))
-        return;
-      if (MatchKeywordStart(input, "default", 2, Token::DEFAULT))
-        return;
-      if (MatchKeywordStart(input, "delete", 2, Token::DELETE))
-        return;
+      if (MatchKeywordStart(input, "debugger", 2, Token::DEBUGGER)) return;
+      if (MatchKeywordStart(input, "default", 2, Token::DEFAULT)) return;
+      if (MatchKeywordStart(input, "delete", 2, Token::DELETE)) return;
        break;
      case F:
-      if (MatchKeywordStart(input, "false", 1, Token::FALSE_LITERAL))
-        return;
-      if (MatchKeywordStart(input, "finally", 1, Token::FINALLY))
-        return;
-      if (MatchKeywordStart(input, "for", 1, Token::FOR))
-        return;
-      if (MatchKeywordStart(input, "function", 1, Token::FUNCTION))
-        return;
+      if (MatchKeywordStart(input, "false", 1, Token::FALSE_LITERAL))  
return;
+      if (MatchKeywordStart(input, "finally", 1, Token::FINALLY)) return;
+      if (MatchKeywordStart(input, "for", 1, Token::FOR)) return;
+      if (MatchKeywordStart(input, "function", 1, Token::FUNCTION)) return;
        break;
      case I:
-      if (MatchKeyword(input, 'f', KEYWORD_MATCHED, Token::IF))
-        return;
-      if (MatchKeyword(input, 'n', IN, Token::IN))
-        return;
+      if (MatchKeyword(input, 'f', KEYWORD_MATCHED, Token::IF)) return;
+      if (MatchKeyword(input, 'n', IN, Token::IN)) return;
        break;
      case IN:
        token_ = Token::IDENTIFIER;
@@ -280,44 +287,30 @@
        }
        break;
      case N:
-      if (MatchKeywordStart(input, "native", 1, Token::NATIVE))
-        return;
-      if (MatchKeywordStart(input, "new", 1, Token::NEW))
-        return;
-      if (MatchKeywordStart(input, "null", 1, Token::NULL_LITERAL))
-        return;
+      if (MatchKeywordStart(input, "native", 1, Token::NATIVE)) return;
+      if (MatchKeywordStart(input, "new", 1, Token::NEW)) return;
+      if (MatchKeywordStart(input, "null", 1, Token::NULL_LITERAL)) return;
        break;
      case T:
-      if (MatchState(input, 'h', TH))
-        return;
-      if (MatchState(input, 'r', TR))
-        return;
-      if (MatchKeywordStart(input, "typeof", 1, Token::TYPEOF))
-        return;
+      if (MatchState(input, 'h', TH)) return;
+      if (MatchState(input, 'r', TR)) return;
+      if (MatchKeywordStart(input, "typeof", 1, Token::TYPEOF)) return;
        break;
      case TH:
-      if (MatchKeywordStart(input, "this", 2, Token::THIS))
-        return;
-      if (MatchKeywordStart(input, "throw", 2, Token::THROW))
-        return;
+      if (MatchKeywordStart(input, "this", 2, Token::THIS)) return;
+      if (MatchKeywordStart(input, "throw", 2, Token::THROW)) return;
        break;
      case TR:
-      if (MatchKeywordStart(input, "true", 2, Token::TRUE_LITERAL))
-        return;
-      if (MatchKeyword(input, 'y', KEYWORD_MATCHED, Token::TRY))
-        return;
+      if (MatchKeywordStart(input, "true", 2, Token::TRUE_LITERAL)) return;
+      if (MatchKeyword(input, 'y', KEYWORD_MATCHED, Token::TRY)) return;
        break;
      case V:
-      if (MatchKeywordStart(input, "var", 1, Token::VAR))
-        return;
-      if (MatchKeywordStart(input, "void", 1, Token::VOID))
-        return;
+      if (MatchKeywordStart(input, "var", 1, Token::VAR)) return;
+      if (MatchKeywordStart(input, "void", 1, Token::VOID)) return;
        break;
      case W:
-      if (MatchKeywordStart(input, "while", 1, Token::WHILE))
-        return;
-      if (MatchKeywordStart(input, "with", 1, Token::WITH))
-        return;
+      if (MatchKeywordStart(input, "while", 1, Token::WHILE)) return;
+      if (MatchKeywordStart(input, "with", 1, Token::WITH)) return;
        break;
      default:
        UNREACHABLE();
@@ -325,21 +318,20 @@
    // On fallthrough, it's a failure.
    state_ = UNMATCHABLE;
  }
+

  //  
----------------------------------------------------------------------------
  // Scanner

-Scanner::Scanner(bool pre) :
-  stack_overflow_(false), is_pre_parsing_(pre) {
-}
+Scanner::Scanner(bool pre) : stack_overflow_(false), is_pre_parsing_(pre)  
{ }
+

  void Scanner::Init(Handle<String> source, unibrow::CharacterStream* stream,
-                   int position) {
+    int position) {
    // Initialize the source buffer.
    if (!source.is_null() && StringShape(*source).IsExternalTwoByte()) {
      two_byte_string_buffer_.Initialize(
-                                       Handle<ExternalTwoByteString>::cast(
-                                                                            
source));
+        Handle<ExternalTwoByteString>::cast(source));
      source_ = &two_byte_string_buffer_;
    } else {
      char_stream_buffer_.Initialize(source, stream);
@@ -358,10 +350,12 @@
    SkipWhiteSpace();
    Scan();
  }
+

  Handle<String> Scanner::SubString(int start, int end) {
    return source_->SubString(start - position_, end - position_);
  }
+

  Token::Value Scanner::Next() {
    // BUG 1215673: Find a thread safe way to set a stack limit in
@@ -379,6 +373,7 @@
    }
    return current_.token;
  }
+

  void Scanner::StartLiteral() {
    // Use the first buffer unless it's currently in use by the current_  
token.
@@ -386,23 +381,27 @@
    // the second buffer won't be used very often and is unlikely to grow  
much.
    UTF8Buffer* free_buffer =
        (current_.literal_buffer != &literal_buffer_1_) ? &literal_buffer_1_
-          : &literal_buffer_2_;
+                                                      : &literal_buffer_2_;
    next_.literal_buffer = free_buffer;
    free_buffer->Reset();
  }
+

  void Scanner::AddChar(uc32 c) {
    next_.literal_buffer->AddChar(c);
  }
+

  void Scanner::TerminateLiteral() {
    AddChar(0);
  }
+

  void Scanner::AddCharAdvance() {
    AddChar(c0_);
    Advance();
  }
+

  static inline bool IsByteOrderMark(uc32 c) {
    // The Unicode value U+FFFE is guaranteed never to be assigned as a
@@ -414,6 +413,7 @@
    // Spidermonkey.
    return c == 0xFEFF || c == 0xFFFE;
  }
+

  bool Scanner::SkipWhiteSpace() {
    int start_position = source_pos();
@@ -445,14 +445,15 @@
            // Continue skipping white space after the comment.
            continue;
          }
-        PushBack('-'); // undo Advance()
-      }
-      PushBack('-'); // undo Advance()
+        PushBack('-');  // undo Advance()
+      }
+      PushBack('-');  // undo Advance()
      }
      // Return whether or not we skipped any characters.
      return source_pos() != start_position;
    }
  }
+

  Token::Value Scanner::SkipSingleLineComment() {
    Advance();
@@ -468,6 +469,7 @@

    return Token::WHITESPACE;
  }
+

  Token::Value Scanner::SkipMultiLineComment() {
    ASSERT(c0_ == '*');
@@ -492,6 +494,7 @@
    // Unterminated multi-line comment.
    return Token::ILLEGAL;
  }
+

  Token::Value Scanner::ScanHtmlComment() {
    // Check for <!-- comments.
@@ -499,14 +502,14 @@
    Advance();
    if (c0_ == '-') {
      Advance();
-    if (c0_ == '-')
-      return SkipSingleLineComment();
-    PushBack('-'); // undo Advance()
-  }
-  PushBack('!'); // undo Advance()
+    if (c0_ == '-') return SkipSingleLineComment();
+    PushBack('-');  // undo Advance()
+  }
+  PushBack('!');  // undo Advance()
    ASSERT(c0_ == '!');
    return Token::LT;
  }
+

  void Scanner::Scan() {
    Token::Value token;
@@ -528,8 +531,7 @@
          token = Token::WHITESPACE;
          break;

-      case '"':
-      case '\'':
+      case '"': case '\'':
          token = ScanString();
          break;

@@ -747,15 +749,17 @@
    next_.location.end_pos = source_pos();
    next_.token = token;
  }
+

  void Scanner::SeekForward(int pos) {
    source_->SeekForward(pos - 1);
    Advance();
    Scan();
  }
+

  uc32 Scanner::ScanHexEscape(uc32 c, int length) {
-  ASSERT(length <= 4); // prevent overflow
+  ASSERT(length <= 4);  // prevent overflow

    uc32 digits[4];
    uc32 x = 0;
@@ -768,7 +772,7 @@
        // non-escaped version of the original character.

        // Push back digits read, except the last one (in c0_).
-      for (int j = i - 1; j >= 0; j--) {
+      for (int j = i-1; j >= 0; j--) {
          PushBack(digits[j]);
        }
        // Notice: No handling of error - treat it as "\u"->"u".
@@ -780,6 +784,7 @@

    return x;
  }
+

  // Octal escapes of the forms '\0xx' and '\xxx' are not a part of
  // ECMA-262. Other JS VMs support them.
@@ -787,16 +792,15 @@
    uc32 x = c - '0';
    for (int i = 0; i < length; i++) {
      int d = c0_ - '0';
-    if (d < 0 || d > 7)
-      break;
+    if (d < 0 || d > 7) break;
      int nx = x * 8 + d;
-    if (nx >= 256)
-      break;
+    if (nx >= 256) break;
      x = nx;
      Advance();
    }
    return x;
  }
+

  void Scanner::ScanEscape() {
    uc32 c = c0_;
@@ -805,53 +809,32 @@
    // Skip escaped newlines.
    if (kIsLineTerminator.get(c)) {
      // Allow CR+LF newlines in multiline string literals.
-    if (IsCarriageReturn(c) && IsLineFeed(c0_))
-      Advance();
+    if (IsCarriageReturn(c) && IsLineFeed(c0_)) Advance();
      // Allow LF+CR newlines in multiline string literals.
-    if (IsLineFeed(c) && IsCarriageReturn(c0_))
-      Advance();
+    if (IsLineFeed(c) && IsCarriageReturn(c0_)) Advance();
      return;
    }

    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':
-      c = ScanHexEscape(c, 4);
-      break;
-    case 'v':
-      c = '\v';
-      break;
-    case 'x':
-      c = ScanHexEscape(c, 2);
-      break;
-    case '0': // fall through
-    case '1': // fall through
-    case '2': // fall through
-    case '3': // fall through
-    case '4': // fall through
-    case '5': // fall through
-    case '6': // fall through
-    case '7':
-      c = ScanOctalEscape(c, 2);
-      break;
+    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' : c = ScanHexEscape(c, 4); break;
+    case 'v' : c = '\v'; break;
+    case 'x' : c = ScanHexEscape(c, 2); break;
+    case '0' :  // fall through
+    case '1' :  // fall through
+    case '2' :  // fall through
+    case '3' :  // fall through
+    case '4' :  // fall through
+    case '5' :  // fall through
+    case '6' :  // fall through
+    case '7' : c = ScanOctalEscape(c, 2); break;
    }

    // According to ECMA-262, 3rd, 7.8.4 (p 18ff) these
@@ -859,18 +842,18 @@
    // as non-escaped characters by JS VMs.
    AddChar(c);
  }
+

  Token::Value Scanner::ScanString() {
    uc32 quote = c0_;
-  Advance(); // consume quote
+  Advance();  // consume quote

    StartLiteral();
    while (c0_ != quote && c0_ >= 0 && !kIsLineTerminator.get(c0_)) {
      uc32 c = c0_;
      Advance();
      if (c == '\\') {
-      if (c0_ < 0)
-        return Token::ILLEGAL;
+      if (c0_ < 0) return Token::ILLEGAL;
        ScanEscape();
      } else {
        AddChar(c);
@@ -881,14 +864,16 @@
    }
    TerminateLiteral();

-  Advance(); // consume quote
+  Advance();  // consume quote
    return Token::STRING;
  }
+

  Token::Value Scanner::Select(Token::Value tok) {
    Advance();
    return tok;
  }
+

  Token::Value Scanner::Select(uc32 next, Token::Value then, Token::Value  
else_) {
    Advance();
@@ -899,25 +884,25 @@
      return else_;
    }
  }
+

  // Returns true if any decimal digits were scanned, returns false  
otherwise.
  void Scanner::ScanDecimalDigits() {
    while (IsDecimalDigit(c0_))
      AddCharAdvance();
  }
+

  Token::Value Scanner::ScanNumber(bool seen_period) {
-  ASSERT(IsDecimalDigit(c0_)); // the first digit of the number or the  
fraction
-
-  enum {
-    DECIMAL, HEX, OCTAL
-  } kind = DECIMAL;
+  ASSERT(IsDecimalDigit(c0_));  // the first digit of the number or the  
fraction
+
+  enum { DECIMAL, HEX, OCTAL } kind = DECIMAL;

    StartLiteral();
    if (seen_period) {
      // we have already seen a decimal point of the float
      AddChar('.');
-    ScanDecimalDigits(); // we know we have at least one digit
+    ScanDecimalDigits();  // we know we have at least one digit

    } else {
      // if the first character is '0' we must check for octals and hex
@@ -943,8 +928,7 @@
              kind = DECIMAL;
              break;
            }
-          if (c0_ < '0' || '7' < c0_)
-            break;
+          if (c0_  < '0' || '7'  < c0_) break;
            AddCharAdvance();
          }
        }
@@ -952,19 +936,18 @@

      // Parse decimal digits and allow trailing fractional part.
      if (kind == DECIMAL) {
-      ScanDecimalDigits(); // optional
+      ScanDecimalDigits();  // optional
        if (c0_ == '.') {
          AddCharAdvance();
-        ScanDecimalDigits(); // optional
+        ScanDecimalDigits();  // optional
        }
      }
    }

    // scan exponent, if any
    if (c0_ == 'e' || c0_ == 'E') {
-    ASSERT(kind != HEX); // 'e'/'E' must be scanned as part of the hex  
number
-    if (kind == OCTAL)
-      return Token::ILLEGAL; // no exponent for octals allowed
+    ASSERT(kind != HEX);  // 'e'/'E' must be scanned as part of the hex  
number
+    if (kind == OCTAL) return Token::ILLEGAL;  // no exponent for octals  
allowed
      // scan exponent
      AddCharAdvance();
      if (c0_ == '+' || c0_ == '-')
@@ -985,19 +968,19 @@

    return Token::NUMBER;
  }
+

  uc32 Scanner::ScanIdentifierUnicodeEscape() {
    Advance();
-  if (c0_ != 'u')
-    return unibrow::Utf8::kBadChar;
+  if (c0_ != 'u') return unibrow::Utf8::kBadChar;
    Advance();
    uc32 c = ScanHexEscape('u', 4);
    // We do not allow a unicode escape sequence to start another
    // unicode escape sequence.
-  if (c == '\\')
-    return unibrow::Utf8::kBadChar;
+  if (c == '\\') return unibrow::Utf8::kBadChar;
    return c;
  }
+

  Token::Value Scanner::ScanIdentifier() {
    ASSERT(kIsIdentifierStart.get(c0_));
@@ -1009,8 +992,7 @@
    if (c0_ == '\\') {
      uc32 c = ScanIdentifierUnicodeEscape();
      // Only allow legal identifier start characters.
-    if (!kIsIdentifierStart.get(c))
-      return Token::ILLEGAL;
+    if (!kIsIdentifierStart.get(c)) return Token::ILLEGAL;
      AddChar(c);
      keyword_match.Fail();
    } else {
@@ -1024,8 +1006,7 @@
      if (c0_ == '\\') {
        uc32 c = ScanIdentifierUnicodeEscape();
        // Only allow legal identifier part characters.
-      if (!kIsIdentifierPart.get(c))
-        return Token::ILLEGAL;
+      if (!kIsIdentifierPart.get(c)) return Token::ILLEGAL;
        AddChar(c);
        keyword_match.Fail();
      } else {
@@ -1038,19 +1019,19 @@

    return keyword_match.token();
  }
+
+

  bool Scanner::IsIdentifier(unibrow::CharacterStream* buffer) {
    // Checks whether the buffer contains an identifier (no escape).
-  if (!buffer->has_more())
-    return false;
-  if (!kIsIdentifierStart.get(buffer->GetNext()))
-    return false;
+  if (!buffer->has_more()) return false;
+  if (!kIsIdentifierStart.get(buffer->GetNext())) return false;
    while (buffer->has_more()) {
-    if (!kIsIdentifierPart.get(buffer->GetNext()))
-      return false;
+    if (!kIsIdentifierPart.get(buffer->GetNext())) return false;
    }
    return true;
  }
+

  bool Scanner::ScanRegExpPattern(bool seen_equal) {
    // Scan: ('/' | '/=') RegularExpressionBody '/' RegularExpressionFlags
@@ -1071,12 +1052,12 @@
    while (c0_ != '/' || in_character_class) {
      if (kIsLineTerminator.get(c0_) || c0_ < 0)
        return false;
-    if (c0_ == '\\') { // escaped character
+    if (c0_ == '\\') {  // escaped character
        AddCharAdvance();
        if (kIsLineTerminator.get(c0_) || c0_ < 0)
          return false;
        AddCharAdvance();
-    } else { // unescaped character
+    } else {  // unescaped character
        if (c0_ == '[')
          in_character_class = true;
        if (c0_ == ']')
@@ -1084,7 +1065,7 @@
        AddCharAdvance();
      }
    }
-  Advance(); // consume '/'
+  Advance();  // consume '/'

    TerminateLiteral();

@@ -1097,7 +1078,7 @@
    while (kIsIdentifierPart.get(c0_)) {
      if (c0_ == '\\') {
        uc32 c = ScanIdentifierUnicodeEscape();
-      if (c != static_cast<uc32> (unibrow::Utf8::kBadChar)) {
+      if (c != static_cast<uc32>(unibrow::Utf8::kBadChar)) {
          // We allow any escaped character, unlike the restriction on
          // IdentifierPart when it is used to build an IdentifierName.
          AddChar(c);
@@ -1112,5 +1093,4 @@
    return true;
  }

-}
-} // namespace v8::internal
+} }  // namespace v8::internal

--~--~---------~--~----~------------~-------~--~----~
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
-~----------~----~----~----~------~----~------~--~---

Reply via email to