[clang] [clang] improve print / dump of anonymous declarations (PR #124605)
Matheus Izvekov via cfe-commits
cfe-commits at lists.llvm.org
Mon Jan 27 10:46:14 PST 2025
================
@@ -875,7 +875,41 @@ void TextNodeDumper::dumpBareDeclRef(const Decl *D) {
if (const NamedDecl *ND = dyn_cast<NamedDecl>(D)) {
ColorScope Color(OS, ShowColors, DeclNameColor);
- OS << " '" << ND->getDeclName() << '\'';
+ if (DeclarationName Name = ND->getDeclName())
+ OS << " '" << Name << '\'';
+ else
+ switch (ND->getKind()) {
+ case Decl::Decomposition: {
+ auto *DD = cast<DecompositionDecl>(ND);
+ OS << " first_binding '" << DD->bindings()[0]->getDeclName() << '\'';
+ break;
+ }
+ case Decl::Field: {
+ auto *FD = cast<FieldDecl>(ND);
+ OS << " index " << FD->getFieldIndex();
----------------
mizvekov wrote:
It is at least a uniquely identifying property for the field within its parent declaration.
We could call it `field_index`, but since this is a field and there is only this index, it doesn't feel particularly confusing to me, otherwise do you mean confusing when quickly skimming over the AST dump?
https://github.com/llvm/llvm-project/pull/124605
More information about the cfe-commits
mailing list