[clang] [clang][SSAF][NFC] Add `HasSummaryName_v` convenience alias to match `HasAnalysisName_v` (PR #193054)

via cfe-commits cfe-commits at lists.llvm.org
Mon Apr 20 11:53:57 PDT 2026


llvmbot wrote:


<!--LLVM PR SUMMARY COMMENT-->

@llvm/pr-subscribers-clang-ssaf

Author: Aviral Goel (aviralg)

<details>
<summary>Changes</summary>



---
Full diff: https://github.com/llvm/llvm-project/pull/193054.diff


3 Files Affected:

- (modified) clang/include/clang/ScalableStaticAnalysisFramework/Core/SummaryData/SummaryDataBuilder.h (+1-1) 
- (modified) clang/include/clang/ScalableStaticAnalysisFramework/Core/SummaryData/SummaryDataStore.h (+3-3) 
- (modified) clang/include/clang/ScalableStaticAnalysisFramework/Core/SummaryData/SummaryDataTraits.h (+3) 


``````````diff
diff --git a/clang/include/clang/ScalableStaticAnalysisFramework/Core/SummaryData/SummaryDataBuilder.h b/clang/include/clang/ScalableStaticAnalysisFramework/Core/SummaryData/SummaryDataBuilder.h
index 271775674d86f..343e98d46ce39 100644
--- a/clang/include/clang/ScalableStaticAnalysisFramework/Core/SummaryData/SummaryDataBuilder.h
+++ b/clang/include/clang/ScalableStaticAnalysisFramework/Core/SummaryData/SummaryDataBuilder.h
@@ -60,7 +60,7 @@ template <typename DataT, typename SummaryT>
 class SummaryDataBuilder : public SummaryDataBuilderBase {
   static_assert(std::is_base_of_v<SummaryData, DataT>,
                 "DataT must derive from SummaryData");
-  static_assert(HasSummaryName<DataT>::value,
+  static_assert(HasSummaryName_v<DataT>,
                 "DataT must have a static summaryName() method");
   static_assert(std::is_base_of_v<EntitySummary, SummaryT>,
                 "SummaryT must derive from EntitySummary");
diff --git a/clang/include/clang/ScalableStaticAnalysisFramework/Core/SummaryData/SummaryDataStore.h b/clang/include/clang/ScalableStaticAnalysisFramework/Core/SummaryData/SummaryDataStore.h
index 2d20696c65cf3..3261085f8d5a2 100644
--- a/clang/include/clang/ScalableStaticAnalysisFramework/Core/SummaryData/SummaryDataStore.h
+++ b/clang/include/clang/ScalableStaticAnalysisFramework/Core/SummaryData/SummaryDataStore.h
@@ -43,7 +43,7 @@ class SummaryDataStore {
   template <typename DataT> [[nodiscard]] bool contains() const {
     static_assert(std::is_base_of_v<SummaryData, DataT>,
                   "DataT must derive from SummaryData");
-    static_assert(HasSummaryName<DataT>::value,
+    static_assert(HasSummaryName_v<DataT>,
                   "DataT must have a static summaryName() method");
 
     return contains(DataT::summaryName());
@@ -54,7 +54,7 @@ class SummaryDataStore {
   template <typename DataT> [[nodiscard]] llvm::Expected<DataT &> get() {
     static_assert(std::is_base_of_v<SummaryData, DataT>,
                   "DataT must derive from SummaryData");
-    static_assert(HasSummaryName<DataT>::value,
+    static_assert(HasSummaryName_v<DataT>,
                   "DataT must have a static summaryName() method");
 
     auto Result = get(DataT::summaryName());
@@ -83,7 +83,7 @@ class SummaryDataStore {
   [[nodiscard]] llvm::Expected<std::unique_ptr<DataT>> take() {
     static_assert(std::is_base_of_v<SummaryData, DataT>,
                   "DataT must derive from SummaryData");
-    static_assert(HasSummaryName<DataT>::value,
+    static_assert(HasSummaryName_v<DataT>,
                   "DataT must have a static summaryName() method");
 
     auto Result = take(DataT::summaryName());
diff --git a/clang/include/clang/ScalableStaticAnalysisFramework/Core/SummaryData/SummaryDataTraits.h b/clang/include/clang/ScalableStaticAnalysisFramework/Core/SummaryData/SummaryDataTraits.h
index 81907bdbfd057..c6bf6b6fcd4bb 100644
--- a/clang/include/clang/ScalableStaticAnalysisFramework/Core/SummaryData/SummaryDataTraits.h
+++ b/clang/include/clang/ScalableStaticAnalysisFramework/Core/SummaryData/SummaryDataTraits.h
@@ -33,6 +33,9 @@ template <typename T>
 struct HasSummaryName<T, std::void_t<decltype(T::summaryName())>>
     : std::is_same<decltype(T::summaryName()), SummaryName> {};
 
+template <typename T>
+inline constexpr bool HasSummaryName_v = HasSummaryName<T>::value;
+
 } // namespace clang::ssaf
 
 #endif // LLVM_CLANG_SCALABLESTATICANALYSISFRAMEWORK_CORE_SUMMARYDATA_SUMMARYDATATRAITS_H

``````````

</details>


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


More information about the cfe-commits mailing list