#define YYDEBUG 0
#define YYMAXDEPTH 10000
-using namespace WebCore;
+using namespace blink;
using namespace XPath;
%}
-%pure_parser
-%parse-param { WebCore::XPath::Parser* parser }
+%pure-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;
}
%{
|
NAMETEST OptionalPredicateList
{
- String localName;
- String namespaceURI;
+ AtomicString localName;
+ AtomicString namespaceURI;
if (!parser->expandQName(*$1, localName, namespaceURI)) {
parser->m_gotNamespaceError = true;
YYABORT;
|
AxisSpecifier NAMETEST OptionalPredicateList
{
- String localName;
- String namespaceURI;
+ AtomicString localName;
+ AtomicString namespaceURI;
if (!parser->expandQName(*$2, localName, namespaceURI)) {
parser->m_gotNamespaceError = true;
YYABORT;
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($$);
FilterExpr '/' RelativeLocationPath
{
$3->setAbsolute(true);
- $$ = new Path(static_cast<Filter*>($1), $3);
+ $$ = new Path($1, $3);
parser->unregisterParseNode($1);
parser->unregisterParseNode($3);
parser->registerParseNode($$);
{
$3->insertFirstStep($2);
$3->setAbsolute(true);
- $$ = new Path(static_cast<Filter*>($1), $3);
+ $$ = new Path($1, $3);
parser->unregisterParseNode($1);
parser->unregisterParseNode($2);
parser->unregisterParseNode($3);
|
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($$);
}