[clang-tools-extra] [clang-doc] Introduce Serializer class (PR #184873)

Paul Kirth via cfe-commits cfe-commits at lists.llvm.org
Fri Mar 6 18:08:16 PST 2026


================
@@ -33,54 +33,156 @@ namespace serialize {
 // EnumDecl, FunctionDecl and CXXMethodDecl; they are only returned wrapped in
 // its parent scope. For NamespaceDecl and RecordDecl both elements are not
 // nullptr.
-std::pair<OwnedPtr<Info>, OwnedPtr<Info>> emitInfo(const NamespaceDecl *D,
-                                                   const FullComment *FC,
-                                                   Location Loc,
-                                                   bool PublicOnly);
-
-std::pair<OwnedPtr<Info>, OwnedPtr<Info>> emitInfo(const RecordDecl *D,
-                                                   const FullComment *FC,
-                                                   Location Loc,
-                                                   bool PublicOnly);
-
-std::pair<OwnedPtr<Info>, OwnedPtr<Info>> emitInfo(const EnumDecl *D,
-                                                   const FullComment *FC,
-                                                   Location Loc,
-                                                   bool PublicOnly);
-
-std::pair<OwnedPtr<Info>, OwnedPtr<Info>> emitInfo(const FunctionDecl *D,
-                                                   const FullComment *FC,
-                                                   Location Loc,
-                                                   bool PublicOnly);
-
-std::pair<OwnedPtr<Info>, OwnedPtr<Info>>
-emitInfo(const VarDecl *D, const FullComment *FC, int LineNumber,
-         StringRef File, bool IsFileInRootDir, bool PublicOnly);
-
-std::pair<OwnedPtr<Info>, OwnedPtr<Info>> emitInfo(const CXXMethodDecl *D,
-                                                   const FullComment *FC,
-                                                   Location Loc,
-                                                   bool PublicOnly);
-
-std::pair<OwnedPtr<Info>, OwnedPtr<Info>> emitInfo(const TypedefDecl *D,
-                                                   const FullComment *FC,
-                                                   Location Loc,
-                                                   bool PublicOnly);
-
-std::pair<OwnedPtr<Info>, OwnedPtr<Info>> emitInfo(const TypeAliasDecl *D,
-                                                   const FullComment *FC,
-                                                   Location Loc,
-                                                   bool PublicOnly);
-
-std::pair<OwnedPtr<Info>, OwnedPtr<Info>> emitInfo(const ConceptDecl *D,
-                                                   const FullComment *FC,
-                                                   const Location &Loc,
-                                                   bool PublicOnly);
-
-std::pair<OwnedPtr<Info>, OwnedPtr<Info>> emitInfo(const VarDecl *D,
-                                                   const FullComment *FC,
-                                                   const Location &Loc,
-                                                   bool PublicOnly);
+class ClangDocSerializer {
----------------
ilovepi wrote:

Good point. Done.

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


More information about the cfe-commits mailing list