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

Unified Diff: tools/gn/parser.cc

Issue 1544333002: Convert Pass()→std::move() in //tools (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years 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 | « tools/gn/parse_tree_unittest.cc ('k') | tools/gn/scope.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: tools/gn/parser.cc
diff --git a/tools/gn/parser.cc b/tools/gn/parser.cc
index b2e22fb09f63a2f383fd7ee2bcf73896ea570fc2..79966b8ac59c4ce096b7124899df6d01046d4343 100644
--- a/tools/gn/parser.cc
+++ b/tools/gn/parser.cc
@@ -4,6 +4,8 @@
#include "tools/gn/parser.h"
+#include <utility>
+
#include "base/logging.h"
#include "tools/gn/functions.h"
#include "tools/gn/operators.h"
@@ -215,7 +217,7 @@ scoped_ptr<ParseNode> Parser::ParseExpression(const std::vector<Token>& tokens,
*err = Err(p.cur_token(), "Trailing garbage");
return nullptr;
}
- return expr.Pass();
+ return expr;
}
// static
@@ -328,7 +330,7 @@ scoped_ptr<ParseNode> Parser::ParseExpression(int precedence) {
scoped_ptr<ParseNode> left = (this->*prefix)(token);
if (has_error())
- return left.Pass();
+ return left;
while (!at_end() && !IsStatementBreak(cur_token().type()) &&
precedence <= expressions_[cur_token().type()].precedence) {
@@ -340,12 +342,12 @@ scoped_ptr<ParseNode> Parser::ParseExpression(int precedence) {
token.value().as_string() + std::string("'"));
return scoped_ptr<ParseNode>();
}
- left = (this->*infix)(left.Pass(), token);
+ left = (this->*infix)(std::move(left), token);
if (has_error())
return scoped_ptr<ParseNode>();
}
- return left.Pass();
+ return left;
}
scoped_ptr<ParseNode> Parser::Literal(Token token) {
@@ -353,13 +355,13 @@ scoped_ptr<ParseNode> Parser::Literal(Token token) {
}
scoped_ptr<ParseNode> Parser::Name(Token token) {
- return IdentifierOrCall(scoped_ptr<ParseNode>(), token).Pass();
+ return IdentifierOrCall(scoped_ptr<ParseNode>(), token);
}
scoped_ptr<ParseNode> Parser::BlockComment(Token token) {
scoped_ptr<BlockCommentNode> comment(new BlockCommentNode());
comment->set_comment(token);
- return comment.Pass();
+ return std::move(comment);
}
scoped_ptr<ParseNode> Parser::Group(Token token) {
@@ -367,7 +369,7 @@ scoped_ptr<ParseNode> Parser::Group(Token token) {
if (has_error())
return scoped_ptr<ParseNode>();
Consume(Token::RIGHT_PAREN, "Expected ')'");
- return expr.Pass();
+ return expr;
}
scoped_ptr<ParseNode> Parser::Not(Token token) {
@@ -381,15 +383,15 @@ scoped_ptr<ParseNode> Parser::Not(Token token) {
}
scoped_ptr<UnaryOpNode> unary_op(new UnaryOpNode);
unary_op->set_op(token);
- unary_op->set_operand(expr.Pass());
- return unary_op.Pass();
+ unary_op->set_operand(std::move(expr));
+ return std::move(unary_op);
}
scoped_ptr<ParseNode> Parser::List(Token node) {
scoped_ptr<ParseNode> list(ParseList(node, Token::RIGHT_BRACKET, true));
if (!has_error() && !at_end())
Consume(Token::RIGHT_BRACKET, "Expected ']'");
- return list.Pass();
+ return list;
}
scoped_ptr<ParseNode> Parser::BinaryOperator(scoped_ptr<ParseNode> left,
@@ -405,9 +407,9 @@ scoped_ptr<ParseNode> Parser::BinaryOperator(scoped_ptr<ParseNode> left,
}
scoped_ptr<BinaryOpNode> binary_op(new BinaryOpNode);
binary_op->set_op(token);
- binary_op->set_left(left.Pass());
- binary_op->set_right(right.Pass());
- return binary_op.Pass();
+ binary_op->set_left(std::move(left));
+ binary_op->set_right(std::move(right));
+ return std::move(binary_op);
}
scoped_ptr<ParseNode> Parser::IdentifierOrCall(scoped_ptr<ParseNode> left,
@@ -439,14 +441,14 @@ scoped_ptr<ParseNode> Parser::IdentifierOrCall(scoped_ptr<ParseNode> left,
if (!left && !has_arg) {
// Not a function call, just a standalone identifier.
- return scoped_ptr<ParseNode>(new IdentifierNode(token)).Pass();
+ return scoped_ptr<ParseNode>(new IdentifierNode(token));
}
scoped_ptr<FunctionCallNode> func_call(new FunctionCallNode);
func_call->set_function(token);
- func_call->set_args(list.Pass());
+ func_call->set_args(std::move(list));
if (block)
- func_call->set_block(block.Pass());
- return func_call.Pass();
+ func_call->set_block(std::move(block));
+ return std::move(func_call);
}
scoped_ptr<ParseNode> Parser::Assignment(scoped_ptr<ParseNode> left,
@@ -463,9 +465,9 @@ scoped_ptr<ParseNode> Parser::Assignment(scoped_ptr<ParseNode> left,
}
scoped_ptr<BinaryOpNode> assign(new BinaryOpNode);
assign->set_op(token);
- assign->set_left(left.Pass());
- assign->set_right(value.Pass());
- return assign.Pass();
+ assign->set_left(std::move(left));
+ assign->set_right(std::move(value));
+ return std::move(assign);
}
scoped_ptr<ParseNode> Parser::Subscript(scoped_ptr<ParseNode> left,
@@ -483,8 +485,8 @@ scoped_ptr<ParseNode> Parser::Subscript(scoped_ptr<ParseNode> left,
Consume(Token::RIGHT_BRACKET, "Expecting ']' after subscript.");
scoped_ptr<AccessorNode> accessor(new AccessorNode);
accessor->set_base(left->AsIdentifier()->value());
- accessor->set_index(value.Pass());
- return accessor.Pass();
+ accessor->set_index(std::move(value));
+ return std::move(accessor);
}
scoped_ptr<ParseNode> Parser::DotOperator(scoped_ptr<ParseNode> left,
@@ -508,7 +510,7 @@ scoped_ptr<ParseNode> Parser::DotOperator(scoped_ptr<ParseNode> left,
accessor->set_base(left->AsIdentifier()->value());
accessor->set_member(scoped_ptr<IdentifierNode>(
static_cast<IdentifierNode*>(right.release())));
- return accessor.Pass();
+ return std::move(accessor);
}
// Does not Consume the start or end token.
@@ -553,7 +555,7 @@ scoped_ptr<ListNode> Parser::ParseList(Token start_token,
return scoped_ptr<ListNode>();
}
list->set_end(make_scoped_ptr(new EndNode(cur_token())));
- return list.Pass();
+ return list;
}
scoped_ptr<ParseNode> Parser::ParseFile() {
@@ -564,7 +566,7 @@ scoped_ptr<ParseNode> Parser::ParseFile() {
scoped_ptr<ParseNode> statement = ParseStatement();
if (!statement)
break;
- file->append_statement(statement.Pass());
+ file->append_statement(std::move(statement));
}
if (!at_end() && !has_error())
*err_ = Err(cur_token(), "Unexpected here, should be newline.");
@@ -577,7 +579,7 @@ scoped_ptr<ParseNode> Parser::ParseFile() {
// ignorant of them.
AssignComments(file.get());
- return file.Pass();
+ return std::move(file);
}
scoped_ptr<ParseNode> Parser::ParseStatement() {
@@ -591,7 +593,7 @@ scoped_ptr<ParseNode> Parser::ParseStatement() {
scoped_ptr<ParseNode> stmt = ParseExpression();
if (stmt) {
if (stmt->AsFunctionCall() || IsAssignment(stmt.get()))
- return stmt.Pass();
+ return stmt;
}
if (!has_error()) {
Token token = at_end() ? tokens_[tokens_.size() - 1] : cur_token();
@@ -618,9 +620,9 @@ scoped_ptr<BlockNode> Parser::ParseBlock() {
scoped_ptr<ParseNode> statement = ParseStatement();
if (!statement)
return scoped_ptr<BlockNode>();
- block->append_statement(statement.Pass());
+ block->append_statement(std::move(statement));
}
- return block.Pass();
+ return block;
}
scoped_ptr<ParseNode> Parser::ParseCondition() {
@@ -631,12 +633,12 @@ scoped_ptr<ParseNode> Parser::ParseCondition() {
if (IsAssignment(condition->condition()))
*err_ = Err(condition->condition(), "Assignment not allowed in 'if'.");
Consume(Token::RIGHT_PAREN, "Expected ')' after condition of 'if'.");
- condition->set_if_true(ParseBlock().Pass());
+ condition->set_if_true(ParseBlock());
if (Match(Token::ELSE)) {
if (LookAhead(Token::LEFT_BRACE)) {
- condition->set_if_false(ParseBlock().Pass());
+ condition->set_if_false(ParseBlock());
} else if (LookAhead(Token::IF)) {
- condition->set_if_false(ParseStatement().Pass());
+ condition->set_if_false(ParseStatement());
} else {
*err_ = Err(cur_token(), "Expected '{' or 'if' after 'else'.");
return scoped_ptr<ParseNode>();
@@ -644,7 +646,7 @@ scoped_ptr<ParseNode> Parser::ParseCondition() {
}
if (has_error())
return scoped_ptr<ParseNode>();
- return condition.Pass();
+ return std::move(condition);
}
void Parser::TraverseOrder(const ParseNode* root,
« no previous file with comments | « tools/gn/parse_tree_unittest.cc ('k') | tools/gn/scope.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698