aboutsummaryrefslogtreecommitdiff
path: root/clang-tools-extra/clang-doc/BitcodeReader.cpp
diff options
context:
space:
mode:
authorSamarth Narang <70980689+snarang181@users.noreply.github.com>2025-06-07 11:04:56 -0400
committerGitHub <noreply@github.com>2025-06-07 08:04:56 -0700
commitd5704097fcc2128bb8c97867e090543024a936d0 (patch)
tree9447a7232b8b82cd39b013282e9a2bd4ac088f0e /clang-tools-extra/clang-doc/BitcodeReader.cpp
parent0e2103ac5c7c62341b499dc2fb402715ccdf9021 (diff)
downloadllvm-d5704097fcc2128bb8c97867e090543024a936d0.zip
llvm-d5704097fcc2128bb8c97867e090543024a936d0.tar.gz
llvm-d5704097fcc2128bb8c97867e090543024a936d0.tar.bz2
Refactor clang doc comment structure (#142273)
This patch refactors CommentKind handling in clang-doc by introducing a strongly typed enum class for better type safety and clarity. It updates all relevant places, including YAML traits and serialization, to work with the new enum. Additionally, it enhances the Mustache-based HTML generation by fully supporting all comment kinds, ensuring accurate structured rendering of comment blocks. The changes simplify future maintenance, improve robustness by eliminating unchecked defaults, and ensure consistency between generators. Fixes https://github.com/llvm/llvm-project/issues/142083
Diffstat (limited to 'clang-tools-extra/clang-doc/BitcodeReader.cpp')
-rw-r--r--clang-tools-extra/clang-doc/BitcodeReader.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/clang-tools-extra/clang-doc/BitcodeReader.cpp b/clang-tools-extra/clang-doc/BitcodeReader.cpp
index 546dd02..57dd514 100644
--- a/clang-tools-extra/clang-doc/BitcodeReader.cpp
+++ b/clang-tools-extra/clang-doc/BitcodeReader.cpp
@@ -315,9 +315,13 @@ static llvm::Error parseRecord(const Record &R, unsigned ID,
static llvm::Error parseRecord(const Record &R, unsigned ID,
llvm::StringRef Blob, CommentInfo *I) {
+ llvm::SmallString<16> KindStr;
switch (ID) {
case COMMENT_KIND:
- return decodeRecord(R, I->Kind, Blob);
+ if (llvm::Error Err = decodeRecord(R, KindStr, Blob))
+ return Err;
+ I->Kind = stringToCommentKind(KindStr);
+ return llvm::Error::success();
case COMMENT_TEXT:
return decodeRecord(R, I->Text, Blob);
case COMMENT_NAME: