[all-commits] [llvm/llvm-project] d0a544: [clang][ssaf] Add `JSONFormat` support for `WPASui...
Aviral Goel via All-commits
all-commits at lists.llvm.org
Wed Apr 8 20:05:40 PDT 2026
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: d0a54493b3e95c3126fccfbbf08db9abbe2b1d01
https://github.com/llvm/llvm-project/commit/d0a54493b3e95c3126fccfbbf08db9abbe2b1d01
Author: Aviral Goel <aviralg at users.noreply.github.com>
Date: 2026-04-08 (Wed, 08 Apr 2026)
Changed paths:
M clang/include/clang/ScalableStaticAnalysisFramework/Core/Model/PrivateFieldNames.def
M clang/include/clang/ScalableStaticAnalysisFramework/Core/Serialization/JSONFormat.h
M clang/include/clang/ScalableStaticAnalysisFramework/Core/Serialization/SerializationFormat.h
M clang/include/clang/ScalableStaticAnalysisFramework/Core/WholeProgramAnalysis/DerivedAnalysis.h
M clang/include/clang/ScalableStaticAnalysisFramework/Core/WholeProgramAnalysis/WPASuite.h
M clang/lib/ScalableStaticAnalysisFramework/CMakeLists.txt
M clang/lib/ScalableStaticAnalysisFramework/Core/CMakeLists.txt
M clang/lib/ScalableStaticAnalysisFramework/Core/Serialization/JSONFormat/JSONFormatImpl.cpp
M clang/lib/ScalableStaticAnalysisFramework/Core/Serialization/JSONFormat/JSONFormatImpl.h
A clang/lib/ScalableStaticAnalysisFramework/Core/Serialization/JSONFormat/WPASuite.cpp
A clang/lib/ScalableStaticAnalysisFramework/Plugins/CMakeLists.txt
A clang/lib/ScalableStaticAnalysisFramework/Plugins/ExamplePlugin/AnalysisResults.h
A clang/lib/ScalableStaticAnalysisFramework/Plugins/ExamplePlugin/CMakeLists.txt
A clang/lib/ScalableStaticAnalysisFramework/Plugins/ExamplePlugin/PairsAnalysis.cpp
A clang/lib/ScalableStaticAnalysisFramework/Plugins/ExamplePlugin/TagsAnalysis.cpp
A clang/lib/ScalableStaticAnalysisFramework/Plugins/ExamplePlugin/TagsPairsAnalysis.cpp
A clang/test/Analysis/Scalable/ssaf-format/WPASuite/Inputs/duplicate-analysis-name.json
A clang/test/Analysis/Scalable/ssaf-format/WPASuite/Inputs/missing-results.json
A clang/test/Analysis/Scalable/ssaf-format/WPASuite/Inputs/pairs-result-bad-count.json
A clang/test/Analysis/Scalable/ssaf-format/WPASuite/Inputs/pairs-result-bad-pair-counts.json
A clang/test/Analysis/Scalable/ssaf-format/WPASuite/Inputs/pairs-result-entry-not-object.json
A clang/test/Analysis/Scalable/ssaf-format/WPASuite/Inputs/pairs-result-missing-entity-id.json
A clang/test/Analysis/Scalable/ssaf-format/WPASuite/Inputs/result-entry-analysis-name-not-string.json
A clang/test/Analysis/Scalable/ssaf-format/WPASuite/Inputs/result-entry-deserializer-error.json
A clang/test/Analysis/Scalable/ssaf-format/WPASuite/Inputs/result-entry-missing-analysis-name.json
A clang/test/Analysis/Scalable/ssaf-format/WPASuite/Inputs/result-entry-missing-result-field.json
A clang/test/Analysis/Scalable/ssaf-format/WPASuite/Inputs/result-entry-no-format-info.json
A clang/test/Analysis/Scalable/ssaf-format/WPASuite/Inputs/result-entry-not-object.json
A clang/test/Analysis/Scalable/ssaf-format/WPASuite/Inputs/result-entry-result-not-object.json
A clang/test/Analysis/Scalable/ssaf-format/WPASuite/Inputs/results-not-array.json
A clang/test/Analysis/Scalable/ssaf-format/WPASuite/Inputs/rt-all-results.json
A clang/test/Analysis/Scalable/ssaf-format/WPASuite/Inputs/rt-empty.json
A clang/test/Analysis/Scalable/ssaf-format/WPASuite/Inputs/rt-multiple-results.json
A clang/test/Analysis/Scalable/ssaf-format/WPASuite/Inputs/tags-result-bad-element.json
A clang/test/Analysis/Scalable/ssaf-format/WPASuite/Inputs/tags-result-missing-tags.json
A clang/test/Analysis/Scalable/ssaf-format/WPASuite/Inputs/tagspairs-result-bad-field-type.json
A clang/test/Analysis/Scalable/ssaf-format/WPASuite/Inputs/tagspairs-result-missing-field.json
A clang/test/Analysis/Scalable/ssaf-format/WPASuite/with-plugin.test
A clang/test/Analysis/Scalable/ssaf-format/WPASuite/without-plugin.test
A clang/test/Analysis/Scalable/ssaf-format/lit.local.cfg
M clang/test/CMakeLists.txt
M clang/tools/clang-ssaf-format/CMakeLists.txt
M clang/tools/clang-ssaf-format/SSAFFormat.cpp
M clang/unittests/ScalableStaticAnalysisFramework/Frontend/TUSummaryExtractorFrontendActionTest.cpp
M clang/unittests/ScalableStaticAnalysisFramework/Registries/MockSerializationFormat.cpp
M clang/unittests/ScalableStaticAnalysisFramework/Registries/MockSerializationFormat.h
M clang/unittests/ScalableStaticAnalysisFramework/TestFixture.h
Log Message:
-----------
[clang][ssaf] Add `JSONFormat` support for `WPASuite` (#191082)
This patch adds `JSONFormat` serialization support for `WPASuite`.
- Adds `readWPASuite` / `writeWPASuite` to the `SerializationFormat`
abstract interface and implements them in `JSONFormat`.
- Introduces `AnalysisResultRegistryGenerator`, a per-format plugin
registry template in `SerializationFormat`, allowing analysis authors to
register (de)serializers for their `AnalysisResult` subtypes with a
single static declaration.
- Extends `PrivateFieldNames.def` with `WPASuite::Data` and
`WPASuite::IdTable`, and adds a `makeWPASuite()` factory to
`SerializationFormat`, so deserialization code can construct a
`WPASuite` incrementally through the same access-controlled pattern used
for all other SSAF data structures.
To unsubscribe from these emails, change your notification settings at https://github.com/llvm/llvm-project/settings/notifications
More information about the All-commits
mailing list