summaryrefslogtreecommitdiff
path: root/Source/JavaScriptCore/runtime/LiteralParser.cpp
diff options
context:
space:
mode:
authorSimon Hausmann <simon.hausmann@nokia.com>2012-09-10 19:10:20 +0200
committerSimon Hausmann <simon.hausmann@nokia.com>2012-09-10 19:10:20 +0200
commit284837daa07b29d6a63a748544a90b1f5842ac5c (patch)
treeecd258180bde91fe741e0cfd2638beb3c6da7e8e /Source/JavaScriptCore/runtime/LiteralParser.cpp
parent2e2ba8ff45915f40ed3e014101269c175f2a89a0 (diff)
downloadqtwebkit-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.cpp100
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: