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

Unified Diff: tools/gn/parse_tree.h

Issue 1869503004: Convert //tools to use std::unique_ptr (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: rebase, change iwyu fixes for converted directories to include <memory> Created 4 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 | « tools/gn/operators_unittest.cc ('k') | tools/gn/parse_tree_unittest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: tools/gn/parse_tree.h
diff --git a/tools/gn/parse_tree.h b/tools/gn/parse_tree.h
index 6693bbd197e2e157e1086713cb4319eb1e5c78dc..28537992068d1809abdb2643884e1ef3e2a284be 100644
--- a/tools/gn/parse_tree.h
+++ b/tools/gn/parse_tree.h
@@ -6,11 +6,12 @@
#define TOOLS_GN_PARSE_TREE_H_
#include <stddef.h>
+
+#include <memory>
#include <utility>
#include <vector>
#include "base/macros.h"
-#include "base/memory/scoped_ptr.h"
#include "tools/gn/err.h"
#include "tools/gn/token.h"
#include "tools/gn/value.h"
@@ -100,7 +101,7 @@ class ParseNode {
void PrintComments(std::ostream& out, int indent) const;
private:
- scoped_ptr<Comments> comments_;
+ std::unique_ptr<Comments> comments_;
DISALLOW_COPY_AND_ASSIGN(ParseNode);
};
@@ -150,12 +151,12 @@ class AccessorNode : public ParseNode {
// Index is the expression inside the []. Will be null if member is set.
const ParseNode* index() const { return index_.get(); }
- void set_index(scoped_ptr<ParseNode> i) { index_ = std::move(i); }
+ void set_index(std::unique_ptr<ParseNode> i) { index_ = std::move(i); }
// The member is the identifier on the right hand side of the dot. Will be
// null if the index is set.
const IdentifierNode* member() const { return member_.get(); }
- void set_member(scoped_ptr<IdentifierNode> i) { member_ = std::move(i); }
+ void set_member(std::unique_ptr<IdentifierNode> i) { member_ = std::move(i); }
void SetNewLocation(int line_number);
@@ -167,8 +168,8 @@ class AccessorNode : public ParseNode {
// Either index or member will be set according to what type of access this
// is.
- scoped_ptr<ParseNode> index_;
- scoped_ptr<IdentifierNode> member_;
+ std::unique_ptr<ParseNode> index_;
+ std::unique_ptr<IdentifierNode> member_;
DISALLOW_COPY_AND_ASSIGN(AccessorNode);
};
@@ -192,15 +193,17 @@ class BinaryOpNode : public ParseNode {
void set_op(const Token& t) { op_ = t; }
const ParseNode* left() const { return left_.get(); }
- void set_left(scoped_ptr<ParseNode> left) { left_ = std::move(left); }
+ void set_left(std::unique_ptr<ParseNode> left) { left_ = std::move(left); }
const ParseNode* right() const { return right_.get(); }
- void set_right(scoped_ptr<ParseNode> right) { right_ = std::move(right); }
+ void set_right(std::unique_ptr<ParseNode> right) {
+ right_ = std::move(right);
+ }
private:
- scoped_ptr<ParseNode> left_;
+ std::unique_ptr<ParseNode> left_;
Token op_;
- scoped_ptr<ParseNode> right_;
+ std::unique_ptr<ParseNode> right_;
DISALLOW_COPY_AND_ASSIGN(BinaryOpNode);
};
@@ -221,11 +224,11 @@ class BlockNode : public ParseNode {
void Print(std::ostream& out, int indent) const override;
void set_begin_token(const Token& t) { begin_token_ = t; }
- void set_end(scoped_ptr<EndNode> e) { end_ = std::move(e); }
+ void set_end(std::unique_ptr<EndNode> e) { end_ = std::move(e); }
const EndNode* End() const { return end_.get(); }
const std::vector<ParseNode*>& statements() const { return statements_; }
- void append_statement(scoped_ptr<ParseNode> s) {
+ void append_statement(std::unique_ptr<ParseNode> s) {
statements_.push_back(s.release());
}
@@ -233,7 +236,7 @@ class BlockNode : public ParseNode {
// Tokens corresponding to { and }, if any (may be NULL). The end is stored
// in a custom parse node so that it can have comments hung off of it.
Token begin_token_;
- scoped_ptr<EndNode> end_;
+ std::unique_ptr<EndNode> end_;
// Owning pointers, use unique_ptr when we can use C++11.
std::vector<ParseNode*> statements_;
@@ -259,23 +262,25 @@ class ConditionNode : public ParseNode {
void set_if_token(const Token& token) { if_token_ = token; }
const ParseNode* condition() const { return condition_.get(); }
- void set_condition(scoped_ptr<ParseNode> c) { condition_ = std::move(c); }
+ void set_condition(std::unique_ptr<ParseNode> c) {
+ condition_ = std::move(c);
+ }
const BlockNode* if_true() const { return if_true_.get(); }
- void set_if_true(scoped_ptr<BlockNode> t) { if_true_ = std::move(t); }
+ void set_if_true(std::unique_ptr<BlockNode> t) { if_true_ = std::move(t); }
// This is either empty, a block (for the else clause), or another
// condition.
const ParseNode* if_false() const { return if_false_.get(); }
- void set_if_false(scoped_ptr<ParseNode> f) { if_false_ = std::move(f); }
+ void set_if_false(std::unique_ptr<ParseNode> f) { if_false_ = std::move(f); }
private:
// Token corresponding to the "if" string.
Token if_token_;
- scoped_ptr<ParseNode> condition_; // Always non-null.
- scoped_ptr<BlockNode> if_true_; // Always non-null.
- scoped_ptr<ParseNode> if_false_; // May be null.
+ std::unique_ptr<ParseNode> condition_; // Always non-null.
+ std::unique_ptr<BlockNode> if_true_; // Always non-null.
+ std::unique_ptr<ParseNode> if_false_; // May be null.
DISALLOW_COPY_AND_ASSIGN(ConditionNode);
};
@@ -299,15 +304,15 @@ class FunctionCallNode : public ParseNode {
void set_function(Token t) { function_ = t; }
const ListNode* args() const { return args_.get(); }
- void set_args(scoped_ptr<ListNode> a) { args_ = std::move(a); }
+ void set_args(std::unique_ptr<ListNode> a) { args_ = std::move(a); }
const BlockNode* block() const { return block_.get(); }
- void set_block(scoped_ptr<BlockNode> b) { block_ = std::move(b); }
+ void set_block(std::unique_ptr<BlockNode> b) { block_ = std::move(b); }
private:
Token function_;
- scoped_ptr<ListNode> args_;
- scoped_ptr<BlockNode> block_; // May be null.
+ std::unique_ptr<ListNode> args_;
+ std::unique_ptr<BlockNode> block_; // May be null.
DISALLOW_COPY_AND_ASSIGN(FunctionCallNode);
};
@@ -355,10 +360,10 @@ class ListNode : public ParseNode {
void Print(std::ostream& out, int indent) const override;
void set_begin_token(const Token& t) { begin_token_ = t; }
- void set_end(scoped_ptr<EndNode> e) { end_ = std::move(e); }
+ void set_end(std::unique_ptr<EndNode> e) { end_ = std::move(e); }
const EndNode* End() const { return end_.get(); }
- void append_item(scoped_ptr<ParseNode> s) {
+ void append_item(std::unique_ptr<ParseNode> s) {
contents_.push_back(s.release());
}
const std::vector<const ParseNode*>& contents() const { return contents_; }
@@ -389,7 +394,7 @@ class ListNode : public ParseNode {
// Tokens corresponding to the [ and ]. The end token is stored in inside an
// custom parse node so that it can have comments hung off of it.
Token begin_token_;
- scoped_ptr<EndNode> end_;
+ std::unique_ptr<EndNode> end_;
bool prefer_multiline_;
// Owning pointers, use unique_ptr when we can use C++11.
@@ -444,13 +449,13 @@ class UnaryOpNode : public ParseNode {
void set_op(const Token& t) { op_ = t; }
const ParseNode* operand() const { return operand_.get(); }
- void set_operand(scoped_ptr<ParseNode> operand) {
+ void set_operand(std::unique_ptr<ParseNode> operand) {
operand_ = std::move(operand);
}
private:
Token op_;
- scoped_ptr<ParseNode> operand_;
+ std::unique_ptr<ParseNode> operand_;
DISALLOW_COPY_AND_ASSIGN(UnaryOpNode);
};
« no previous file with comments | « tools/gn/operators_unittest.cc ('k') | tools/gn/parse_tree_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698