| Index: tools/clang/plugins/FindBadConstructsConsumer.h
|
| diff --git a/tools/clang/plugins/FindBadConstructsConsumer.h b/tools/clang/plugins/FindBadConstructsConsumer.h
|
| index 8f8fc87046630911ac93ae59995da6d5c8ca8a68..62bf9cf0e6846e00658918ff07a9d41525e0c8b8 100644
|
| --- a/tools/clang/plugins/FindBadConstructsConsumer.h
|
| +++ b/tools/clang/plugins/FindBadConstructsConsumer.h
|
| @@ -20,6 +20,8 @@
|
| #ifndef TOOLS_CLANG_PLUGINS_FINDBADCONSTRUCTSCONSUMER_H_
|
| #define TOOLS_CLANG_PLUGINS_FINDBADCONSTRUCTSCONSUMER_H_
|
|
|
| +#include <memory>
|
| +
|
| #include "clang/AST/AST.h"
|
| #include "clang/AST/ASTConsumer.h"
|
| #include "clang/AST/Attr.h"
|
| @@ -29,6 +31,7 @@
|
| #include "clang/Basic/SourceManager.h"
|
| #include "clang/Basic/SourceLocation.h"
|
|
|
| +#include "CheckIPCVisitor.h"
|
| #include "ChromeClassTester.h"
|
| #include "Options.h"
|
| #include "SuppressibleDiagnosticBuilder.h"
|
| @@ -43,8 +46,13 @@ class FindBadConstructsConsumer
|
| FindBadConstructsConsumer(clang::CompilerInstance& instance,
|
| const Options& options);
|
|
|
| + void Traverse(clang::ASTContext& context);
|
| +
|
| // RecursiveASTVisitor:
|
| + bool TraverseDecl(clang::Decl* decl);
|
| bool VisitDecl(clang::Decl* decl);
|
| + bool VisitTemplateSpecializationType(clang::TemplateSpecializationType* spec);
|
| + bool VisitCallExpr(clang::CallExpr* call_expr);
|
|
|
| // ChromeClassTester overrides:
|
| void CheckChromeClass(clang::SourceLocation record_location,
|
| @@ -98,6 +106,8 @@ class FindBadConstructsConsumer
|
| void CheckWeakPtrFactoryMembers(clang::SourceLocation record_location,
|
| clang::CXXRecordDecl* record);
|
|
|
| + void ParseFunctionTemplates(clang::TranslationUnitDecl* decl);
|
| +
|
| unsigned diag_method_requires_override_;
|
| unsigned diag_redundant_virtual_specifier_;
|
| unsigned diag_base_method_virtual_and_final_;
|
| @@ -110,6 +120,8 @@ class FindBadConstructsConsumer
|
| unsigned diag_note_implicit_dtor_;
|
| unsigned diag_note_public_dtor_;
|
| unsigned diag_note_protected_non_virtual_dtor_;
|
| +
|
| + std::unique_ptr<CheckIPCVisitor> ipc_visitor_;
|
| };
|
|
|
| } // namespace chrome_checker
|
|
|