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