Author: Valeriy Savchenko Date: 2020-06-16T13:30:01+03:00 New Revision: dc8a77de7db71dc52b0c75b3bb5437d9ae0ccc8c
URL: https://github.com/llvm/llvm-project/commit/dc8a77de7db71dc52b0c75b3bb5437d9ae0ccc8c DIFF: https://github.com/llvm/llvm-project/commit/dc8a77de7db71dc52b0c75b3bb5437d9ae0ccc8c.diff LOG: [analyzer] ProjectMap: Do not serialize fields with default values Differential Revision: https://reviews.llvm.org/D81568 Added: Modified: clang/utils/analyzer/ProjectMap.py Removed: ################################################################################ diff --git a/clang/utils/analyzer/ProjectMap.py b/clang/utils/analyzer/ProjectMap.py index 5b15e405d26c..62b7e48fde9b 100644 --- a/clang/utils/analyzer/ProjectMap.py +++ b/clang/utils/analyzer/ProjectMap.py @@ -118,4 +118,17 @@ def _save(projects: List[ProjectInfo], path: str): @staticmethod def _convert_infos_to_dicts(projects: List[ProjectInfo]) -> List[JSON]: - return [project._asdict() for project in projects] + return [ProjectMap._convert_info_to_dict(project) + for project in projects] + + @staticmethod + def _convert_info_to_dict(project: ProjectInfo) -> JSON: + whole_dict = project._asdict() + defaults = project._field_defaults + + # there is no need in serializing fields with default values + for field, default_value in defaults.items(): + if whole_dict[field] == default_value: + del whole_dict[field] + + return whole_dict _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits