Index: tools/clang/plugins/ChromeClassTester.cpp |
diff --git a/tools/clang/plugins/ChromeClassTester.cpp b/tools/clang/plugins/ChromeClassTester.cpp |
index 7336cc859e22b40ee4ffac188c4b519d5fc2e548..94e89f7a02d1812e05190fecc0359d3f3d05ad4e 100644 |
--- a/tools/clang/plugins/ChromeClassTester.cpp |
+++ b/tools/clang/plugins/ChromeClassTester.cpp |
@@ -93,6 +93,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); |
} |
} |
@@ -200,6 +210,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"); |
@@ -211,6 +224,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, |