[clang] [analyzer] Add std::any checker (PR #76580)

via cfe-commits cfe-commits at lists.llvm.org
Wed Jan 3 09:27:20 PST 2024


=?utf-8?q?Gábor?= Spaits,=?utf-8?q?Gábor?= Spaits,
=?utf-8?q?Gábor?= Spaits,=?utf-8?q?Gábor?= Spaits,
=?utf-8?q?Gábor?= Spaits
Message-ID:
In-Reply-To: <llvm.org/llvm/llvm-project/pull/76580 at github.com>


================
@@ -87,6 +85,28 @@ bool isStdVariant(const Type *Type) {
   return isStdType(Type, llvm::StringLiteral("variant"));
 }
 
+bool isStdAny(const Type *Type) {
+  return isStdType(Type, llvm::StringLiteral("any"));
+}
+
+bool isVowel(char a) {
+  switch (a) {
+  case 'a':
+  case 'e':
+  case 'i':
+  case 'o':
+  case 'u':
+    return true;
+  default:
+    return false;
+  }
+}
+
+llvm::StringRef indefiniteArticleBasedOnVowel(char a) {
+  if (isVowel(a))
+    return "an";
+  return "a";
+}
----------------
whisperity wrote:

> I think that the length / verbosity of the messages is an important factor, so we shouldn't insert meaningless words just to simplify the code.

Actually, I believe @DonatNagyE is right. There isn't much issue in saying `std::any contained 'Union'`. No real need for articles here.

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


More information about the cfe-commits mailing list