reference, declarationdefinition
definition → references, declarations, derived classes, virtual overrides
reference to multiple definitions → definitions
unreferenced

Derived Classes

tools/clang/include/clang/AST/Decl.h
 3402 class EnumDecl : public TagDecl {
 3669 class RecordDecl : public TagDecl {

Declarations

gen/tools/clang/include/clang/AST/DeclNodes.inc
  243 ABSTRACT_DECL(TAG(Tag, TypeDecl))
tools/clang/include/clang/AST/ASTConsumer.h
   25   class TagDecl;
tools/clang/include/clang/AST/ASTImporter.h
   46 class TagDecl;
tools/clang/include/clang/AST/ASTMutationListener.h
   37   class TagDecl;
tools/clang/include/clang/AST/CanonicalType.h
   39 class TagDecl;
tools/clang/include/clang/AST/Decl.h
   71 class TagDecl;
tools/clang/include/clang/AST/ExternalASTSource.h
   53 class TagDecl;
tools/clang/include/clang/AST/MangleNumberingContext.h
   25 class TagDecl;
tools/clang/include/clang/AST/PrettyPrinter.h
   24 class TagDecl;
tools/clang/include/clang/AST/Type.h
   61 class TagDecl;
  117 class TagDecl;
tools/clang/include/clang/Sema/Template.h
   40 class TagDecl;
tools/clang/lib/CodeGen/CodeGenTypes.h
   44 class TagDecl;
tools/clang/lib/Index/IndexingContext.h
   24   class TagDecl;
tools/lldb/include/lldb/Core/ClangForward.h
  106 class TagDecl;
tools/lldb/include/lldb/Symbol/ClangUtil.h
   19 class TagDecl;
tools/lldb/source/Plugins/SymbolFile/NativePDB/PdbAstBuilder.h
   21 class TagDecl;
tools/lldb/source/Plugins/SymbolFile/NativePDB/SymbolFileNativePDB.h
   23 class TagDecl;
tools/lldb/source/Plugins/SymbolFile/NativePDB/UdtRecordCompleter.h
   22 class TagDecl;

References

include/llvm/ADT/DenseMapInfo.h
   39   static inline T* getEmptyKey() {
   41     Val <<= PointerLikeTypeTraits<T*>::NumLowBitsAvailable;
   45   static inline T* getTombstoneKey() {
   47     Val <<= PointerLikeTypeTraits<T*>::NumLowBitsAvailable;
   51   static unsigned getHashValue(const T *PtrVal) {
   56   static bool isEqual(const T *LHS, const T *RHS) { return LHS == RHS; }
   56   static bool isEqual(const T *LHS, const T *RHS) { return LHS == RHS; }
include/llvm/ADT/STLExtras.h
   75       typename std::add_pointer<typename std::add_const<T>::type>::type;
include/llvm/Support/Casting.h
   57   static inline bool doit(const From &Val) {
   58     return To::classof(&Val);
   66   static inline bool doit(const From &) { return true; }
  104   static inline bool doit(const From *Val) {
  106     return isa_impl<To, From>::doit(*Val);
  106     return isa_impl<To, From>::doit(*Val);
  122     return isa_impl_wrap<To, SimpleFrom,
  132     return isa_impl_cl<To,FromTy>::doit(Val);
  142   return isa_impl_wrap<X, const Y,
  172   using ret_type = To *;       // Pointer arg case, return Ty*
  176   using ret_type = const To *; // Constant pointer arg case, return const Ty*
  198   using ret_type = typename cast_retty<To, SimpleFrom>::ret_type;
  204   using ret_type = typename cast_retty_impl<To,FromTy>::ret_type;
  210       To, From, typename simplify_type<From>::SimpleType>::ret_type;
  227   static typename cast_retty<To, FromTy>::ret_type doit(const FromTy &Val) {
  228     typename cast_retty<To, FromTy>::ret_type Res2
  256 inline typename cast_retty<X, Y>::ret_type cast(Y &Val) {
  263 inline typename cast_retty<X, Y *>::ret_type cast(Y *Val) {
  263 inline typename cast_retty<X, Y *>::ret_type cast(Y *Val) {
  263 inline typename cast_retty<X, Y *>::ret_type cast(Y *Val) {
  265   return cast_convert_val<X, Y*,
  265   return cast_convert_val<X, Y*,
  266                           typename simplify_type<Y*>::SimpleType>::doit(Val);
  305 LLVM_NODISCARD inline typename cast_retty<X, Y *>::ret_type
  305 LLVM_NODISCARD inline typename cast_retty<X, Y *>::ret_type
  306 cast_or_null(Y *Val) {
  309   return cast<X>(Val);
  337 LLVM_NODISCARD inline typename cast_retty<X, Y>::ret_type dyn_cast(Y &Val) {
  342 LLVM_NODISCARD inline typename cast_retty<X, Y *>::ret_type dyn_cast(Y *Val) {
  342 LLVM_NODISCARD inline typename cast_retty<X, Y *>::ret_type dyn_cast(Y *Val) {
  342 LLVM_NODISCARD inline typename cast_retty<X, Y *>::ret_type dyn_cast(Y *Val) {
  343   return isa<X>(Val) ? cast<X>(Val) : nullptr;
  343   return isa<X>(Val) ? cast<X>(Val) : nullptr;
  360                             typename cast_retty<X, Y>::ret_type>::type
  366 LLVM_NODISCARD inline typename cast_retty<X, Y *>::ret_type
  366 LLVM_NODISCARD inline typename cast_retty<X, Y *>::ret_type
  367 dyn_cast_or_null(Y *Val) {
  368   return (Val && isa<X>(Val)) ? cast<X>(Val) : nullptr;
  368   return (Val && isa<X>(Val)) ? cast<X>(Val) : nullptr;
include/llvm/Support/PointerLikeTypeTraits.h
   56   static inline void *getAsVoidPointer(T *P) { return P; }
   57   static inline T *getFromVoidPointer(void *P) { return static_cast<T *>(P); }
   59   enum { NumLowBitsAvailable = detail::ConstantLog2<alignof(T)>::value };
   91   typedef PointerLikeTypeTraits<T *> NonConst;
   93   static inline const void *getAsVoidPointer(const T *P) {
   96   static inline const T *getFromVoidPointer(const void *P) {
tools/clang/include/clang/AST/ASTConsumer.h
   72   virtual void HandleTagDeclDefinition(TagDecl *D) {}
   76   virtual void HandleTagDeclRequiredDefinition(const TagDecl *D) {}
tools/clang/include/clang/AST/ASTContext.h
 1467                              TagDecl *OwnedTagDecl = nullptr) const;
 1547   QualType getTagDeclType(const TagDecl *Decl) const;
 2799   void addTypedefNameForUnnamedTagDecl(TagDecl *TD, TypedefNameDecl *TND);
 2801   TypedefNameDecl *getTypedefNameForUnnamedTagDecl(const TagDecl *TD);
 2803   void addDeclaratorForUnnamedTagDecl(TagDecl *TD, DeclaratorDecl *DD);
 2805   DeclaratorDecl *getDeclaratorForUnnamedTagDecl(const TagDecl *TD);
tools/clang/include/clang/AST/ASTMutationListener.h
   51   virtual void CompletedTagDefinition(const TagDecl *D) { }
tools/clang/include/clang/AST/ASTNodeTraverser.h
  430     for (const auto *RedeclWithBadType : D->redecls()) {
tools/clang/include/clang/AST/ASTTypeTraits.h
   65     return ASTNodeKind(KindToKindId<T>::Id);
   65     return ASTNodeKind(KindToKindId<T>::Id);
   65     return ASTNodeKind(KindToKindId<T>::Id);
  259   const T &getUnchecked() const {
  260     return BaseConverter<T>::getUnchecked(NodeKind, Storage.buffer);
  394     static const T *get(ASTNodeKind NodeKind, const char Storage[]) {
  399     static const T &getUnchecked(ASTNodeKind NodeKind, const char Storage[]) {
  401       return *cast<T>(static_cast<const BaseT *>(
  469     : public DynCastPtrConverter<T, Decl> {};
tools/clang/include/clang/AST/Decl.h
 3072   TagDecl *getAnonDeclWithTypedefName(bool AnyRedecl = false) const;
 3142                 public Redeclarable<TagDecl> {
 3174           SourceLocation L, IdentifierInfo *Id, TagDecl *PrevDecl,
 3177   using redeclarable_base = Redeclarable<TagDecl>;
 3179   TagDecl *getNextRedeclarationImpl() override {
 3183   TagDecl *getPreviousDeclImpl() override {
 3187   TagDecl *getMostRecentDeclImpl() override {
 3233   TagDecl *getCanonicalDecl() override;
 3234   const TagDecl *getCanonicalDecl() const {
 3313   TagDecl *getDefinition() const;
 3390   static DeclContext *castToDeclContext(const TagDecl *D) {
 3394   static TagDecl *castFromDeclContext(const DeclContext *DC) {
 3402 class EnumDecl : public TagDecl {
 3669 class RecordDecl : public TagDecl {
 4406     decl_type *MostRecent = First->getNextRedeclaration();
 4407     RedeclLink = PreviousDeclLink(cast<decl_type>(MostRecent));
tools/clang/include/clang/AST/DeclBase.h
 2474   static const ToTy *doit(const DeclContext *Val) {
 2478   static ToTy *doit(DeclContext *Val) {
 2491     return To::classofKind(Val.getDeclKind());
 2514   static const ToTy *doit(const ::clang::DeclContext *Val) {
 2515     return ::clang::cast_convert_decl_context<ToTy>::doit(Val);
 2521   static ToTy *doit(::clang::DeclContext *Val) {
 2522     return ::clang::cast_convert_decl_context<ToTy>::doit(Val);
tools/clang/include/clang/AST/ExternalASTMerger.h
  153   void CompleteType(TagDecl *Tag) override;
tools/clang/include/clang/AST/ExternalASTSource.h
  235   virtual void CompleteType(TagDecl *Tag);
tools/clang/include/clang/AST/JSONNodeDumper.h
  172   template <typename T> void writePreviousDeclImpl(const Redeclarable<T> *D) {
  173     const T *Prev = D->getPreviousDecl();
  351     for (const auto *RedeclWithBadType : SD->redecls()) {
tools/clang/include/clang/AST/MangleNumberingContext.h
   53   virtual unsigned getManglingNumber(const TagDecl *TD,
tools/clang/include/clang/AST/RecursiveASTVisitor.h
 1660     for (auto *RD : SD->redecls()) {
tools/clang/include/clang/AST/Redeclarable.h
  113     DeclLink(PreviousTag, decl_type *D) : Link(NotKnownLatest(Previous(D))) {}
  122     decl_type *getPrevious(const decl_type *D) const {
  122     decl_type *getPrevious(const decl_type *D) const {
  137     void setPrevious(decl_type *D) {
  142     void setLatest(decl_type *D) {
  166   static DeclLink PreviousDeclLink(decl_type *D) {
  187   decl_type *First;
  189   decl_type *getNextRedeclaration() const {
  203   decl_type *getPreviousDecl() {
  208   const decl_type *getPreviousDecl() const {
  215   decl_type *getFirstDecl() { return First; }
  219   const decl_type *getFirstDecl() const { return First; }
  225   decl_type *getMostRecentDecl() {
  230   const decl_type *getMostRecentDecl() const {
  236   void setPreviousDecl(decl_type *PrevDecl);
  241     decl_type *Current = nullptr;
  242     decl_type *Starter;
  246     using value_type = decl_type *;
  247     using reference = decl_type *;
  248     using pointer = decl_type *;
  253     explicit redecl_iterator(decl_type *C) : Current(C), Starter(C) {}
  271       decl_type *Next = Current->getNextRedeclaration();
tools/clang/include/clang/AST/Type.h
 2205   TagDecl *getAsTagDecl() const;
 4426   TagDecl *decl;
 4429   TagType(TypeClass TC, const TagDecl *D, QualType can);
 4432   TagDecl *getDecl() const;
 5208       private llvm::TrailingObjects<ElaboratedType, TagDecl *> {
 5223                  QualType NamedType, QualType CanonType, TagDecl *OwnedTagDecl)
 5233       *getTrailingObjects<TagDecl *>() = OwnedTagDecl;
 5255   TagDecl *getOwnedTagDecl() const {
 5256     return ElaboratedTypeBits.HasOwnedTagDecl ? *getTrailingObjects<TagDecl *>()
 5266                       TagDecl *OwnedTagDecl) {
tools/clang/include/clang/AST/TypeLoc.h
  707   TagDecl *getDecl() const { return getTypePtr()->getDecl(); }
  711     TagDecl *D = getDecl();
tools/clang/include/clang/ASTMatchers/ASTMatchersInternal.h
  302   virtual bool matches(const T &Node,
  309     return matches(DynNode.getUnchecked<T>(), Finder, Builder);
  345   DynTypedMatcher(MatcherInterface<T> *Implementation)
  346       : SupportedKind(ast_type_traits::ASTNodeKind::getFromNodeKind<T>()),
  499   explicit Matcher(MatcherInterface<T> *Implementation)
  506   Matcher(const Matcher<From> &Other,
  507           typename std::enable_if<std::is_base_of<From, T>::value &&
  508                                !std::is_same<From, T>::value>::type * = nullptr)
  520             std::is_same<T, QualType>::value &&
  534   bool matches(const T &Node,
  596 inline Matcher<T> makeMatcher(MatcherInterface<T> *Implementation) {
  596 inline Matcher<T> makeMatcher(MatcherInterface<T> *Implementation) {
 1067   using head = T1;
 1084       std::is_base_of<typename AnyTypeList::head, T>::value ||
 1085       TypeListContainsSuperOf<typename AnyTypeList::tail, T>::value;
 1184   operator Matcher<T>() const {
 1185     static_assert(TypeListContainsSuperOf<ReturnTypes, T>::value,
tools/clang/include/clang/Frontend/MultiplexConsumer.h
   62   void HandleTagDeclDefinition(TagDecl *D) override;
   63   void HandleTagDeclRequiredDefinition(const TagDecl *D) override;
tools/clang/include/clang/Sema/Lookup.h
  507   DeclClass *getAsSingle() const {
  509     return dyn_cast<DeclClass>(getFoundDecl());
  531     return getResultKind() == Found && isa<TagDecl>(getFoundDecl());
tools/clang/include/clang/Sema/MultiplexExternalSemaSource.h
  121   void CompleteType(TagDecl *Tag) override;
tools/clang/include/clang/Sema/Sema.h
 1821                              TagDecl *OwnedTagDecl = nullptr);
 2139   void handleTagNumbering(const TagDecl *Tag, Scope *TagScope);
 2140   void setTagNameForLinkagePurposes(TagDecl *TagFromDeclSpec,
 2485   bool isAcceptableTagRedeclaration(const TagDecl *Previous,
tools/clang/include/clang/Sema/Template.h
  542     bool SubstQualifier(const TagDecl *OldDecl,
  543                         TagDecl *NewDecl);
tools/clang/include/clang/Serialization/ASTReader.h
 1887   T *ReadDeclAs(ModuleFile &F, const RecordData &R, unsigned &I) {
 1888     return cast_or_null<T>(GetDecl(ReadDeclID(F, R, I)));
tools/clang/include/clang/Serialization/ASTWriter.h
  713   void CompletedTagDefinition(const TagDecl *D) override;
tools/clang/lib/AST/ASTContext.cpp
  140   if (const auto *TD = dyn_cast<TagDecl>(D)) {
  140   if (const auto *TD = dyn_cast<TagDecl>(D)) {
  176       } else if (const auto *TD = dyn_cast<TagDecl>(D)) {
  176       } else if (const auto *TD = dyn_cast<TagDecl>(D)) {
 4283                                        TagDecl *OwnedTagDecl) const {
 4300   void *Mem = Allocate(ElaboratedType::totalSizeToAlloc<TagDecl *>(!!OwnedTagDecl),
 5076 QualType ASTContext::getTagDeclType(const TagDecl *Decl) const {
10297 void ASTContext::addTypedefNameForUnnamedTagDecl(TagDecl *TD,
10303 ASTContext::getTypedefNameForUnnamedTagDecl(const TagDecl *TD) {
10307 void ASTContext::addDeclaratorForUnnamedTagDecl(TagDecl *TD,
10312 DeclaratorDecl *ASTContext::getDeclaratorForUnnamedTagDecl(const TagDecl *TD) {
tools/clang/lib/AST/ASTDumper.cpp
   89   for (const auto *RedeclWithBadType : D->redecls()) {
tools/clang/lib/AST/ASTImporter.cpp
  113     for (auto *R : D->getFirstDecl()->redecls()) {
  127     if (auto *TD = dyn_cast<TagDecl>(D))
  127     if (auto *TD = dyn_cast<TagDecl>(D))
  128       return getCanonicalForwardRedeclChain<TagDecl>(TD);
  162     Expected<T *> import(T *From) {
  162     Expected<T *> import(T *From) {
  166       return cast_or_null<T>(*ToOrErr);
  170     Expected<T *> import(const T *From) {
  170     Expected<T *> import(const T *From) {
 1434   Expected<TagDecl *> ToOwnedTagDeclOrErr = import(T->getOwnedTagDecl());
 1677   bool AccumulateChildErrors = isa<TagDecl>(FromDC);
 1781 static Error setTypedefNameForAnonDecl(TagDecl *From, TagDecl *To,
 1781 static Error setTypedefNameForAnonDecl(TagDecl *From, TagDecl *To,
 8750   else if (auto *TD = dyn_cast<TagDecl>(D)) {
 8750   else if (auto *TD = dyn_cast<TagDecl>(D)) {
tools/clang/lib/AST/CXXABI.h
   63   virtual void addTypedefNameForUnnamedTagDecl(TagDecl *TD,
   67   getTypedefNameForUnnamedTagDecl(const TagDecl *TD) = 0;
   69   virtual void addDeclaratorForUnnamedTagDecl(TagDecl *TD,
   72   virtual DeclaratorDecl *getDeclaratorForUnnamedTagDecl(const TagDecl *TD) = 0;
tools/clang/lib/AST/Decl.cpp
  847   } else if (const auto *Tag = dyn_cast<TagDecl>(D)) {
  847   } else if (const auto *Tag = dyn_cast<TagDecl>(D)) {
  925         isa<TagDecl>(D) ||
 1676 template<typename T> static bool isRedeclarableImpl(Redeclarable<T> *) {
 1805 static SourceLocation getTemplateOrInnerLocStart(const DeclT *decl) {
 4039                  SourceLocation L, IdentifierInfo *Id, TagDecl *PrevDecl,
 4064 TagDecl *TagDecl::getCanonicalDecl() { return getFirstDecl(); }
 4098 TagDecl *TagDecl::getDefinition() const {
 4730 TagDecl *TypedefNameDecl::getAnonDeclWithTypedefName(bool AnyRedecl) const {
 4748       if (auto *TD = TT->getDecl()) {
tools/clang/lib/AST/DeclBase.cpp
  340     if (!isa<TagDecl>(LDC))
  441   } else if (auto *TD = dyn_cast<TagDecl>(this)) {
 1212       auto *Tag = cast<TagDecl>(this);
 1212       auto *Tag = cast<TagDecl>(this);
 1214       if (TagDecl *Def = Tag->getDefinition())
 1219         TagDecl *PossiblePartialDef = TagTy->getDecl();
 1851   if (!(isa<TagDecl>(DCAsDecl) && cast<TagDecl>(DCAsDecl)->isBeingDefined()))
 1851   if (!(isa<TagDecl>(DCAsDecl) && cast<TagDecl>(DCAsDecl)->isBeingDefined()))
tools/clang/lib/AST/DeclCXX.cpp
  675       (!isa<TagDecl>(D) || cast<TagDecl>(D)->getTagKind() == TTK_Class ||
  675       (!isa<TagDecl>(D) || cast<TagDecl>(D)->getTagKind() == TTK_Class ||
  676         cast<TagDecl>(D)->getTagKind() == TTK_Interface))
tools/clang/lib/AST/DeclPrinter.cpp
  187   TagDecl* TD = dyn_cast<TagDecl>(*Begin);
  187   TagDecl* TD = dyn_cast<TagDecl>(*Begin);
  422     if (isa<TagDecl>(*D) && !cast<TagDecl>(*D)->isFreeStanding()) {
  422     if (isa<TagDecl>(*D) && !cast<TagDecl>(*D)->isFreeStanding()) {
tools/clang/lib/AST/Expr.cpp
 1518   if (const TagDecl *TD = getCallReturnType(Ctx)->getAsTagDecl())
tools/clang/lib/AST/ExternalASTMerger.cpp
  231     if (auto *ToTag = dyn_cast<TagDecl>(To)) {
  231     if (auto *ToTag = dyn_cast<TagDecl>(To)) {
  308 void ExternalASTMerger::CompleteType(TagDecl *Tag) {
  312     auto *SourceTag = const_cast<TagDecl *>(cast<TagDecl>(SourceDC.get()));
  312     auto *SourceTag = const_cast<TagDecl *>(cast<TagDecl>(SourceDC.get()));
  361   if (auto *T1 = dyn_cast<TagDecl>(D1))
  362     if (auto *T2 = dyn_cast<TagDecl>(D2))
tools/clang/lib/AST/ExternalASTSource.cpp
   60 void ExternalASTSource::CompleteType(TagDecl *Tag) {}
tools/clang/lib/AST/ItaniumCXXABI.cpp
  179   unsigned getManglingNumber(const TagDecl *TD, unsigned) override {
  236   void addTypedefNameForUnnamedTagDecl(TagDecl *TD,
  239   TypedefNameDecl *getTypedefNameForUnnamedTagDecl(const TagDecl *TD) override {
  243   void addDeclaratorForUnnamedTagDecl(TagDecl *TD,
  246   DeclaratorDecl *getDeclaratorForUnnamedTagDecl(const TagDecl *TD) override {
tools/clang/lib/AST/ItaniumMangle.cpp
  181     if (const TagDecl *Tag = dyn_cast<TagDecl>(ND)) {
  181     if (const TagDecl *Tag = dyn_cast<TagDecl>(ND)) {
 1363     const TagDecl *TD = cast<TagDecl>(ND);
 1363     const TagDecl *TD = cast<TagDecl>(ND);
tools/clang/lib/AST/JSONNodeDumper.cpp
  677   if (const TagDecl *TD = ET->getOwnedTagDecl())
tools/clang/lib/AST/MicrosoftCXXABI.cpp
   60   unsigned getManglingNumber(const TagDecl *TD,
   70   llvm::SmallDenseMap<TagDecl *, DeclaratorDecl *>
   72   llvm::SmallDenseMap<TagDecl *, TypedefNameDecl *>
  105   void addTypedefNameForUnnamedTagDecl(TagDecl *TD,
  114   TypedefNameDecl *getTypedefNameForUnnamedTagDecl(const TagDecl *TD) override {
  119   void addDeclaratorForUnnamedTagDecl(TagDecl *TD,
  128   DeclaratorDecl *getDeclaratorForUnnamedTagDecl(const TagDecl *TD) override {
tools/clang/lib/AST/MicrosoftMangle.cpp
  218     if (const TagDecl *Tag = dyn_cast<TagDecl>(ND)) {
  218     if (const TagDecl *Tag = dyn_cast<TagDecl>(ND)) {
  372   void mangleType(const TagDecl *TD);
  899       const TagDecl *TD = cast<TagDecl>(ND);
  899       const TagDecl *TD = cast<TagDecl>(ND);
 1047     if (isa<TagDecl>(ND) || isa<VarDecl>(ND)) {
 1538     if (const auto *TD = dyn_cast<TagDecl>(ND)) {
 1538     if (const auto *TD = dyn_cast<TagDecl>(ND)) {
 2467 void MicrosoftCXXNameMangler::mangleType(const TagDecl *TD) {
tools/clang/lib/AST/QualTypeNames.cpp
  199   } else if (const auto *TD = dyn_cast<TagDecl>(DC)) {
  199   } else if (const auto *TD = dyn_cast<TagDecl>(DC)) {
  241       const TagDecl *TD = nullptr;
  296     } else if (const auto *TD = dyn_cast<TagDecl>(Outer)) {
  296     } else if (const auto *TD = dyn_cast<TagDecl>(Outer)) {
tools/clang/lib/AST/TextNodeDumper.cpp
   31 static void dumpPreviousDeclImpl(raw_ostream &OS, const Redeclarable<T> *D) {
   32   const T *Prev = D->getPreviousDecl();
tools/clang/lib/AST/Type.cpp
 1696 TagDecl *Type::getAsTagDecl() const {
 3273 TagType::TagType(TypeClass TC, const TagDecl *D, QualType can)
 3280 static TagDecl *getInterestingTagDecl(TagDecl *decl) {
 3280 static TagDecl *getInterestingTagDecl(TagDecl *decl) {
 3289 TagDecl *TagType::getDecl() const {
 3650     const TagDecl *Tag = cast<TagType>(T)->getDecl();
tools/clang/lib/AST/TypePrinter.cpp
  122     void printTag(TagDecl *T, raw_ostream &OS);
 1128   } else if (const auto *Tag = dyn_cast<TagDecl>(DC)) {
 1128   } else if (const auto *Tag = dyn_cast<TagDecl>(DC)) {
 1138 void TypePrinter::printTag(TagDecl *D, raw_ostream &OS) {
 1310     TagDecl *OwnedTagDecl = T->getOwnedTagDecl();
tools/clang/lib/CodeGen/Address.h
  108 template <class U> inline U cast(CodeGen::Address addr) {
tools/clang/lib/CodeGen/CGDebugInfo.cpp
  884 static bool hasCXXMangling(const TagDecl *TD, llvm::DICompileUnit *TheCU) {
  918 static bool needsTypeIdentifier(const TagDecl *TD, CodeGenModule &CGM,
  939   const TagDecl *TD = Ty->getDecl();
tools/clang/lib/CodeGen/CodeGenAction.cpp
  319     void HandleTagDeclDefinition(TagDecl *D) override {
  326     void HandleTagDeclRequiredDefinition(const TagDecl *D) override {
tools/clang/lib/CodeGen/CodeGenModule.cpp
  646 void CodeGenModule::UpdateCompletedType(const TagDecl *TD) {
tools/clang/lib/CodeGen/CodeGenModule.h
 1065   void UpdateCompletedType(const TagDecl *TD);
tools/clang/lib/CodeGen/CodeGenTypes.cpp
  242 void CodeGenTypes::UpdateCompletedType(const TagDecl *TD) {
tools/clang/lib/CodeGen/CodeGenTypes.h
  164   void UpdateCompletedType(const TagDecl *TD);
tools/clang/lib/CodeGen/ModuleBuilder.cpp
  118       } else if (auto TD = dyn_cast<TagDecl>(D)) {
  215     void HandleTagDeclDefinition(TagDecl *D) override {
  251     void HandleTagDeclRequiredDefinition(const TagDecl *D) override {
tools/clang/lib/CodeGen/ObjectFilePCHContainerOperations.cpp
   81       if (auto *TD = dyn_cast<TagDecl>(D))
   81       if (auto *TD = dyn_cast<TagDecl>(D))
  198   void HandleTagDeclDefinition(TagDecl *D) override {
  212       if (auto *D = dyn_cast<TagDecl>(DeclCtx))
  212       if (auto *D = dyn_cast<TagDecl>(DeclCtx))
  223   void HandleTagDeclRequiredDefinition(const TagDecl *D) override {
tools/clang/lib/Frontend/ASTUnit.cpp
  301     if (LangOpts.CPlusPlus || !isa<TagDecl>(ND))
tools/clang/lib/Frontend/Rewrite/RewriteModernObjC.cpp
  116     llvm::SmallPtrSet<TagDecl*, 32> GlobalDefinedTags;
  398     bool IsTagDefinedInsideClass(ObjCContainerDecl *IDecl, TagDecl *Tag,
 3600                                                 TagDecl *Tag,
 3732   TagDecl *TD = nullptr;
tools/clang/lib/Index/IndexDecl.cpp
  350   bool VisitTagDecl(const TagDecl *D) {
  661     else if (const auto *TD = dyn_cast<TagDecl>(D))
  661     else if (const auto *TD = dyn_cast<TagDecl>(D))
tools/clang/lib/Index/IndexSymbol.cpp
  106   if (const TagDecl *TD = dyn_cast<TagDecl>(D)) {
  106   if (const TagDecl *TD = dyn_cast<TagDecl>(D)) {
tools/clang/lib/Index/IndexTypeSourceInfo.cpp
   59       TagDecl *Underlying = ND->getUnderlyingType()->getAsTagDecl();
  108     TagDecl *D = TL.getDecl();
  268 void IndexingContext::indexTagDecl(const TagDecl *D,
tools/clang/lib/Index/IndexingContext.cpp
  247   if (auto TD = dyn_cast<TagDecl>(D))
  266   return (ND->getDeclName().isEmpty() && !isa<TagDecl>(ND) &&
tools/clang/lib/Index/IndexingContext.h
   99   void indexTagDecl(const TagDecl *D,
tools/clang/lib/Index/USRGeneration.cpp
   95   void VisitTagDecl(const TagDecl *D);
  492 void USRGenerator::VisitTagDecl(const TagDecl *D) {
tools/clang/lib/Sema/DeclSpec.cpp
  430   return cast<TagDecl>(getRepAsDecl())->isCompleteDefinition();
tools/clang/lib/Sema/MultiplexExternalSemaSource.cpp
  131 void MultiplexExternalSemaSource::CompleteType(TagDecl *Tag) {
tools/clang/lib/Sema/SemaAccess.cpp
 1111     else if (TagDecl *TD = dyn_cast<TagDecl>(D)) {
 1111     else if (TagDecl *TD = dyn_cast<TagDecl>(D)) {
tools/clang/lib/Sema/SemaCXXScopeSpec.cpp
  203   TagDecl *tag = dyn_cast<TagDecl>(DC);
  203   TagDecl *tag = dyn_cast<TagDecl>(DC);
tools/clang/lib/Sema/SemaCodeComplete.cpp
  688     } else if (const auto *TD = dyn_cast<TagDecl>(Parent))
  688     } else if (const auto *TD = dyn_cast<TagDecl>(Parent))
 1157     else if (const TagDecl *Tag = dyn_cast<TagDecl>(Ctx))
 1157     else if (const TagDecl *Tag = dyn_cast<TagDecl>(Ctx))
 1280     else if (const auto *Tag = dyn_cast<TagDecl>(Ctx))
 1280     else if (const auto *Tag = dyn_cast<TagDecl>(Ctx))
 1882       if (TagDecl *Tag = TagT->getDecl())
 3818     if (const auto *TD = dyn_cast<TagDecl>(D)) {
 3818     if (const auto *TD = dyn_cast<TagDecl>(D)) {
tools/clang/lib/Sema/SemaDecl.cpp
  614     if (const TagDecl *TD = R.getAsSingle<TagDecl>()) {
  614     if (const TagDecl *TD = R.getAsSingle<TagDecl>()) {
  790   if (TagDecl *Tag = R.getAsSingle<TagDecl>()) {
  790   if (TagDecl *Tag = R.getAsSingle<TagDecl>()) {
 1309   CurContext = cast<TagDecl>(D)->getDefinition();
 1785       const TagDecl *Tag = TT->getDecl();
 2006     if (const TagDecl *TD = Result.getAsSingle<TagDecl>())
 2006     if (const TagDecl *TD = Result.getAsSingle<TagDecl>())
 2272     auto *OldTag = OldTD->getAnonDeclWithTypedefName(/*AnyRedecl*/true);
 2273     auto *NewTag = New->getAnonDeclWithTypedefName();
 2402   if (TagDecl *TD = dyn_cast<TagDecl>(D))
 2402   if (TagDecl *TD = dyn_cast<TagDecl>(D))
 2465         Ty = S.Context.getTagDeclType(cast<TagDecl>(New));
 2599   if (const TagDecl *TD = dyn_cast<TagDecl>(D))
 2599   if (const TagDecl *TD = dyn_cast<TagDecl>(D))
 4299 void Sema::handleTagNumbering(const TagDecl *Tag, Scope *TagScope) {
 4328 void Sema::setTagNameForLinkagePurposes(TagDecl *TagFromDeclSpec,
 4398   TagDecl *Tag = nullptr;
 4412     if (isa<TagDecl>(TagD))
 4413       Tag = cast<TagDecl>(TagD);
 4919       } else if (isa<TagDecl>(Mem) && Mem->getDeclContext() != Record) {
 8972         auto *TD = dyn_cast<TagDecl>(NonParmDecl);
 8972         auto *TD = dyn_cast<TagDecl>(NonParmDecl);
12857     if (TagDecl *Tag = dyn_cast_or_null<TagDecl>(DS.getRepAsDecl())) {
12857     if (TagDecl *Tag = dyn_cast_or_null<TagDecl>(DS.getRepAsDecl())) {
12933     if (MaybeTagDecl && isa<TagDecl>(MaybeTagDecl)) {
14390     TagDecl *tagFromDeclSpec = cast<TagDecl>(D.getDeclSpec().getRepAsDecl());
14390     TagDecl *tagFromDeclSpec = cast<TagDecl>(D.getDeclSpec().getRepAsDecl());
14504 bool Sema::isAcceptableTagRedeclaration(const TagDecl *Previous,
14578     for (const TagDecl *I : Previous->redecls()) {
14602   const TagDecl *PrevDef = Previous->getDefinition();
14605   const TagDecl *Redecl = PrevDef ? PrevDef : Previous;
14813     TagDecl *New = nullptr;
15105           TagDecl *Tag = TT->getDecl();
15122       auto *OldTag = dyn_cast<TagDecl>(PrevDecl);
15122       auto *OldTag = dyn_cast<TagDecl>(PrevDecl);
15138     if (TagDecl *PrevTagDecl = dyn_cast<TagDecl>(PrevDecl)) {
15138     if (TagDecl *PrevTagDecl = dyn_cast<TagDecl>(PrevDecl)) {
15303               auto *TD = Context.getTagDeclType(PrevTagDecl)->getAsTagDecl();
15395   TagDecl *PrevDecl = nullptr;
15397     PrevDecl = cast<TagDecl>(Previous.getFoundDecl());
15407   TagDecl *New;
15421       TagDecl *Def;
15635   TagDecl *Tag = cast<TagDecl>(TagD);
15635   TagDecl *Tag = cast<TagDecl>(TagD);
15707   TagDecl *Tag = cast<TagDecl>(TagD);
15707   TagDecl *Tag = cast<TagDecl>(TagD);
15751   TagDecl *Tag = cast<TagDecl>(TagD);
15751   TagDecl *Tag = cast<TagDecl>(TagD);
16120   if (PrevDecl && !isa<TagDecl>(PrevDecl)) {
16328         && !isa<TagDecl>(PrevDecl)) {
17145     if (!isa<TagDecl>(PrevDecl) && isDeclInScope(PrevDecl, CurContext, S)) {
17201   if (cast<EnumDecl>(TagDecl::castFromDeclContext(ECD->getDeclContext())) !=
tools/clang/lib/Sema/SemaDeclAttr.cpp
 1304   if (auto *TD = dyn_cast<TagDecl>(D))
 1304   if (auto *TD = dyn_cast<TagDecl>(D))
 2513       !(isa<TagDecl>(D) ||
 3670     } else if (!isa<TagDecl>(D)) {
 3770     UnderlyingTy = DiagTy = Context.getTagDeclType(cast<TagDecl>(D));
 7692     if (isa<TagDecl>(Ctx) || isa<FunctionDecl>(Ctx) || isa<ObjCMethodDecl>(Ctx))
 7775   if (const auto *TD = dyn_cast<TagDecl>(D)) {
 7775   if (const auto *TD = dyn_cast<TagDecl>(D)) {
 7870       if (const auto *TD = dyn_cast<TagDecl>(Enclosing))
 7870       if (const auto *TD = dyn_cast<TagDecl>(Enclosing))
 8414     TagDecl *TD = TT->getDecl();
tools/clang/lib/Sema/SemaDeclCXX.cpp
 1806       if (cast<TagDecl>(DclIt)->isThisDeclarationADefinition()) {
 4755   llvm::DenseMap<TagDecl*, FieldDecl*> ActiveUnionMember;
 8491   if (TagDecl *TD = dyn_cast<TagDecl>(D)) {
 8491   if (TagDecl *TD = dyn_cast<TagDecl>(D)) {
10126       (isa<TagDecl>(D) ? Tag : NonTag) = D;
10164   if (isa<TagDecl>(Target)) {
11103     if (auto *TD = dyn_cast_or_null<TagDecl>(DeclFromDeclSpec)) {
11103     if (auto *TD = dyn_cast_or_null<TagDecl>(DeclFromDeclSpec)) {
tools/clang/lib/Sema/SemaExprCXX.cpp
  601   const auto *TD = Ty->getAsTagDecl();
tools/clang/lib/Sema/SemaLookup.cpp
  384     bool HaveTag = isa<TagDecl>(EUnderlying);
  562     } else if (isa<TagDecl>(D)) {
  604     if (isa<TagDecl>(Decls[UniqueTagIndex]->getUnderlyingDecl()) &&
 2582       if (TagDecl *TD = dyn_cast<TagDecl>(D)) {
 2582       if (TagDecl *TD = dyn_cast<TagDecl>(D)) {
 2588       if (!isa<TagDecl>(D))
 5283   if (TagDecl *TD = dyn_cast<TagDecl>(D))
 5283   if (TagDecl *TD = dyn_cast<TagDecl>(D))
tools/clang/lib/Sema/SemaOverload.cpp
 1050     } else if (isa<TagDecl>(OldD)) {
tools/clang/lib/Sema/SemaStmt.cpp
  314     if (const TagDecl *TD = ILE->getType()->getAsTagDecl()) {
tools/clang/lib/Sema/SemaTemplate.cpp
  742   if (const TagDecl *TD = dyn_cast_or_null<TagDecl>(PatternDef))
  742   if (const TagDecl *TD = dyn_cast_or_null<TagDecl>(PatternDef))
  764   if (TagDecl *TD = dyn_cast<TagDecl>(Instantiation))
  764   if (TagDecl *TD = dyn_cast<TagDecl>(Instantiation))
  794     } else if (isa<TagDecl>(Instantiation)) {
 1345 static void SetNestedNameSpecifier(Sema &S, TagDecl *T,
 1545       if (TagDecl *Def = PrevRecordDecl->getDefinition()) {
 5490     bool VisitTagDecl(const TagDecl *Tag);
 5681 bool UnnamedLocalNoLinkageFinder::VisitTagDecl(const TagDecl *Tag) {
 9267   TagDecl *Tag = cast<TagDecl>(TagD);
 9267   TagDecl *Tag = cast<TagDecl>(TagD);
tools/clang/lib/Sema/SemaTemplateInstantiate.cpp
 1156     TagDecl* TD = TT->getDecl();
 3009       if (const TagDecl *Tag = dyn_cast<TagDecl>(CheckD))
 3009       if (const TagDecl *Tag = dyn_cast<TagDecl>(CheckD))
tools/clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
   42 static bool SubstQualifier(Sema &SemaRef, const DeclT *OldDecl, DeclT *NewDecl,
   42 static bool SubstQualifier(Sema &SemaRef, const DeclT *OldDecl, DeclT *NewDecl,
   72 bool TemplateDeclInstantiator::SubstQualifier(const TagDecl *OldDecl,
   73                                               TagDecl *NewDecl) {
  753     TagDecl *oldTag = oldTagType->getDecl();
  755       TagDecl *newTag = DI->getType()->castAs<TagType>()->getDecl();
tools/clang/lib/Sema/SemaType.cpp
 1517     TagDecl *D = dyn_cast_or_null<TagDecl>(DS.getRepAsDecl());
 1517     TagDecl *D = dyn_cast_or_null<TagDecl>(DS.getRepAsDecl());
 2910   TagDecl *OwnedTagDecl = nullptr;
 2921       OwnedTagDecl = cast<TagDecl>(D.getDeclSpec().getRepAsDecl());
 3013       switch (cast<TagDecl>(SemaRef.CurContext)->getTagKind()) {
 4744         TagDecl *Tag = cast<TagDecl>(D.getDeclSpec().getRepAsDecl());
 4744         TagDecl *Tag = cast<TagDecl>(D.getDeclSpec().getRepAsDecl());
 7873   if (isa<TagDecl>(D) && cast<TagDecl>(D)->isBeingDefined()) {
 7873   if (isa<TagDecl>(D) && cast<TagDecl>(D)->isBeingDefined()) {
 7889       for (auto *Redecl : ED->redecls()) {
 8040   TagDecl *Tag = dyn_cast_or_null<TagDecl>(Def);
 8040   TagDecl *Tag = dyn_cast_or_null<TagDecl>(Def);
 8283                                  TagDecl *OwnedTagDecl) {
tools/clang/lib/Sema/TreeTransform.h
 1088     TagDecl *Tag = nullptr;
 1096         Tag = Result.getAsSingle<TagDecl>();
tools/clang/lib/Serialization/ASTCommon.cpp
  276     if (const TagDecl *Def = cast<TagDecl>(DC)->getDefinition())
  276     if (const TagDecl *Def = cast<TagDecl>(DC)->getDefinition())
  425       D->getLexicalDeclContext()->isDependentContext() && !isa<TagDecl>(D)) {
  443     return isa<TagDecl>(D) || isa<BlockDecl>(D);
  451   return isa<TagDecl>(D) || isa<FieldDecl>(D);
tools/clang/lib/Serialization/ASTReader.cpp
 6683     TagDecl *OwnedTagDecl = ReadDeclAs<TagDecl>(*Loc.F, Record, Idx);
 6683     TagDecl *OwnedTagDecl = ReadDeclAs<TagDecl>(*Loc.F, Record, Idx);
 9960     if (TagDecl *TD = dyn_cast<TagDecl>(D)) {
 9960     if (TagDecl *TD = dyn_cast<TagDecl>(D)) {
10166       if (!isa<TagDecl>(D))
tools/clang/lib/Serialization/ASTReaderDecl.cpp
  249       operator T*() const { return dyn_cast_or_null<T>(Existing); }
  249       operator T*() const { return dyn_cast_or_null<T>(Existing); }
  336     RedeclarableResult VisitTagDecl(TagDecl *TD);
  412     RedeclarableResult VisitRedeclarable(Redeclarable<T> *D);
  415     void mergeRedeclarable(Redeclarable<T> *D, RedeclarableResult &Redecl,
  419     void mergeRedeclarable(Redeclarable<T> *D, T *Existing,
  419     void mergeRedeclarable(Redeclarable<T> *D, T *Existing,
  541       cast<TagDecl>(D)->TypedefNameDeclOrQualifier =
  701 ASTDeclReader::RedeclarableResult ASTDeclReader::VisitTagDecl(TagDecl *TD) {
  718     auto *Info = new (Reader.getContext()) TagDecl::ExtInfo();
 2137         mergeRedeclarable<TagDecl>(D, CanonSpec, Redecl);
 2394   auto *FirstDecl = cast_or_null<T>(Reader.GetDecl(FirstDeclID));
 2394   auto *FirstDecl = cast_or_null<T>(Reader.GetDecl(FirstDeclID));
 2400     D->RedeclLink = Redeclarable<T>::PreviousDeclLink(FirstDecl);
 2404   auto *DAsT = static_cast<T *>(D);
 2430   auto *D = static_cast<T *>(DBase);
 2434     mergeRedeclarable(D, cast<T>(Existing), Redecl, TemplatePatternID);
 2436     if (T *Existing = ExistingRes)
 2476     return mergeRedeclarable(DClass, cast<TagDecl>(ExistingPattern),
 2496   auto *D = static_cast<T *>(DBase);
 2497   T *ExistingCanon = Existing->getCanonicalDecl();
 2498   T *DCanon = D->getCanonicalDecl();
 2506     D->RedeclLink = Redeclarable<T>::PreviousDeclLink(ExistingCanon);
 2973   if (const auto *TagX = dyn_cast<TagDecl>(X)) {
 2973   if (const auto *TagX = dyn_cast<TagDecl>(X)) {
 2974     const auto *TagY = cast<TagDecl>(Y);
 2974     const auto *TagY = cast<TagDecl>(Y);
 3381 Decl *ASTDeclReader::getMostRecentDeclImpl(Redeclarable<DeclT> *D) {
 3408                                            Redeclarable<DeclT> *D,
 3410   D->RedeclLink.setPrevious(cast<DeclT>(Previous));
 3411   D->First = cast<DeclT>(Previous)->First;
 3567 void ASTDeclReader::attachLatestDeclImpl(Redeclarable<DeclT> *D, Decl *Latest) {
 3568   D->RedeclLink.setLatest(cast<DeclT>(Latest));
 3589 void ASTDeclReader::markIncompleteDeclChainImpl(Redeclarable<DeclT> *D) {
tools/clang/lib/Serialization/ASTWriter.cpp
 6326 void ASTWriter::CompletedTagDefinition(const TagDecl *D) {
tools/clang/lib/Serialization/ASTWriterDecl.cpp
   71     void VisitTagDecl(TagDecl *D);
  129     template <typename T> void VisitRedeclarable(Redeclarable<T> *D);
  403 void ASTDeclWriter::VisitTagDecl(TagDecl *D) {
 1722   T *First = D->getFirstDecl();
 1723   T *MostRecent = First->getMostRecentDecl();
 1724   T *DAsT = static_cast<T *>(D);
tools/clang/lib/Tooling/ASTDiff/ASTDiff.cpp
  369     if (auto *Tag = dyn_cast<TagDecl>(Context))
tools/clang/tools/extra/clang-tidy/readability/IdentifierNamingCheck.cpp
  778       if (const auto *Decl = Ref.getTypePtr()->getAsTagDecl())
tools/clang/tools/extra/clang-tidy/utils/ExceptionAnalyzer.cpp
   80     if (const auto *TD = T->getAsTagDecl()) {
tools/clang/tools/extra/clangd/AST.cpp
  109   if (auto *T = llvm::dyn_cast<TagDecl>(&ND))
tools/clang/tools/extra/clangd/IncludeFixer.cpp
  119   const TagDecl *TD = T.getAsTagDecl();
tools/clang/tools/extra/clangd/SemanticHighlighting.cpp
   98   if (auto *TD = TP->getAsTagDecl())
tools/clang/tools/extra/clangd/XRefs.cpp
   63   if (const auto *TD = dyn_cast<TagDecl>(D))
   63   if (const auto *TD = dyn_cast<TagDecl>(D))
tools/clang/tools/extra/clangd/index/SymbolCollector.cpp
  178          isa<TagDecl>(&ND) && !isInsideMainFile(ND.getLocation(), SM);
  422   if (!dyn_cast<TagDecl>(&ND))
tools/clang/tools/extra/modularize/Modularize.cpp
  624         (isa<TagDecl>(ND) &&
  625          !cast<TagDecl>(ND)->isThisDeclarationADefinition()))
  644     Entities.add(Name, isa<TagDecl>(ND) ? Entry::EK_Tag : Entry::EK_Value, Loc);
tools/clang/tools/libclang/CIndex.cpp
  348     if (TagDecl *TD = dyn_cast<TagDecl>(D))
  348     if (TagDecl *TD = dyn_cast<TagDecl>(D))
  701 bool CursorVisitor::VisitTagDecl(TagDecl *D) {
 6328     if (TagDecl *Def = cast<TagDecl>(D)->getDefinition())
 6328     if (TagDecl *Def = cast<TagDecl>(D)->getDefinition())
tools/clang/tools/libclang/CXIndexDataConsumer.cpp
   63   bool VisitTagDecl(const TagDecl *D) {
  642 bool CXIndexDataConsumer::handleTagDecl(const TagDecl *D) {
 1165   } else if (isa<TagDecl>(D) || isa<FieldDecl>(D) || isa<NamespaceDecl>(D)) {
tools/clang/tools/libclang/CXIndexDataConsumer.h
  387   bool handleTagDecl(const TagDecl *D);
tools/clang/tools/libclang/CXType.cpp
 1259   } else if (const TagDecl *TD = dyn_cast_or_null<TagDecl>(D)) {
 1259   } else if (const TagDecl *TD = dyn_cast_or_null<TagDecl>(D)) {
tools/clang/tools/libclang/CursorVisitor.h
  206   bool VisitTagDecl(TagDecl *D);
tools/clang/unittests/AST/ASTImporterFixtures.h
  174   template <class DeclT> DeclT *Import(DeclT *From, Language Lang) {
  174   template <class DeclT> DeclT *Import(DeclT *From, Language Lang) {
  175     return cast_or_null<DeclT>(Import(cast<Decl>(From), Lang));
tools/clang/unittests/AST/ASTImporterTest.cpp
 3949   auto *Fwd = cast<TagType>(FT)->getDecl();
 3950   auto *ImportedFwd = Import(Fwd, Lang_CXX);
tools/clang/unittests/CodeGen/CodeGenExternalTest.cpp
   69   void HandleTagDeclDefinition(TagDecl *D) override;
   70   void HandleTagDeclRequiredDefinition(const TagDecl *D) override;
  110 void MyASTConsumer::HandleTagDeclDefinition(TagDecl *D) {
  114 void MyASTConsumer::HandleTagDeclRequiredDefinition(const TagDecl *D) {
tools/lldb/include/lldb/Symbol/ClangASTContext.h
   45   typedef void (*CompleteTagDeclCallback)(void *baton, clang::TagDecl *);
  197   static CompilerType GetTypeForDecl(clang::TagDecl *decl);
  436   static void CompleteTagDecl(void *baton, clang::TagDecl *);
  927   static clang::TagDecl *GetAsTagDecl(const CompilerType &type);
tools/lldb/include/lldb/Symbol/ClangASTImporter.h
  140   bool CompleteTagDecl(clang::TagDecl *decl);
  142   bool CompleteTagDeclWithOrigin(clang::TagDecl *decl, clang::TagDecl *origin);
  142   bool CompleteTagDeclWithOrigin(clang::TagDecl *decl, clang::TagDecl *origin);
tools/lldb/include/lldb/Symbol/ClangExternalASTSourceCallbacks.h
   26   typedef void (*CompleteTagDeclCallback)(void *baton, clang::TagDecl *);
   92   void CompleteType(clang::TagDecl *tag_decl) override;
tools/lldb/include/lldb/Symbol/ClangUtil.h
   32   static clang::TagDecl *GetAsTagDecl(const CompilerType &type);
tools/lldb/source/Plugins/ExpressionParser/Clang/ASTResultSynthesizer.cpp
  482 void ASTResultSynthesizer::HandleTagDeclDefinition(TagDecl *D) {
tools/lldb/source/Plugins/ExpressionParser/Clang/ASTResultSynthesizer.h
   73   void HandleTagDeclDefinition(clang::TagDecl *D) override;
tools/lldb/source/Plugins/ExpressionParser/Clang/ASTStructExtractor.cpp
  151 void ASTStructExtractor::HandleTagDeclDefinition(TagDecl *D) {
tools/lldb/source/Plugins/ExpressionParser/Clang/ASTStructExtractor.h
   78   void HandleTagDeclDefinition(clang::TagDecl *D) override;
tools/lldb/source/Plugins/ExpressionParser/Clang/ASTUtils.h
  100   void CompleteType(clang::TagDecl *Tag) override {
  166   void HandleTagDeclDefinition(clang::TagDecl *D) override {
  170   void HandleTagDeclRequiredDefinition(const clang::TagDecl *D) override {
  360   void CompleteType(clang::TagDecl *Tag) override {
tools/lldb/source/Plugins/ExpressionParser/Clang/ClangASTSource.cpp
  269 void ClangASTSource::CompleteType(TagDecl *tag_decl) {
  356           TagDecl *candidate_tag_decl =
  394         TagDecl *candidate_tag_decl =
  604   if (TagDecl *original_tag_decl = dyn_cast<TagDecl>(original_decl)) {
  604   if (TagDecl *original_tag_decl = dyn_cast<TagDecl>(original_decl)) {
  619   for (TagDecl::decl_iterator iter = original_decl_context->decls_begin();
 2231       TagDecl *tag_decl = tag_type->getDecl();
tools/lldb/source/Plugins/ExpressionParser/Clang/ClangASTSource.h
  146   void CompleteType(clang::TagDecl *Tag) override;
  229     void CompleteType(clang::TagDecl *Tag) override {
tools/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCDeclVendor.cpp
   73   void CompleteType(clang::TagDecl *tag_decl) override {
tools/lldb/source/Plugins/SymbolFile/DWARF/DWARFASTParserClang.cpp
  196   clang::TagDecl *tag_decl = ClangASTContext::GetAsTagDecl(type);
  212   auto *tag_decl_ctx = clang::dyn_cast<clang::TagDecl>(decl_ctx);
  212   auto *tag_decl_ctx = clang::dyn_cast<clang::TagDecl>(decl_ctx);
tools/lldb/source/Plugins/SymbolFile/NativePDB/PdbAstBuilder.cpp
  267   context = clang::TagDecl::castToDeclContext(parent_qt->getAsTagDecl());
  472     if (auto *tag = qt->getAsTagDecl()) {
  518     clang::TagDecl *tag = qt->getAsTagDecl();
  520       return {clang::TagDecl::castToDeclContext(tag), uname};
  559       clang::TagDecl *tag = qt->getAsTagDecl();
  561         return clang::TagDecl::castToDeclContext(tag);
  637   clang::TagDecl *tag = qt->getAsTagDecl();
  644 bool PdbAstBuilder::CompleteTagDecl(clang::TagDecl &tag) {
  972     clang::TagDecl *tag = qt->getAsTagDecl();
  991   } else if (clang::TagDecl *tag = llvm::dyn_cast<clang::TagDecl>(parent)) {
  991   } else if (clang::TagDecl *tag = llvm::dyn_cast<clang::TagDecl>(parent)) {
 1166   return !!llvm::dyn_cast<clang::TagDecl>(&context);
 1303   if (auto *tag = llvm::dyn_cast<clang::TagDecl>(&context)) {
 1303   if (auto *tag = llvm::dyn_cast<clang::TagDecl>(&context)) {
tools/lldb/source/Plugins/SymbolFile/NativePDB/PdbAstBuilder.h
   74   bool CompleteTagDecl(clang::TagDecl &tag);
tools/lldb/source/Plugins/SymbolFile/NativePDB/UdtRecordCompleter.cpp
   30                                        clang::TagDecl &tag_decl,
tools/lldb/source/Plugins/SymbolFile/NativePDB/UdtRecordCompleter.h
   50   clang::TagDecl &m_tag_decl;
   58                      clang::TagDecl &tag_decl, PdbAstBuilder &ast_builder,
tools/lldb/source/Plugins/SymbolFile/PDB/PDBASTParser.cpp
  896     if (auto parent_decl = llvm::dyn_cast_or_null<clang::TagDecl>(decl_context))
tools/lldb/source/Symbol/ClangASTContext.cpp
 1321   if (clang::TagDecl *tag_decl = llvm::dyn_cast<clang::TagDecl>(decl))
 1321   if (clang::TagDecl *tag_decl = llvm::dyn_cast<clang::TagDecl>(decl))
 1326 CompilerType ClangASTContext::GetTypeForDecl(TagDecl *decl) {
 2451   if (clang::TagDecl *tag_decl = llvm::dyn_cast<clang::TagDecl>(decl)) {
 2451   if (clang::TagDecl *tag_decl = llvm::dyn_cast<clang::TagDecl>(decl)) {
 2520       clang::TagDecl *tag_decl =
 2521           llvm::dyn_cast<clang::TagDecl>(tag_type->getDecl());
 2644       clang::TagDecl *tag_decl = tag_type->getDecl();
 3585     clang::TagDecl *tag_decl = tag_type->getDecl();
 4897     clang::TagDecl *tdecl = nullptr;
 7837 clang::TagDecl *ClangASTContext::GetAsTagDecl(const CompilerType &type) {
 8772       clang::TagDecl *tag_decl = tag_type->getDecl();
 8801       clang::TagDecl *tag_decl = tag_type->getDecl();
 8992     if (clang::TagDecl *tag_decl =
 9724         clang::TagDecl *tag_decl = tag_type->getDecl();
 9828 void ClangASTContext::CompleteTagDecl(void *baton, clang::TagDecl *decl) {
tools/lldb/source/Symbol/ClangASTImporter.cpp
  300       if (auto *tag_decl = dyn_cast<TagDecl>(decl)) {
  300       if (auto *tag_decl = dyn_cast<TagDecl>(decl)) {
  301         if (auto *original_tag_decl = dyn_cast<TagDecl>(original_decl)) {
  301         if (auto *original_tag_decl = dyn_cast<TagDecl>(original_decl)) {
  325     if (!isa<TagDecl>(to) && !isa<ObjCInterfaceDecl>(to))
  619   } else if (TagDecl *tag_decl = dyn_cast<TagDecl>(decl)) {
  619   } else if (TagDecl *tag_decl = dyn_cast<TagDecl>(decl)) {
  630 bool ClangASTImporter::CompleteTagDecl(clang::TagDecl *decl) {
  652 bool ClangASTImporter::CompleteTagDeclWithOrigin(clang::TagDecl *decl,
  653                                                  clang::TagDecl *origin_decl) {
  707     TagDecl *tag_decl = tag_type->getDecl();
  720     TagDecl *origin_tag_decl = llvm::dyn_cast<TagDecl>(decl_origin.decl);
  720     TagDecl *origin_tag_decl = llvm::dyn_cast<TagDecl>(decl_origin.decl);
  777     TagDecl *tag_decl = tag_type->getDecl();
  964   if (clang::TagDecl *to_tag = dyn_cast<clang::TagDecl>(to)) {
  964   if (clang::TagDecl *to_tag = dyn_cast<clang::TagDecl>(to)) {
  965     if (clang::TagDecl *from_tag = dyn_cast<clang::TagDecl>(from)) {
  965     if (clang::TagDecl *from_tag = dyn_cast<clang::TagDecl>(from)) {
 1145   if (TagDecl *from_tag_decl = dyn_cast<TagDecl>(from)) {
 1145   if (TagDecl *from_tag_decl = dyn_cast<TagDecl>(from)) {
 1146     TagDecl *to_tag_decl = dyn_cast<TagDecl>(to);
 1146     TagDecl *to_tag_decl = dyn_cast<TagDecl>(to);
tools/lldb/source/Symbol/ClangExternalASTSourceCallbacks.cpp
   64 void ClangExternalASTSourceCallbacks::CompleteType(TagDecl *tag_decl) {
   94     clang::TagDecl *tag_decl = llvm::dyn_cast<clang::TagDecl>(
   94     clang::TagDecl *tag_decl = llvm::dyn_cast<clang::TagDecl>(
tools/lldb/source/Symbol/ClangUtil.cpp
   51 clang::TagDecl *ClangUtil::GetAsTagDecl(const CompilerType &type) {
usr/include/c++/7.4.0/type_traits
  215     : public __is_void_helper<typename remove_cv<_Tp>::type>::type
  581     : public __or_<is_lvalue_reference<_Tp>,
  582                    is_rvalue_reference<_Tp>>::type
  601     : public __not_<__or_<is_function<_Tp>, is_reference<_Tp>,
  601     : public __not_<__or_<is_function<_Tp>, is_reference<_Tp>,
  602                           is_void<_Tp>>>::type
  638     : public __or_<is_object<_Tp>, is_reference<_Tp>>::type
  638     : public __or_<is_object<_Tp>, is_reference<_Tp>>::type
 1554     { typedef _Tp     type; };
 1558     { typedef _Tp     type; };
 1563     { typedef _Tp     type; };
 1574       remove_const<typename remove_volatile<_Tp>::type>::type     type;
 1580     { typedef _Tp const     type; };
 1629     { typedef _Tp   type; };
 1983     { typedef _Up     type; };
 1999     { typedef typename remove_reference<_Tp>::type*     type; };
 2003     : public __add_pointer_helper<_Tp>
utils/unittest/googletest/include/gtest/gtest-printers.h
  407                     T* p, ::std::ostream* os) {
  416     if (IsTrue(ImplicitlyConvertible<T*, const void*>::value)) {