1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- // Copyright 2017 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.
- //
- // Handles the rewriting of base::Value::GetType() to base::Value::type().
- #ifndef TOOLS_CLANG_VALUE_CLEANUP_VALUE_REWRITER_H_
- #define TOOLS_CLANG_VALUE_CLEANUP_VALUE_REWRITER_H_
- #include <set>
- #include <string>
- #include <utility>
- #include <vector>
- #include "clang/ASTMatchers/ASTMatchFinder.h"
- #include "clang/Tooling/Refactoring.h"
- class ValueRewriter {
- public:
- explicit ValueRewriter(std::set<clang::tooling::Replacement>* replacements);
- void RegisterMatchers(clang::ast_matchers::MatchFinder* match_finder);
- private:
- class ListValueCallback
- : public clang::ast_matchers::MatchFinder::MatchCallback {
- public:
- ListValueCallback(std::string method,
- std::string replacement,
- std::set<clang::tooling::Replacement>* replacements);
- void run(
- const clang::ast_matchers::MatchFinder::MatchResult& result) override;
- const std::string& method() const { return method_; }
- const std::string& replacement() const { return replacement_; }
- private:
- const std::string method_;
- const std::string replacement_;
- std::set<clang::tooling::Replacement>* const replacements_;
- };
- std::vector<ListValueCallback> list_value_callbacks_;
- };
- #endif // TOOLS_CLANG_VALUE_CLEANUP_VALUE_REWRITER_H_
|