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/parser/ASTBuilder.h | |
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/parser/ASTBuilder.h')
-rw-r--r-- | Source/JavaScriptCore/parser/ASTBuilder.h | 41 |
1 files changed, 3 insertions, 38 deletions
diff --git a/Source/JavaScriptCore/parser/ASTBuilder.h b/Source/JavaScriptCore/parser/ASTBuilder.h index 0a71f1294..6e7334f97 100644 --- a/Source/JavaScriptCore/parser/ASTBuilder.h +++ b/Source/JavaScriptCore/parser/ASTBuilder.h @@ -220,7 +220,7 @@ public: ExpressionNode* createRegExp(const JSTokenLocation& location, const Identifier& pattern, const Identifier& flags, int start) { - if (Yarr::checkSyntax(pattern.ustring())) + if (Yarr::checkSyntax(pattern.string())) return 0; RegExpNode* node = new (m_globalData) RegExpNode(location, pattern, flags); int size = pattern.length() + 2; // + 2 for the two /'s @@ -943,47 +943,12 @@ ExpressionNode* ASTBuilder::makeAssignNode(const JSTokenLocation& location, Expr ExpressionNode* ASTBuilder::makePrefixNode(const JSTokenLocation& location, ExpressionNode* expr, Operator op, int start, int divot, int end) { - if (!expr->isLocation()) - return new (m_globalData) PrefixErrorNode(location, op, divot, divot - start, end - divot); - - if (expr->isResolveNode()) { - ResolveNode* resolve = static_cast<ResolveNode*>(expr); - return new (m_globalData) PrefixResolveNode(location, resolve->identifier(), op, divot, divot - start, end - divot); - } - if (expr->isBracketAccessorNode()) { - BracketAccessorNode* bracket = static_cast<BracketAccessorNode*>(expr); - PrefixBracketNode* node = new (m_globalData) PrefixBracketNode(location, bracket->base(), bracket->subscript(), op, divot, divot - start, end - divot); - node->setSubexpressionInfo(bracket->divot(), bracket->startOffset()); - return node; - } - ASSERT(expr->isDotAccessorNode()); - DotAccessorNode* dot = static_cast<DotAccessorNode*>(expr); - PrefixDotNode* node = new (m_globalData) PrefixDotNode(location, dot->base(), dot->identifier(), op, divot, divot - start, end - divot); - node->setSubexpressionInfo(dot->divot(), dot->startOffset()); - return node; + return new (m_globalData) PrefixNode(location, expr, op, divot, divot - start, end - divot); } ExpressionNode* ASTBuilder::makePostfixNode(const JSTokenLocation& location, ExpressionNode* expr, Operator op, int start, int divot, int end) { - if (!expr->isLocation()) - return new (m_globalData) PostfixErrorNode(location, op, divot, divot - start, end - divot); - - if (expr->isResolveNode()) { - ResolveNode* resolve = static_cast<ResolveNode*>(expr); - return new (m_globalData) PostfixResolveNode(location, resolve->identifier(), op, divot, divot - start, end - divot); - } - if (expr->isBracketAccessorNode()) { - BracketAccessorNode* bracket = static_cast<BracketAccessorNode*>(expr); - PostfixBracketNode* node = new (m_globalData) PostfixBracketNode(location, bracket->base(), bracket->subscript(), op, divot, divot - start, end - divot); - node->setSubexpressionInfo(bracket->divot(), bracket->endOffset()); - return node; - - } - ASSERT(expr->isDotAccessorNode()); - DotAccessorNode* dot = static_cast<DotAccessorNode*>(expr); - PostfixDotNode* node = new (m_globalData) PostfixDotNode(location, dot->base(), dot->identifier(), op, divot, divot - start, end - divot); - node->setSubexpressionInfo(dot->divot(), dot->endOffset()); - return node; + return new (m_globalData) PostfixNode(location, expr, op, divot, divot - start, end - divot); } } |