Changeset 85456 in webkit


Ignore:
Timestamp:
May 1, 2011 10:21:50 PM (13 years ago)
Author:
oliver@apple.com
Message:

2011-05-01 Oliver Hunt <oliver@apple.com>

Reviewed by Gavin Barraclough.

Strict-mode only reserved words not reserved
https://bugs.webkit.org/show_bug.cgi?id=55342

Fix line number tracking when we rollback the lexer.

  • parser/JSParser.cpp: (JSC::JSParser::parseSourceElements):
Location:
trunk/Source/JavaScriptCore
Files:
2 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/JavaScriptCore/ChangeLog

    r85455 r85456  
     12011-05-01  Oliver Hunt  <oliver@apple.com>
     2
     3        Reviewed by Gavin Barraclough.
     4
     5        Strict-mode only reserved words not reserved
     6        https://bugs.webkit.org/show_bug.cgi?id=55342
     7
     8        Fix line number tracking when we rollback the lexer.
     9
     10        * parser/JSParser.cpp:
     11        (JSC::JSParser::parseSourceElements):
     12
    1132011-05-01  Oliver Hunt  <oliver@apple.com>
    214
  • trunk/Source/JavaScriptCore/parser/JSParser.cpp

    r85455 r85456  
    683683    const Identifier* directive = 0;
    684684    unsigned startOffset = m_token.m_info.startOffset;
     685    unsigned oldLastLineNumber = m_lexer->lastLineNumber();
     686    unsigned oldLineNumber = m_lexer->lineNumber();
    685687    bool hasSetStrict = false;
    686688    while (TreeStatement statement = parseStatement(context, directive)) {
     
    693695                    m_lexer->setOffset(startOffset);
    694696                    next();
     697                    m_lexer->setLastLineNumber(oldLastLineNumber);
     698                    m_lexer->setLineNumber(oldLineNumber);
    695699                    failIfTrue(m_error);
    696700                    continue;
Note: See TracChangeset for help on using the changeset viewer.