| Index: src/scanner-base.cc
|
| diff --git a/src/scanner-base.cc b/src/scanner-base.cc
|
| index b26fee01a72351c1c93fc42bc2522ed53f221a60..9e58c4e6371d746fe4ef523701c14015390be70f 100644
|
| --- a/src/scanner-base.cc
|
| +++ b/src/scanner-base.cc
|
| @@ -35,6 +35,12 @@ namespace v8 {
|
| namespace internal {
|
|
|
| // ----------------------------------------------------------------------------
|
| +// UTF16Buffer
|
| +
|
| +UTF16Buffer::UTF16Buffer()
|
| + : pos_(0), end_(kNoEndPosition) { }
|
| +
|
| +// ----------------------------------------------------------------------------
|
| // LiteralCollector
|
|
|
| LiteralCollector::LiteralCollector()
|
| @@ -86,7 +92,7 @@ bool ScannerConstants::IsIdentifier(unibrow::CharacterStream* buffer) {
|
| // ----------------------------------------------------------------------------
|
| // Scanner
|
|
|
| -Scanner::Scanner() { }
|
| +Scanner::Scanner() : source_(NULL) {}
|
|
|
|
|
| uc32 Scanner::ScanHexEscape(uc32 c, int length) {
|
| @@ -136,7 +142,8 @@ uc32 Scanner::ScanOctalEscape(uc32 c, int length) {
|
| // ----------------------------------------------------------------------------
|
| // JavaScriptScanner
|
|
|
| -JavaScriptScanner::JavaScriptScanner() : Scanner() {}
|
| +JavaScriptScanner::JavaScriptScanner()
|
| + : has_line_terminator_before_next_(false) {}
|
|
|
|
|
| Token::Value JavaScriptScanner::Next() {
|
| @@ -496,21 +503,12 @@ void JavaScriptScanner::Scan() {
|
|
|
|
|
| void JavaScriptScanner::SeekForward(int pos) {
|
| - // After this call, we will have the token at the given position as
|
| - // the "next" token. The "current" token will be invalid.
|
| - if (pos == next_.location.beg_pos) return;
|
| - int current_pos = source_pos();
|
| - ASSERT_EQ(next_.location.end_pos, current_pos);
|
| - // Positions inside the lookahead token aren't supported.
|
| - ASSERT(pos >= current_pos);
|
| - if (pos != current_pos) {
|
| - source_->SeekForward(pos - source_->pos());
|
| - Advance();
|
| - // This function is only called to seek to the location
|
| - // of the end of a function (at the "}" token). It doesn't matter
|
| - // whether there was a line terminator in the part we skip.
|
| - has_line_terminator_before_next_ = false;
|
| - }
|
| + source_->SeekForward(pos - 1);
|
| + Advance();
|
| + // This function is only called to seek to the location
|
| + // of the end of a function (at the "}" token). It doesn't matter
|
| + // whether there was a line terminator in the part we skip.
|
| + has_line_terminator_before_next_ = false;
|
| Scan();
|
| }
|
|
|
|
|