Index: tools/clang/plugins/ChromeClassTester.cpp |
diff --git a/tools/clang/plugins/ChromeClassTester.cpp b/tools/clang/plugins/ChromeClassTester.cpp |
index e788c15c0e10a9a554a531ab7fcdb7a93b4e47a2..5ce04e557f37ba1eadae7e4e41a7520da4203cd9 100644 |
--- a/tools/clang/plugins/ChromeClassTester.cpp |
+++ b/tools/clang/plugins/ChromeClassTester.cpp |
@@ -91,6 +91,16 @@ void ChromeClassTester::CheckTag(TagDecl* tag) { |
return; |
CheckChromeClass(record_location, record); |
+ } else if (EnumDecl* enum_decl = dyn_cast<EnumDecl>(tag)) { |
+ SourceLocation enum_location = enum_decl->getInnerLocStart(); |
+ if (InBannedDirectory(enum_location)) |
+ return; |
+ |
+ std::string base_name = enum_decl->getNameAsString(); |
+ if (IsIgnoredType(base_name)) |
+ return; |
+ |
+ CheckChromeEnum(enum_location, enum_decl); |
} |
} |
@@ -195,6 +205,9 @@ void ChromeClassTester::BuildBannedLists() { |
// non-pod class member. Probably harmless. |
ignored_record_names_.insert("MockTransaction"); |
+ // Enum type with _LAST members where _LAST doesn't mean last enum value. |
+ ignored_record_names_.insert("ServerFieldType"); |
+ |
// Used heavily in ui_unittests and once in views_unittests. Fixing this |
// isn't worth the overhead of an additional library. |
ignored_record_names_.insert("TestAnimationDelegate"); |
@@ -206,6 +219,9 @@ void ChromeClassTester::BuildBannedLists() { |
// Measured performance improvement on cc_perftests. See |
// https://codereview.chromium.org/11299290/ |
ignored_record_names_.insert("QuadF"); |
+ |
+ // Enum type with _LAST members where _LAST doesn't mean last enum value. |
+ ignored_record_names_.insert("ViewID"); |
} |
std::string ChromeClassTester::GetNamespaceImpl(const DeclContext* context, |