diff options
author | Simon Hausmann <simon.hausmann@nokia.com> | 2012-09-10 19:10:20 +0200 |
---|---|---|
committer | Simon Hausmann <simon.hausmann@nokia.com> | 2012-09-10 19:10:20 +0200 |
commit | 284837daa07b29d6a63a748544a90b1f5842ac5c (patch) | |
tree | ecd258180bde91fe741e0cfd2638beb3c6da7e8e /Source/JavaScriptCore/runtime/LiteralParser.cpp | |
parent | 2e2ba8ff45915f40ed3e014101269c175f2a89a0 (diff) | |
download | qtwebkit-284837daa07b29d6a63a748544a90b1f5842ac5c.tar.gz |
Imported WebKit commit 68645295d2e3e09af2c942f092556f06aa5f8b0d (http://svn.webkit.org/repository/webkit/trunk@128073)
New snapshot
Diffstat (limited to 'Source/JavaScriptCore/runtime/LiteralParser.cpp')
-rw-r--r-- | Source/JavaScriptCore/runtime/LiteralParser.cpp | 100 |
1 files changed, 50 insertions, 50 deletions
diff --git a/Source/JavaScriptCore/runtime/LiteralParser.cpp b/Source/JavaScriptCore/runtime/LiteralParser.cpp index e1f85cefe..30a478d48 100644 --- a/Source/JavaScriptCore/runtime/LiteralParser.cpp +++ b/Source/JavaScriptCore/runtime/LiteralParser.cpp @@ -31,9 +31,9 @@ #include "JSString.h" #include "Lexer.h" #include "StrongInlines.h" -#include "UStringBuilder.h" #include <wtf/ASCIICType.h> #include <wtf/dtoa.h> +#include <wtf/text/StringBuilder.h> namespace JSC { @@ -269,7 +269,7 @@ template <ParserMode mode> TokenType LiteralParser<CharType>::Lexer::lex(Literal return lexIdentifier(token); if (*m_ptr == '\'') { if (mode == StrictJSON) { - m_lexErrorMessage = "Single quotes (\') are not allowed in JSON"; + m_lexErrorMessage = ASCIILiteral("Single quotes (\') are not allowed in JSON"); return TokError; } return lexString<mode, '\''>(token); @@ -344,7 +344,7 @@ template <ParserMode mode, char terminator> ALWAYS_INLINE TokenType LiteralParse { ++m_ptr; const CharType* runStart = m_ptr; - UStringBuilder builder; + StringBuilder builder; do { runStart = m_ptr; while (m_ptr < m_end && isSafeStringCharacter<mode, CharType, terminator>(*m_ptr)) @@ -356,7 +356,7 @@ template <ParserMode mode, char terminator> ALWAYS_INLINE TokenType LiteralParse builder.append(runStart, m_ptr - runStart); ++m_ptr; if (m_ptr >= m_end) { - m_lexErrorMessage = "Unterminated string"; + m_lexErrorMessage = ASCIILiteral("Unterminated string"); return TokError; } switch (*m_ptr) { @@ -395,12 +395,12 @@ template <ParserMode mode, char terminator> ALWAYS_INLINE TokenType LiteralParse case 'u': if ((m_end - m_ptr) < 5) { - m_lexErrorMessage = "\\u must be followed by 4 hex digits"; + m_lexErrorMessage = ASCIILiteral("\\u must be followed by 4 hex digits"); return TokError; } // uNNNN == 5 characters for (int i = 1; i < 5; i++) { if (!isASCIIHexDigit(m_ptr[i])) { - m_lexErrorMessage = String::format("\"\\%s\" is not a valid unicode escape", UString(m_ptr, 5).ascii().data()).impl(); + m_lexErrorMessage = String::format("\"\\%s\" is not a valid unicode escape", String(m_ptr, 5).ascii().data()).impl(); return TokError; } } @@ -421,16 +421,16 @@ template <ParserMode mode, char terminator> ALWAYS_INLINE TokenType LiteralParse } while ((mode != NonStrictJSON) && m_ptr != runStart && (m_ptr < m_end) && *m_ptr != terminator); if (m_ptr >= m_end || *m_ptr != terminator) { - m_lexErrorMessage = "Unterminated string"; + m_lexErrorMessage = ASCIILiteral("Unterminated string"); return TokError; } if (builder.isEmpty()) { - token.stringBuffer = UString(); + token.stringBuffer = String(); setParserTokenString<CharType>(token, runStart); token.stringLength = m_ptr - runStart; } else { - token.stringBuffer = builder.toUString(); + token.stringBuffer = builder.toString(); if (token.stringBuffer.is8Bit()) { token.stringIs8Bit = 1; token.stringToken8 = token.stringBuffer.characters8(); @@ -474,7 +474,7 @@ TokenType LiteralParser<CharType>::Lexer::lexNumber(LiteralParserToken<CharType> while (m_ptr < m_end && isASCIIDigit(*m_ptr)) ++m_ptr; } else { - m_lexErrorMessage = "Invalid number"; + m_lexErrorMessage = ASCIILiteral("Invalid number"); return TokError; } @@ -483,7 +483,7 @@ TokenType LiteralParser<CharType>::Lexer::lexNumber(LiteralParserToken<CharType> ++m_ptr; // [0-9]+ if (m_ptr >= m_end || !isASCIIDigit(*m_ptr)) { - m_lexErrorMessage = "Invalid digits after decimal point"; + m_lexErrorMessage = ASCIILiteral("Invalid digits after decimal point"); return TokError; } @@ -518,7 +518,7 @@ TokenType LiteralParser<CharType>::Lexer::lexNumber(LiteralParserToken<CharType> // [0-9]+ if (m_ptr >= m_end || !isASCIIDigit(*m_ptr)) { - m_lexErrorMessage = "Exponent symbols should be followed by an optional '+' or '-' and then by at least one number"; + m_lexErrorMessage = ASCIILiteral("Exponent symbols should be followed by an optional '+' or '-' and then by at least one number"); return TokError; } @@ -555,7 +555,7 @@ JSValue LiteralParser<CharType>::parse(ParserState initialState) TokenType lastToken = m_lexer.currentToken().type; if (m_lexer.next() == TokRBracket) { if (lastToken == TokComma) { - m_parseErrorMessage = "Unexpected comma at the end of array expression"; + m_parseErrorMessage = ASCIILiteral("Unexpected comma at the end of array expression"); return JSValue(); } m_lexer.next(); @@ -574,7 +574,7 @@ JSValue LiteralParser<CharType>::parse(ParserState initialState) goto doParseArrayStartExpression; if (m_lexer.currentToken().type != TokRBracket) { - m_parseErrorMessage = "Expected ']'"; + m_parseErrorMessage = ASCIILiteral("Expected ']'"); return JSValue(); } @@ -594,7 +594,7 @@ JSValue LiteralParser<CharType>::parse(ParserState initialState) // Check for colon if (m_lexer.next() != TokColon) { - m_parseErrorMessage = "Expected ':' before value in object property definition"; + m_parseErrorMessage = ASCIILiteral("Expected ':' before value in object property definition"); return JSValue(); } @@ -607,7 +607,7 @@ JSValue LiteralParser<CharType>::parse(ParserState initialState) goto startParseExpression; } if (type != TokRBrace) { - m_parseErrorMessage = "Expected '}'"; + m_parseErrorMessage = ASCIILiteral("Expected '}'"); return JSValue(); } m_lexer.next(); @@ -619,14 +619,14 @@ JSValue LiteralParser<CharType>::parse(ParserState initialState) case DoParseObjectStartExpression: { TokenType type = m_lexer.next(); if (type != TokString && (m_mode == StrictJSON || type != TokIdentifier)) { - m_parseErrorMessage = "Property name must be a string literal"; + m_parseErrorMessage = ASCIILiteral("Property name must be a string literal"); return JSValue(); } LiteralParserToken<CharType> identifierToken = m_lexer.currentToken(); // Check for colon if (m_lexer.next() != TokColon) { - m_parseErrorMessage = "Expected ':'"; + m_parseErrorMessage = ASCIILiteral("Expected ':'"); return JSValue(); } @@ -645,7 +645,7 @@ JSValue LiteralParser<CharType>::parse(ParserState initialState) if (m_lexer.currentToken().type == TokComma) goto doParseObjectStartExpression; if (m_lexer.currentToken().type != TokRBrace) { - m_parseErrorMessage = "Expected '}'"; + m_parseErrorMessage = ASCIILiteral("Expected '}'"); return JSValue(); } m_lexer.next(); @@ -664,9 +664,9 @@ JSValue LiteralParser<CharType>::parse(ParserState initialState) LiteralParserToken<CharType> stringToken = m_lexer.currentToken(); m_lexer.next(); if (stringToken.stringIs8Bit) - lastValue = jsString(m_exec, makeIdentifier(stringToken.stringToken8, stringToken.stringLength).ustring()); + lastValue = jsString(m_exec, makeIdentifier(stringToken.stringToken8, stringToken.stringLength).string()); else - lastValue = jsString(m_exec, makeIdentifier(stringToken.stringToken16, stringToken.stringLength).ustring()); + lastValue = jsString(m_exec, makeIdentifier(stringToken.stringToken16, stringToken.stringLength).string()); break; } case TokNumber: { @@ -690,47 +690,47 @@ JSValue LiteralParser<CharType>::parse(ParserState initialState) lastValue = jsBoolean(false); break; case TokRBracket: - m_parseErrorMessage = "Unexpected token ']'"; + m_parseErrorMessage = ASCIILiteral("Unexpected token ']'"); return JSValue(); case TokRBrace: - m_parseErrorMessage = "Unexpected token '}'"; + m_parseErrorMessage = ASCIILiteral("Unexpected token '}'"); return JSValue(); case TokIdentifier: { const LiteralParserToken<CharType>& token = m_lexer.currentToken(); if (token.stringIs8Bit) - m_parseErrorMessage = String::format("Unexpected identifier \"%s\"", UString(m_lexer.currentToken().stringToken8, m_lexer.currentToken().stringLength).ascii().data()).impl(); + m_parseErrorMessage = String::format("Unexpected identifier \"%s\"", String(m_lexer.currentToken().stringToken8, m_lexer.currentToken().stringLength).ascii().data()).impl(); else - m_parseErrorMessage = String::format("Unexpected identifier \"%s\"", UString(m_lexer.currentToken().stringToken16, m_lexer.currentToken().stringLength).ascii().data()).impl(); + m_parseErrorMessage = String::format("Unexpected identifier \"%s\"", String(m_lexer.currentToken().stringToken16, m_lexer.currentToken().stringLength).ascii().data()).impl(); return JSValue(); } case TokColon: - m_parseErrorMessage = "Unexpected token ':'"; + m_parseErrorMessage = ASCIILiteral("Unexpected token ':'"); return JSValue(); case TokLParen: - m_parseErrorMessage = "Unexpected token '('"; + m_parseErrorMessage = ASCIILiteral("Unexpected token '('"); return JSValue(); case TokRParen: - m_parseErrorMessage = "Unexpected token ')'"; + m_parseErrorMessage = ASCIILiteral("Unexpected token ')'"); return JSValue(); case TokComma: - m_parseErrorMessage = "Unexpected token ','"; + m_parseErrorMessage = ASCIILiteral("Unexpected token ','"); return JSValue(); case TokDot: - m_parseErrorMessage = "Unexpected token '.'"; + m_parseErrorMessage = ASCIILiteral("Unexpected token '.'"); return JSValue(); case TokAssign: - m_parseErrorMessage = "Unexpected token '='"; + m_parseErrorMessage = ASCIILiteral("Unexpected token '='"); return JSValue(); case TokSemi: - m_parseErrorMessage = "Unexpected token ';'"; + m_parseErrorMessage = ASCIILiteral("Unexpected token ';'"); return JSValue(); case TokEnd: - m_parseErrorMessage = "Unexpected EOF"; + m_parseErrorMessage = ASCIILiteral("Unexpected EOF"); return JSValue(); case TokError: default: // Error - m_parseErrorMessage = "Could not parse value expression"; + m_parseErrorMessage = ASCIILiteral("Could not parse value expression"); return JSValue(); } break; @@ -748,50 +748,50 @@ JSValue LiteralParser<CharType>::parse(ParserState initialState) goto startParseExpression; } case TokRBracket: - m_parseErrorMessage = "Unexpected token ']'"; + m_parseErrorMessage = ASCIILiteral("Unexpected token ']'"); return JSValue(); case TokLBrace: - m_parseErrorMessage = "Unexpected token '{'"; + m_parseErrorMessage = ASCIILiteral("Unexpected token '{'"); return JSValue(); case TokRBrace: - m_parseErrorMessage = "Unexpected token '}'"; + m_parseErrorMessage = ASCIILiteral("Unexpected token '}'"); return JSValue(); case TokIdentifier: - m_parseErrorMessage = "Unexpected identifier"; + m_parseErrorMessage = ASCIILiteral("Unexpected identifier"); return JSValue(); case TokColon: - m_parseErrorMessage = "Unexpected token ':'"; + m_parseErrorMessage = ASCIILiteral("Unexpected token ':'"); return JSValue(); case TokRParen: - m_parseErrorMessage = "Unexpected token ')'"; + m_parseErrorMessage = ASCIILiteral("Unexpected token ')'"); return JSValue(); case TokComma: - m_parseErrorMessage = "Unexpected token ','"; + m_parseErrorMessage = ASCIILiteral("Unexpected token ','"); return JSValue(); case TokTrue: - m_parseErrorMessage = "Unexpected token 'true'"; + m_parseErrorMessage = ASCIILiteral("Unexpected token 'true'"); return JSValue(); case TokFalse: - m_parseErrorMessage = "Unexpected token 'false'"; + m_parseErrorMessage = ASCIILiteral("Unexpected token 'false'"); return JSValue(); case TokNull: - m_parseErrorMessage = "Unexpected token 'null'"; + m_parseErrorMessage = ASCIILiteral("Unexpected token 'null'"); return JSValue(); case TokEnd: - m_parseErrorMessage = "Unexpected EOF"; + m_parseErrorMessage = ASCIILiteral("Unexpected EOF"); return JSValue(); case TokDot: - m_parseErrorMessage = "Unexpected token '.'"; + m_parseErrorMessage = ASCIILiteral("Unexpected token '.'"); return JSValue(); case TokAssign: - m_parseErrorMessage = "Unexpected token '='"; + m_parseErrorMessage = ASCIILiteral("Unexpected token '='"); return JSValue(); case TokSemi: - m_parseErrorMessage = "Unexpected token ';'"; + m_parseErrorMessage = ASCIILiteral("Unexpected token ';'"); return JSValue(); case TokError: default: - m_parseErrorMessage = "Could not parse statement"; + m_parseErrorMessage = ASCIILiteral("Could not parse statement"); return JSValue(); } } @@ -801,7 +801,7 @@ JSValue LiteralParser<CharType>::parse(ParserState initialState) return JSValue(); if (m_lexer.next() == TokEnd) return lastValue; - m_parseErrorMessage = "Unexpected content at end of JSON literal"; + m_parseErrorMessage = ASCIILiteral("Unexpected content at end of JSON literal"); return JSValue(); } default: |