message: indexer: add name for anonymous Enum
diff: @@ -947,11 +947,12 @@ public:
  }
  }
  [[fallthrough]];
  + case Decl::Enum:
  case Decl::Record:
  - if (auto *rd = dyn_cast<RecordDecl>(d)) {
  + if (auto *tag_d = dyn_cast<TagDecl>(d)) {
  if (type->def.detailed_name[0] == '\0' && info->short_name.empty()) {
  StringRef tag;
  - switch (rd->getTagKind()) {
  + switch (tag_d->getTagKind()) {
  case TTK_Struct:
  tag = "struct";
  break;
  @@ -968,7 +969,7 @@ public:
  tag = "enum";
  break;
  }
  - if (TypedefNameDecl *td = rd->getTypedefNameForAnonDecl()) {
  + if (TypedefNameDecl *td = tag_d->getTypedefNameForAnonDecl()) {
  StringRef name = td->getName();
  std::string detailed = ("anon " + tag + " " + name).str();
  type->def.detailed_name = intern(detailed);
  @@ -979,7 +980,7 @@ public:
  type->def.short_name_size = name.size();
  }
  }
  - if (is_def)
  + if (is_def && !isa<EnumDecl>(d))
  if (auto *ord = dyn_cast<RecordDecl>(origD))
  collectRecordMembers(*type, ord);
  }
  