1// Copyright (c) 2012 The Chromium Authors. All rights reserved. 2// Use of this source code is governed by a BSD-style license that can be 3// found in the LICENSE file. 4 5#ifndef TOOLS_CLANG_PLUGINS_FINDBADCONSTRUCTIONS_ACTION_H_ 6#define TOOLS_CLANG_PLUGINS_FINDBADCONSTRUCTIONS_ACTION_H_ 7 8#include "clang/Frontend/FrontendAction.h" 9 10#include "Options.h" 11 12namespace chrome_checker { 13 14class FindBadConstructsAction : public clang::PluginASTAction { 15 public: 16 FindBadConstructsAction(); 17 18 protected: 19 // Overridden from PluginASTAction: 20 virtual std::unique_ptr<clang::ASTConsumer> CreateASTConsumer( 21 clang::CompilerInstance& instance, 22 llvm::StringRef ref); 23 virtual bool ParseArgs(const clang::CompilerInstance& instance, 24 const std::vector<std::string>& args); 25 26 private: 27 Options options_; 28}; 29 30} // namespace chrome_checker 31 32#endif // TOOLS_CLANG_PLUGINS_FINDBADCONSTRUCTIONS_ACTION_H_ 33