Chromium Code Reviews| Index: tools/clang/value_cleanup/ListValueRewriter.h |
| diff --git a/tools/clang/value_cleanup/ListValueRewriter.h b/tools/clang/value_cleanup/ListValueRewriter.h |
| new file mode 100644 |
| index 0000000000000000000000000000000000000000..b264c81921d1f205a52abd1bdc13e9414e0c404e |
| --- /dev/null |
| +++ b/tools/clang/value_cleanup/ListValueRewriter.h |
| @@ -0,0 +1,80 @@ |
| +// Copyright 2016 The Chromium Authors. All rights reserved. |
| +// Use of this source code is governed by a BSD-style license that can be |
| +// found in the LICENSE file. |
| +// |
| +// Performs simple cleanups of base::ListValue API: |
|
danakj
2016/06/02 20:15:08
Do you really want to maintain 2 copies of this co
dcheng
2016/06/02 20:48:29
Ah. No, not really =)
I've removed it from the .c
|
| +// - base::ListValue::Append(new base::FundamentalValue(bool)) |
| +// => base::ListValue::AppendBoolean(...) |
| +// - base::ListValue::Append(new base::FundamentalValue(int)) |
| +// => base::ListValue::AppendInteger(...) |
| +// - base::ListValue::Append(new base::FundamentalValue(double)) |
| +// => base::ListValue::AppendDouble(...) |
| +// - base::ListValue::Append(new base::StringValue(...)) |
| +// => base::ListValue::AppendString(...) |
| + |
| +#ifndef TOOLS_CLANG_VALUE_CLEANUP_LIST_VALUE_REWRITER_H_ |
| +#define TOOLS_CLANG_VALUE_CLEANUP_LIST_VALUE_REWRITER_H_ |
| + |
| +#include <memory> |
| + |
| +#include "clang/ASTMatchers/ASTMatchFinder.h" |
| +#include "clang/Tooling/Refactoring.h" |
| + |
| +class ListValueRewriter { |
| + public: |
| + explicit ListValueRewriter(clang::tooling::Replacements* replacements); |
| + |
| + void RegisterMatchers(clang::ast_matchers::MatchFinder* match_finder); |
| + |
| + private: |
| + class AppendCallback |
| + : public clang::ast_matchers::MatchFinder::MatchCallback { |
| + public: |
| + explicit AppendCallback(clang::tooling::Replacements* replacements); |
| + |
| + void run( |
| + const clang::ast_matchers::MatchFinder::MatchResult& result) override; |
| + |
| + protected: |
| + clang::tooling::Replacements* const replacements_; |
| + }; |
| + |
| + class AppendBooleanCallback : public AppendCallback { |
| + public: |
| + explicit AppendBooleanCallback(clang::tooling::Replacements* replacements); |
| + |
| + void run( |
| + const clang::ast_matchers::MatchFinder::MatchResult& result) override; |
| + }; |
| + |
| + class AppendIntegerCallback : public AppendCallback { |
| + public: |
| + explicit AppendIntegerCallback(clang::tooling::Replacements* replacements); |
| + |
| + void run( |
| + const clang::ast_matchers::MatchFinder::MatchResult& result) override; |
| + }; |
| + |
| + class AppendDoubleCallback : public AppendCallback { |
| + public: |
| + explicit AppendDoubleCallback(clang::tooling::Replacements* replacements); |
| + |
| + void run( |
| + const clang::ast_matchers::MatchFinder::MatchResult& result) override; |
| + }; |
| + |
| + class AppendStringCallback : public AppendCallback { |
| + public: |
| + explicit AppendStringCallback(clang::tooling::Replacements* replacements); |
| + |
| + void run( |
| + const clang::ast_matchers::MatchFinder::MatchResult& result) override; |
| + }; |
| + |
| + AppendBooleanCallback append_boolean_callback_; |
| + AppendIntegerCallback append_integer_callback_; |
| + AppendDoubleCallback append_double_callback_; |
| + AppendStringCallback append_string_callback_; |
| +}; |
| + |
| +#endif // TOOLS_CLANG_VALUE_CLEANUP_LIST_VALUE_REWRITER_H_ |