#define YYDEBUG 0
#define YYMAXDEPTH 10000
-using namespace WebCore;
+using namespace blink;
using namespace XPath;
%}
%pure-parser
-%parse-param { WebCore::XPath::Parser* parser }
+%parse-param { blink::XPath::Parser* parser }
%union
{
- Step::Axis axis;
- Step::NodeTest* nodeTest;
- NumericOp::Opcode numop;
- EqTestOp::Opcode eqop;
+ blink::XPath::Step::Axis axis;
+ blink::XPath::Step::NodeTest* nodeTest;
+ blink::XPath::NumericOp::Opcode numop;
+ blink::XPath::EqTestOp::Opcode eqop;
String* str;
- Expression* expr;
- Vector<OwnPtr<Predicate> >* predList;
- Vector<OwnPtr<Expression> >* argList;
- Step* step;
- LocationPath* locationPath;
+ blink::XPath::Expression* expr;
+ WillBeHeapVector<OwnPtrWillBeMember<blink::XPath::Predicate> >* predList;
+ WillBeHeapVector<OwnPtrWillBeMember<blink::XPath::Expression> >* argList;
+ blink::XPath::Step* step;
+ blink::XPath::LocationPath* locationPath;
}
%{
PredicateList:
Predicate
{
- $$ = new Vector<OwnPtr<Predicate> >;
- $$->append(adoptPtr(new Predicate(adoptPtr($1))));
+ $$ = new WillBeHeapVector<OwnPtrWillBeMember<Predicate> >;
+ $$->append(adoptPtrWillBeNoop(new Predicate(adoptPtrWillBeNoop($1))));
parser->unregisterParseNode($1);
parser->registerPredicateVector($$);
}
|
PredicateList Predicate
{
- $$->append(adoptPtr(new Predicate(adoptPtr($2))));
+ $$->append(adoptPtrWillBeNoop(new Predicate(adoptPtrWillBeNoop($2))));
parser->unregisterParseNode($2);
}
;
ArgumentList:
Argument
{
- $$ = new Vector<OwnPtr<Expression> >;
- $$->append(adoptPtr($1));
+ $$ = new WillBeHeapVector<OwnPtrWillBeMember<Expression> >;
+ $$->append(adoptPtrWillBeNoop($1));
parser->unregisterParseNode($1);
parser->registerExpressionVector($$);
}
|
ArgumentList ',' Argument
{
- $$->append(adoptPtr($3));
+ $$->append(adoptPtrWillBeNoop($3));
parser->unregisterParseNode($3);
}
;
UnionExpr '|' PathExpr
{
$$ = new Union;
- $$->addSubExpression(adoptPtr($1));
- $$->addSubExpression(adoptPtr($3));
+ $$->addSubExpression(adoptPtrWillBeNoop($1));
+ $$->addSubExpression(adoptPtrWillBeNoop($3));
parser->unregisterParseNode($1);
parser->unregisterParseNode($3);
parser->registerParseNode($$);
|
PrimaryExpr PredicateList
{
- $$ = new Filter(adoptPtr($1), *$2);
+ $$ = new Filter(adoptPtrWillBeNoop($1), *$2);
parser->unregisterParseNode($1);
parser->deletePredicateVector($2);
parser->registerParseNode($$);
|
OrExpr OR AndExpr
{
- $$ = new LogicalOp(LogicalOp::OP_Or, adoptPtr($1), adoptPtr($3));
+ $$ = new LogicalOp(LogicalOp::OP_Or, adoptPtrWillBeNoop($1), adoptPtrWillBeNoop($3));
parser->unregisterParseNode($1);
parser->unregisterParseNode($3);
parser->registerParseNode($$);
|
AndExpr AND EqualityExpr
{
- $$ = new LogicalOp(LogicalOp::OP_And, adoptPtr($1), adoptPtr($3));
+ $$ = new LogicalOp(LogicalOp::OP_And, adoptPtrWillBeNoop($1), adoptPtrWillBeNoop($3));
parser->unregisterParseNode($1);
parser->unregisterParseNode($3);
parser->registerParseNode($$);
|
EqualityExpr EQOP RelationalExpr
{
- $$ = new EqTestOp($2, adoptPtr($1), adoptPtr($3));
+ $$ = new EqTestOp($2, adoptPtrWillBeNoop($1), adoptPtrWillBeNoop($3));
parser->unregisterParseNode($1);
parser->unregisterParseNode($3);
parser->registerParseNode($$);
|
RelationalExpr RELOP AdditiveExpr
{
- $$ = new EqTestOp($2, adoptPtr($1), adoptPtr($3));
+ $$ = new EqTestOp($2, adoptPtrWillBeNoop($1), adoptPtrWillBeNoop($3));
parser->unregisterParseNode($1);
parser->unregisterParseNode($3);
parser->registerParseNode($$);
|
AdditiveExpr PLUS MultiplicativeExpr
{
- $$ = new NumericOp(NumericOp::OP_Add, adoptPtr($1), adoptPtr($3));
+ $$ = new NumericOp(NumericOp::OP_Add, adoptPtrWillBeNoop($1), adoptPtrWillBeNoop($3));
parser->unregisterParseNode($1);
parser->unregisterParseNode($3);
parser->registerParseNode($$);
|
AdditiveExpr MINUS MultiplicativeExpr
{
- $$ = new NumericOp(NumericOp::OP_Sub, adoptPtr($1), adoptPtr($3));
+ $$ = new NumericOp(NumericOp::OP_Sub, adoptPtrWillBeNoop($1), adoptPtrWillBeNoop($3));
parser->unregisterParseNode($1);
parser->unregisterParseNode($3);
parser->registerParseNode($$);
|
MultiplicativeExpr MULOP UnaryExpr
{
- $$ = new NumericOp($2, adoptPtr($1), adoptPtr($3));
+ $$ = new NumericOp($2, adoptPtrWillBeNoop($1), adoptPtrWillBeNoop($3));
parser->unregisterParseNode($1);
parser->unregisterParseNode($3);
parser->registerParseNode($$);
MINUS UnaryExpr
{
$$ = new Negative;
- $$->addSubExpression(adoptPtr($2));
+ $$->addSubExpression(adoptPtrWillBeNoop($2));
parser->unregisterParseNode($2);
parser->registerParseNode($$);
}