Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1426)

Unified Diff: Source/core/xml/XPathGrammar.y

Issue 1099613003: Oilpan: have xml/ objects on the heap by default. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: simplify XPathResult dtor Created 5 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « Source/core/xml/XPathFunctions.cpp ('k') | Source/core/xml/XPathNSResolver.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: Source/core/xml/XPathGrammar.y
diff --git a/Source/core/xml/XPathGrammar.y b/Source/core/xml/XPathGrammar.y
index 982791be52efb622f2d33f1a74c4f04e56ee6e16..6774e5d043b15a813a7ac5fd577e2107587a7889 100644
--- a/Source/core/xml/XPathGrammar.y
+++ b/Source/core/xml/XPathGrammar.y
@@ -6,13 +6,13 @@
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
- *
+ *
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in the
* documentation and/or other materials provided with the distribution.
- *
+ *
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
* IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
@@ -62,8 +62,8 @@ using namespace XPath;
blink::XPath::EqTestOp::Opcode eqop;
String* str;
blink::XPath::Expression* expr;
- WillBeHeapVector<OwnPtrWillBeMember<blink::XPath::Predicate>>* predList;
- WillBeHeapVector<OwnPtrWillBeMember<blink::XPath::Expression>>* argList;
+ blink::HeapVector<blink::Member<blink::XPath::Predicate>>* predList;
+ blink::HeapVector<blink::Member<blink::XPath::Expression>>* argList;
blink::XPath::Step* step;
blink::XPath::LocationPath* locationPath;
}
@@ -72,7 +72,7 @@ using namespace XPath;
static int xpathyylex(YYSTYPE* yylval) { return Parser::current()->lex(yylval); }
static void xpathyyerror(void*, const char*) { }
-
+
%}
%left <numop> MULOP
@@ -138,7 +138,6 @@ AbsoluteLocationPath:
'/'
{
$$ = new LocationPath;
- parser->registerParseNode($$);
}
|
'/' RelativeLocationPath
@@ -150,7 +149,6 @@ AbsoluteLocationPath:
{
$$ = $2;
$$->insertFirstStep($1);
- parser->unregisterParseNode($1);
}
;
@@ -159,35 +157,27 @@ RelativeLocationPath:
{
$$ = new LocationPath;
$$->appendStep($1);
- parser->unregisterParseNode($1);
- parser->registerParseNode($$);
}
|
RelativeLocationPath '/' Step
{
$$->appendStep($3);
- parser->unregisterParseNode($3);
}
|
RelativeLocationPath DescendantOrSelf Step
{
$$->appendStep($2);
$$->appendStep($3);
- parser->unregisterParseNode($2);
- parser->unregisterParseNode($3);
}
;
Step:
NodeTest OptionalPredicateList
{
- if ($2) {
+ if ($2)
$$ = new Step(Step::ChildAxis, *$1, *$2);
- parser->deletePredicateVector($2);
- } else
+ else
$$ = new Step(Step::ChildAxis, *$1);
- parser->deleteNodeTest($1);
- parser->registerParseNode($$);
}
|
NAMETEST OptionalPredicateList
@@ -198,25 +188,20 @@ Step:
parser->m_gotNamespaceError = true;
YYABORT;
}
-
- if ($2) {
+
+ if ($2)
$$ = new Step(Step::ChildAxis, Step::NodeTest(Step::NodeTest::NameTest, localName, namespaceURI), *$2);
- parser->deletePredicateVector($2);
- } else
+ else
$$ = new Step(Step::ChildAxis, Step::NodeTest(Step::NodeTest::NameTest, localName, namespaceURI));
parser->deleteString($1);
- parser->registerParseNode($$);
}
|
AxisSpecifier NodeTest OptionalPredicateList
{
- if ($3) {
+ if ($3)
$$ = new Step($1, *$2, *$3);
- parser->deletePredicateVector($3);
- } else
+ else
$$ = new Step($1, *$2);
- parser->deleteNodeTest($2);
- parser->registerParseNode($$);
}
|
AxisSpecifier NAMETEST OptionalPredicateList
@@ -228,13 +213,11 @@ Step:
YYABORT;
}
- if ($3) {
+ if ($3)
$$ = new Step($1, Step::NodeTest(Step::NodeTest::NameTest, localName, namespaceURI), *$3);
- parser->deletePredicateVector($3);
- } else
+ else
$$ = new Step($1, Step::NodeTest(Step::NodeTest::NameTest, localName, namespaceURI));
parser->deleteString($2);
- parser->registerParseNode($$);
}
|
AbbreviatedStep
@@ -260,14 +243,12 @@ NodeTest:
$$ = new Step::NodeTest(Step::NodeTest::CommentNodeTest);
parser->deleteString($1);
- parser->registerNodeTest($$);
}
|
PI '(' ')'
{
$$ = new Step::NodeTest(Step::NodeTest::ProcessingInstructionNodeTest);
parser->deleteString($1);
- parser->registerNodeTest($$);
}
|
PI '(' LITERAL ')'
@@ -275,7 +256,6 @@ NodeTest:
$$ = new Step::NodeTest(Step::NodeTest::ProcessingInstructionNodeTest, $3->stripWhiteSpace());
parser->deleteString($1);
parser->deleteString($3);
- parser->registerNodeTest($$);
}
;
@@ -291,16 +271,13 @@ OptionalPredicateList:
PredicateList:
Predicate
{
- $$ = new WillBeHeapVector<OwnPtrWillBeMember<Predicate>>;
- $$->append(adoptPtrWillBeNoop(new Predicate(adoptPtrWillBeNoop($1))));
- parser->unregisterParseNode($1);
- parser->registerPredicateVector($$);
+ $$ = new blink::HeapVector<blink::Member<Predicate>>;
+ $$->append(new Predicate($1));
}
|
PredicateList Predicate
{
- $$->append(adoptPtrWillBeNoop(new Predicate(adoptPtrWillBeNoop($2))));
- parser->unregisterParseNode($2);
+ $$->append(new Predicate($2));
}
;
@@ -315,7 +292,6 @@ DescendantOrSelf:
SLASHSLASH
{
$$ = new Step(Step::DescendantOrSelfAxis, Step::NodeTest(Step::NodeTest::AnyNodeTest));
- parser->registerParseNode($$);
}
;
@@ -323,13 +299,11 @@ AbbreviatedStep:
'.'
{
$$ = new Step(Step::SelfAxis, Step::NodeTest(Step::NodeTest::AnyNodeTest));
- parser->registerParseNode($$);
}
|
DOTDOT
{
$$ = new Step(Step::ParentAxis, Step::NodeTest(Step::NodeTest::AnyNodeTest));
- parser->registerParseNode($$);
}
;
@@ -338,7 +312,6 @@ PrimaryExpr:
{
$$ = new VariableReference(*$1);
parser->deleteString($1);
- parser->registerParseNode($$);
}
|
'(' Expr ')'
@@ -350,14 +323,12 @@ PrimaryExpr:
{
$$ = new StringExpression(*$1);
parser->deleteString($1);
- parser->registerParseNode($$);
}
|
NUMBER
{
$$ = new Number($1->toDouble());
parser->deleteString($1);
- parser->registerParseNode($$);
}
|
FunctionCall
@@ -370,7 +341,6 @@ FunctionCall:
if (!$$)
YYABORT;
parser->deleteString($1);
- parser->registerParseNode($$);
}
|
FUNCTIONNAME '(' ArgumentList ')'
@@ -379,24 +349,19 @@ FunctionCall:
if (!$$)
YYABORT;
parser->deleteString($1);
- parser->deleteExpressionVector($3);
- parser->registerParseNode($$);
}
;
ArgumentList:
Argument
{
- $$ = new WillBeHeapVector<OwnPtrWillBeMember<Expression>>;
- $$->append(adoptPtrWillBeNoop($1));
- parser->unregisterParseNode($1);
- parser->registerExpressionVector($$);
+ $$ = new blink::HeapVector<blink::Member<Expression>>;
+ $$->append($1);
}
|
ArgumentList ',' Argument
{
- $$->append(adoptPtrWillBeNoop($3));
- parser->unregisterParseNode($3);
+ $$->append($3);
}
;
@@ -410,11 +375,8 @@ UnionExpr:
UnionExpr '|' PathExpr
{
$$ = new Union;
- $$->addSubExpression(adoptPtrWillBeNoop($1));
- $$->addSubExpression(adoptPtrWillBeNoop($3));
- parser->unregisterParseNode($1);
- parser->unregisterParseNode($3);
- parser->registerParseNode($$);
+ $$->addSubExpression($1);
+ $$->addSubExpression($3);
}
;
@@ -430,9 +392,6 @@ PathExpr:
{
$3->setAbsolute(true);
$$ = new Path($1, $3);
- parser->unregisterParseNode($1);
- parser->unregisterParseNode($3);
- parser->registerParseNode($$);
}
|
FilterExpr DescendantOrSelf RelativeLocationPath
@@ -440,10 +399,6 @@ PathExpr:
$3->insertFirstStep($2);
$3->setAbsolute(true);
$$ = new Path($1, $3);
- parser->unregisterParseNode($1);
- parser->unregisterParseNode($2);
- parser->unregisterParseNode($3);
- parser->registerParseNode($$);
}
;
@@ -452,10 +407,7 @@ FilterExpr:
|
PrimaryExpr PredicateList
{
- $$ = new Filter(adoptPtrWillBeNoop($1), *$2);
- parser->unregisterParseNode($1);
- parser->deletePredicateVector($2);
- parser->registerParseNode($$);
+ $$ = new Filter($1, *$2);
}
;
@@ -464,10 +416,7 @@ OrExpr:
|
OrExpr OR AndExpr
{
- $$ = new LogicalOp(LogicalOp::OP_Or, adoptPtrWillBeNoop($1), adoptPtrWillBeNoop($3));
- parser->unregisterParseNode($1);
- parser->unregisterParseNode($3);
- parser->registerParseNode($$);
+ $$ = new LogicalOp(LogicalOp::OP_Or, $1, $3);
}
;
@@ -476,10 +425,7 @@ AndExpr:
|
AndExpr AND EqualityExpr
{
- $$ = new LogicalOp(LogicalOp::OP_And, adoptPtrWillBeNoop($1), adoptPtrWillBeNoop($3));
- parser->unregisterParseNode($1);
- parser->unregisterParseNode($3);
- parser->registerParseNode($$);
+ $$ = new LogicalOp(LogicalOp::OP_And, $1, $3);
}
;
@@ -488,10 +434,7 @@ EqualityExpr:
|
EqualityExpr EQOP RelationalExpr
{
- $$ = new EqTestOp($2, adoptPtrWillBeNoop($1), adoptPtrWillBeNoop($3));
- parser->unregisterParseNode($1);
- parser->unregisterParseNode($3);
- parser->registerParseNode($$);
+ $$ = new EqTestOp($2, $1, $3);
}
;
@@ -500,10 +443,7 @@ RelationalExpr:
|
RelationalExpr RELOP AdditiveExpr
{
- $$ = new EqTestOp($2, adoptPtrWillBeNoop($1), adoptPtrWillBeNoop($3));
- parser->unregisterParseNode($1);
- parser->unregisterParseNode($3);
- parser->registerParseNode($$);
+ $$ = new EqTestOp($2, $1, $3);
}
;
@@ -512,18 +452,12 @@ AdditiveExpr:
|
AdditiveExpr PLUS MultiplicativeExpr
{
- $$ = new NumericOp(NumericOp::OP_Add, adoptPtrWillBeNoop($1), adoptPtrWillBeNoop($3));
- parser->unregisterParseNode($1);
- parser->unregisterParseNode($3);
- parser->registerParseNode($$);
+ $$ = new NumericOp(NumericOp::OP_Add, $1, $3);
}
|
AdditiveExpr MINUS MultiplicativeExpr
{
- $$ = new NumericOp(NumericOp::OP_Sub, adoptPtrWillBeNoop($1), adoptPtrWillBeNoop($3));
- parser->unregisterParseNode($1);
- parser->unregisterParseNode($3);
- parser->registerParseNode($$);
+ $$ = new NumericOp(NumericOp::OP_Sub, $1, $3);
}
;
@@ -532,10 +466,7 @@ MultiplicativeExpr:
|
MultiplicativeExpr MULOP UnaryExpr
{
- $$ = new NumericOp($2, adoptPtrWillBeNoop($1), adoptPtrWillBeNoop($3));
- parser->unregisterParseNode($1);
- parser->unregisterParseNode($3);
- parser->registerParseNode($$);
+ $$ = new NumericOp($2, $1, $3);
}
;
@@ -545,9 +476,7 @@ UnaryExpr:
MINUS UnaryExpr
{
$$ = new Negative;
- $$->addSubExpression(adoptPtrWillBeNoop($2));
- parser->unregisterParseNode($2);
- parser->registerParseNode($$);
+ $$->addSubExpression($2);
}
;
« no previous file with comments | « Source/core/xml/XPathFunctions.cpp ('k') | Source/core/xml/XPathNSResolver.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698