Changeset 90535 in webkit for trunk/Source/JavaScriptCore/parser


Ignore:
Timestamp:
Jul 6, 2011, 9:20:06 PM (14 years ago)
Author:
[email protected]
Message:

2011-07-06 Juan C. Montemayor <[email protected]>

ASSERT_NOT_REACHED running test 262
https://bugs.webkit.org/show_bug.cgi?id=63951

Added a test to check compliance with reserved words in strict mode.
Updated test results.

Reviewed by Gavin Barraclough.

  • fast/js/kde/parse-expected.txt:
  • fast/js/reserved-words-as-property-expected.txt:
  • fast/js/reserved-words-strict-expected.txt: Added.
  • fast/js/reserved-words-strict.html: Added.
  • fast/js/script-tests/reserved-words-strict.js: Added. (isReserved):
  • platform/chromium/fast/js/reserved-words-strict-expected.txt: Added.
  • sputnik/Conformance/07_Lexical_Conventions/7.2_White_Space/S7.2_A5_T1-expected.txt:
  • sputnik/Conformance/07_Lexical_Conventions/7.2_White_Space/S7.2_A5_T2-expected.txt:
  • sputnik/Conformance/07_Lexical_Conventions/7.2_White_Space/S7.2_A5_T3-expected.txt:
  • sputnik/Conformance/07_Lexical_Conventions/7.2_White_Space/S7.2_A5_T4-expected.txt:
  • sputnik/Conformance/07_Lexical_Conventions/7.2_White_Space/S7.2_A5_T5-expected.txt:
  • sputnik/Conformance/07_Lexical_Conventions/7.3_Line_Terminators/S7.3_A6_T1-expected.txt:
  • sputnik/Conformance/07_Lexical_Conventions/7.3_Line_Terminators/S7.3_A6_T2-expected.txt:
  • sputnik/Conformance/07_Lexical_Conventions/7.3_Line_Terminators/S7.3_A6_T3-expected.txt:
  • sputnik/Conformance/07_Lexical_Conventions/7.3_Line_Terminators/S7.3_A6_T4-expected.txt:
  • sputnik/Conformance/12_Statement/12.14_The_try_Statement/S12.14_A16_T13-expected.txt:

2011-07-06 Juan C. Montemayor <[email protected]>

ASSERT_NOT_REACHED running test 262
https://bugs.webkit.org/show_bug.cgi?id=63951

Added a case to the switch statement where the code was failing. Fixed
some logic as well that gave faulty error messages.

Reviewed by Gavin Barraclough.

  • parser/JSParser.cpp: (JSC::JSParser::getTokenName): (JSC::JSParser::updateErrorMessageSpecialCase): (JSC::JSParser::updateErrorMessage):
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/JavaScriptCore/parser/JSParser.cpp

    r89371 r90535  
    192192        case FUNCTION:
    193193            return "function";
    194         case RETURN:
    195             return 0;
    196194        case IF:
    197195            return "if";
     
    206204        case WITH:
    207205            return "with";
    208         case RESERVED_IF_STRICT:
    209         case RESERVED:
    210             return 0;
    211206        case THROW:
    212207            return "throw";
     
    237232        case QUESTION:
    238233            return "?";
    239         case NUMBER:
    240             return 0;
    241         case IDENT:
    242             return 0;
    243         case STRING:
    244             return 0;
    245234        case SEMICOLON:
    246235            return ";";
     
    249238        case DOT:
    250239            return ".";
    251         case ERRORTOK:
    252             return 0;
    253         case EOFTOK:
    254             return 0;
    255240        case EQUAL:
    256241            return "=";
     
    339324        case MOD:
    340325            return "%";
     326        case RETURN:
     327        case RESERVED_IF_STRICT:
     328        case RESERVED:
     329        case NUMBER:
     330        case IDENT:
     331        case STRING:
     332        case ERRORTOK:
     333        case EOFTOK:
     334            return 0;
    341335        case LastUntaggedToken:
    342336            break;
     
    350344        String errorMessage;
    351345        switch (expectedToken) {
     346        case RESERVED_IF_STRICT:
     347            errorMessage = "Use of reserved word '";
     348            errorMessage += getToken().impl();
     349            errorMessage += "' in strict mode";
     350            m_errorMessage = errorMessage.impl();
     351            return;
    352352        case RESERVED:
    353353            errorMessage = "Use of reserved word '";
     
    406406        m_error = true;
    407407        const char* name = getTokenName(expectedToken);
    408         if (!name)
    409             updateErrorMessageSpecialCase(expectedToken);
    410         else
     408        if (name)
    411409            m_errorMessage = UString(String::format("Expected token '%s'", name).impl());
     410        else {
     411            if (!getTokenName(m_token.m_type))
     412                updateErrorMessageSpecialCase(m_token.m_type);
     413            else
     414                updateErrorMessageSpecialCase(expectedToken);
     415        }
    412416    }
    413417   
Note: See TracChangeset for help on using the changeset viewer.