[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