[clang-tools-extra] Add check 'modernize-use-enum-class' (PR #138282)

Aaron Puchert via cfe-commits cfe-commits at lists.llvm.org
Mon May 5 07:50:08 PDT 2025


================
@@ -0,0 +1,34 @@
+//===--- UseEnumClassCheck.cpp - clang-tidy -------------------------------===//
+//
+// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions.
+// See https://llvm.org/LICENSE.txt for license information.
+// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception
+//
+//===----------------------------------------------------------------------===//
+
+#include "UseEnumClassCheck.h"
+#include "clang/ASTMatchers/ASTMatchFinder.h"
+
+using namespace clang::ast_matchers;
+
+namespace clang::tidy::modernize {
+
+void UseEnumClassCheck::registerMatchers(MatchFinder *Finder) {
+  Finder->addMatcher(
+      traverse(TK_AsIs,
----------------
aaronpuchert wrote:

I suggested this because implicit nodes don't matter here, and `AsIs` would then be the simpler option as it doesn't require a filter. I understood the policy as "use `UnlessSpelledInSource` if it simplifies the check", but you seem to suggest it should always be preferred, even if the filter isn't required?

https://github.com/llvm/llvm-project/pull/138282


More information about the cfe-commits mailing list