================
@@ -156,10 +156,18 @@ static void writeNameLink(const StringRef &CurrentPath, 
const Reference &R,
 
 static void genMarkdown(const ClangDocContext &CDCtx, const EnumInfo &I,
                         llvm::raw_ostream &OS) {
-  if (I.Scoped)
-    writeLine("| enum class " + I.Name + " |", OS);
-  else
-    writeLine("| enum " + I.Name + " |", OS);
+  std::string Header = "| enum ";
+  if(I.Scoped)
+    Header += "class ";
+  Header += I.Name;
+  Header += " ";
+  if(I.BaseType && I.BaseType->Type.QualName != "") {
+    Header += ": ";
+    Header += I.BaseType->Type.QualName;
+    Header += " ";
+  }
+  Header += "|";
+  writeLine(Header, OS);
----------------
ilovepi wrote:

I know we have `writeLine`, but this honestly seems like a more appropriate 
thing to use as stream operations. There's probably a complex way to write this 
as a set of Twine operations that's even better, but for simplicity lets just 
write these to the stream and call it a day. An alternative would be to use 
something like `llvm::formatv()` or one of its variants for a printf like 
interface.

Additionally, why check `string != ""` over `.empty()`? And just for the 
future, you don't need to put every string concatenation on its own line.

https://github.com/llvm/llvm-project/pull/181347
_______________________________________________
cfe-commits mailing list
[email protected]
https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to