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

Derived Classes

tools/clang/include/clang/AST/Decl.h
 2992 class TypedefNameDecl : public TypeDecl, public Redeclarable<TypedefNameDecl> {
 3140 class TagDecl : public TypeDecl,
tools/clang/include/clang/AST/DeclCXX.h
 3590 class UnresolvedUsingTypenameDecl
tools/clang/include/clang/AST/DeclTemplate.h
 1150 class TemplateTypeParmDecl : public TypeDecl {

Declarations

gen/tools/clang/include/clang/AST/DeclNodes.inc
  239 ABSTRACT_DECL(TYPE(Type, NamedDecl))
tools/clang/tools/libclang/CXCursor.h
   42 class TypeDecl;
tools/lldb/include/lldb/Core/ClangForward.h
  117 class TypeDecl;

References

gen/tools/clang/include/clang/Sema/AttrParsedAttrImpl.inc
 2982   if (!D || (!isa<VarDecl>(D) && !isa<ObjCIvarDecl>(D) && !isa<TypeDecl>(D) && !isa<EnumDecl>(D) && !isa<EnumConstantDecl>(D) && !isa<LabelDecl>(D) && !isa<FieldDecl>(D) && !isa<ObjCMethodDecl>(D) && !isFunctionLike(D))) {
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);
  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
  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;
  366 LLVM_NODISCARD inline typename cast_retty<X, Y *>::ret_type
  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 };
tools/clang/include/clang/AST/ASTContext.h
  373   TypeDecl *FILEDecl = nullptr;
  376   TypeDecl *jmp_bufDecl = nullptr;
  379   TypeDecl *sigjmp_bufDecl = nullptr;
  382   TypeDecl *ucontext_tDecl = nullptr;
 1130   QualType getTypeDeclTypeSlow(const TypeDecl *Decl) const;
 1403   QualType getTypeDeclType(const TypeDecl *Decl,
 1404                            const TypeDecl *PrevDecl = nullptr) const {
 1748   void setFILEDecl(TypeDecl *FILEDecl) { this->FILEDecl = FILEDecl; }
 1758   void setjmp_bufDecl(TypeDecl *jmp_bufDecl) {
 1770   void setsigjmp_bufDecl(TypeDecl *sigjmp_bufDecl) {
 1782   void setucontext_tDecl(TypeDecl *ucontext_tDecl) {
tools/clang/include/clang/AST/ASTNodeTraverser.h
  541     if (auto *TD = dyn_cast<TypeDecl>(D->getUnderlyingDecl()))
tools/clang/include/clang/AST/Decl.h
 2992 class TypedefNameDecl : public TypeDecl, public Redeclarable<TypedefNameDecl> {
 3140 class TagDecl : public TypeDecl,
tools/clang/include/clang/AST/DeclBase.h
 2058       while (*Current && !isa<SpecificDecl>(*Current))
 2063     using value_type = SpecificDecl *;
 2086     value_type operator*() const { return cast<SpecificDecl>(*Current); }
 2462   static const ToTy *doit(const DeclContext *Val) {
 2466   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/DeclCXX.h
 3591     : public TypeDecl,
tools/clang/include/clang/AST/DeclTemplate.h
 1150 class TemplateTypeParmDecl : public TypeDecl {
tools/clang/include/clang/Sema/Lookup.h
  507   DeclClass *getAsSingle() const {
  509     return dyn_cast<DeclClass>(getFoundDecl());
tools/clang/include/clang/Sema/Sema.h
 2740   bool isIncompatibleTypedef(TypeDecl *Old, TypedefNameDecl *New);
tools/clang/include/clang/Sema/TypoCorrection.h
  156   DeclClass *getCorrectionDeclAs() const {
  157     return dyn_cast_or_null<DeclClass>(getCorrectionDecl());
tools/clang/lib/AST/ASTContext.cpp
 3971 QualType ASTContext::getTypeDeclTypeSlow(const TypeDecl *Decl) const {
tools/clang/lib/AST/ASTDiagnostic.cpp
  438       } else if (TypeDecl *Type = dyn_cast<TypeDecl>(DC)) {
  438       } else if (TypeDecl *Type = dyn_cast<TypeDecl>(DC)) {
tools/clang/lib/AST/ASTImporter.cpp
 1249       ToD, cast_or_null<TypeDecl>(ToPrevD));
tools/clang/lib/AST/Decl.cpp
  180   return isa<TypeDecl>(D) ||
tools/clang/lib/AST/QualTypeNames.cpp
   46     const ASTContext &Ctx, const TypeDecl *TD,
  356                                                const TypeDecl *TD,
tools/clang/lib/CodeGen/Address.h
  108 template <class U> inline U cast(CodeGen::Address addr) {
tools/clang/lib/CodeGen/CGDebugInfo.cpp
 1397     const TypeDecl *TD, SmallVectorImpl<llvm::Metadata *> &elements) {
 1456         if (const auto *nestedType = dyn_cast<TypeDecl>(I))
 1456         if (const auto *nestedType = dyn_cast<TypeDecl>(I))
 3406   if (const auto *TD = dyn_cast<TypeDecl>(D))
 3406   if (const auto *TD = dyn_cast<TypeDecl>(D))
tools/clang/lib/CodeGen/CGDebugInfo.h
  301   void CollectRecordNestedType(const TypeDecl *RD,
tools/clang/lib/CodeGen/CGOpenMPRuntime.cpp
 6566                   isa<TypeDecl>(D) || isa<PragmaCommentDecl>(D) ||
tools/clang/lib/CodeGen/CodeGenFunction.h
 2038   llvm::Type *ConvertType(const TypeDecl *T) {
tools/clang/lib/CodeGen/ObjectFilePCHContainerOperations.cpp
   77     bool VisitTypeDecl(TypeDecl *D) {
tools/clang/lib/Frontend/ASTUnit.cpp
  297   if (isa<TypeDecl>(ND) || isa<ObjCInterfaceDecl>(ND) ||
tools/clang/lib/Frontend/Rewrite/RewriteModernObjC.cpp
   78     TypeDecl *ProtocolTypeDecl;
tools/clang/lib/Frontend/Rewrite/RewriteObjC.cpp
   77     TypeDecl *ProtocolTypeDecl;
tools/clang/lib/Index/IndexDecl.cpp
  204       bool TypeOverride = isa<TypeDecl>(D);
  214         } else if (!isa<TypeDecl>(ND))
tools/clang/lib/Index/IndexTypeSourceInfo.cpp
  194         Name, [](const NamedDecl *ND) { return isa<TypeDecl>(ND); });
tools/clang/lib/Parse/ParseExpr.cpp
  556     if (isa<TypeDecl>(ND))
tools/clang/lib/Sema/SemaCXXScopeSpec.cpp
  325   if (!isa<TypeDecl>(SD))
  330   QualType T = Context.getTypeDeclType(cast<TypeDecl>(SD));
  683           (!isa<TypeDecl>(OuterDecl) || !isa<TypeDecl>(SD) ||
  683           (!isa<TypeDecl>(OuterDecl) || !isa<TypeDecl>(SD) ||
  685                             Context.getTypeDeclType(cast<TypeDecl>(OuterDecl)),
  686                                Context.getTypeDeclType(cast<TypeDecl>(SD))))) {
  724         Context.getTypeDeclType(cast<TypeDecl>(SD->getUnderlyingDecl()));
  813     if (TypeDecl *TD = Found.getAsSingle<TypeDecl>())
  813     if (TypeDecl *TD = Found.getAsSingle<TypeDecl>())
tools/clang/lib/Sema/SemaCodeComplete.cpp
  883   if (const auto *Type = dyn_cast<TypeDecl>(ND))
  883   if (const auto *Type = dyn_cast<TypeDecl>(ND))
  974   if ((isa<TypeDecl>(ND) || isa<ObjCInterfaceDecl>(ND)) &&
 1388   if (isa<TypeDecl>(ND))
 1488   return isa<TypeDecl>(ND) || isa<ObjCInterfaceDecl>(ND);
 2611     T = Context.getTypeDeclType(cast<TypeDecl>(Enumerator->getDeclContext()));
 6664     } else if (TypeDecl *TD = dyn_cast_or_null<TypeDecl>(ND)) {
 6664     } else if (TypeDecl *TD = dyn_cast_or_null<TypeDecl>(ND)) {
tools/clang/lib/Sema/SemaCoroutine.cpp
  112   auto *Promise = R.getAsSingle<TypeDecl>();
  112   auto *Promise = R.getAsSingle<TypeDecl>();
tools/clang/lib/Sema/SemaDecl.cpp
   85       bool IsType = isa<TypeDecl>(ND) || isa<ObjCInterfaceDecl>(ND);
  212         if (!isa<TypeDecl>(ND))
  434       if (isa<TypeDecl>(*Res) || isa<ObjCInterfaceDecl>(*Res) ||
  468   if (TypeDecl *TD = dyn_cast<TypeDecl>(IIDecl)) {
  468   if (TypeDecl *TD = dyn_cast<TypeDecl>(IIDecl)) {
  774     if (isa<TypeDecl>(*I) || isa<ObjCInterfaceDecl>(*I))
  959                    (isa<TypeDecl>(UnderlyingFirstDecl) ||
 1122   if (TypeDecl *Type = dyn_cast<TypeDecl>(FirstDecl)) {
 1122   if (TypeDecl *Type = dyn_cast<TypeDecl>(FirstDecl)) {
 1166     TypeDecl *Type = Result.getAsSingle<TypeDecl>();
 1166     TypeDecl *Type = Result.getAsSingle<TypeDecl>();
 2168 bool Sema::isIncompatibleTypedef(TypeDecl *Old, TypedefNameDecl *New) {
 2255   TypeDecl *Old = OldDecls.getAsSingle<TypeDecl>();
 2255   TypeDecl *Old = OldDecls.getAsSingle<TypeDecl>();
 4953         if (isa<TypeDecl>(Mem))
tools/clang/lib/Sema/SemaDeclCXX.cpp
 1089   auto *TD = R.getAsSingle<TypeDecl>();
 1089   auto *TD = R.getAsSingle<TypeDecl>();
 4013       return isa<TypeDecl>(ND);
 4115     TypeDecl *TyD = R.getAsSingle<TypeDecl>();
 4115     TypeDecl *TyD = R.getAsSingle<TypeDecl>();
 4165         } else if (TypeDecl *Type = Corr.getCorrectionDeclAs<TypeDecl>()) {
 4165         } else if (TypeDecl *Type = Corr.getCorrectionDeclAs<TypeDecl>()) {
10369     if (isa<TypeDecl>(ND))
10593     if (!R.getAsSingle<TypeDecl>()) {
10604     if (IsInstantiation && R.getAsSingle<TypeDecl>()) {
10716         if (!isa<TypeDecl>(D) && !isa<UsingDecl>(D) && !isa<UsingPackDecl>(D)) {
10809       if (R.getAsSingle<TypeDecl>()) {
tools/clang/lib/Sema/SemaDeclObjC.cpp
 1359       if (auto typeDecl = candidate.getCorrectionDeclAs<TypeDecl>()) {
 1480           } else if (!isa<TypeDecl>(decl)) {
 1534   typedef llvm::PointerUnion<TypeDecl *, ObjCInterfaceDecl *> TypeOrClassDecl;
 1545     if (auto typeDecl = dyn_cast<TypeDecl>(decl)) {
 1571     if (auto *actualTypeDecl = typeDecl.dyn_cast<TypeDecl *>())
 1571     if (auto *actualTypeDecl = typeDecl.dyn_cast<TypeDecl *>())
 1698       if (auto typeDecl = corrected.getCorrectionDeclAs<TypeDecl>()) {
tools/clang/lib/Sema/SemaExpr.cpp
 2070       AcceptableWithoutRecovery = isa<TypeDecl>(UnderlyingND) ||
 2438   if (const TypeDecl *TD = R.getAsSingle<TypeDecl>()) {
 2438   if (const TypeDecl *TD = R.getAsSingle<TypeDecl>()) {
tools/clang/lib/Sema/SemaExprCXX.cpp
  235   TypeDecl *NonMatchingTypeDecl = nullptr;
  256     if (TypeDecl *Type = Found.getAsSingle<TypeDecl>()) {
  256     if (TypeDecl *Type = Found.getAsSingle<TypeDecl>()) {
tools/clang/lib/Sema/SemaExprMember.cpp
  679     if (!isa<TypeDecl>(DC)) {
 1172   if (isa<TypeDecl>(MemberDecl))
tools/clang/lib/Sema/SemaExprObjC.cpp
 2180     else if (TypeDecl *Type = dyn_cast<TypeDecl>(ND)) {
 2180     else if (TypeDecl *Type = dyn_cast<TypeDecl>(ND)) {
tools/clang/lib/Sema/SemaLookup.cpp
  528     if (TypeDecl *TD = dyn_cast<TypeDecl>(D)) {
  528     if (TypeDecl *TD = dyn_cast<TypeDecl>(D)) {
 2144   if (isa<VarDecl>(D) || isa<TypeDecl>(D) || isa<EnumConstantDecl>(D))
 5186     if (!isa<TypeDecl>(D))
 5236                                  : isa<TypeDecl>(ND)) &&
tools/clang/lib/Sema/SemaStmtAsm.cpp
  799     } else if (TypeDecl *TD = dyn_cast<TypeDecl>(FoundDecl))
  799     } else if (TypeDecl *TD = dyn_cast<TypeDecl>(FoundDecl))
tools/clang/lib/Sema/SemaTemplate.cpp
 2654       if (TypeDecl *Parent = dyn_cast<TypeDecl>(Record->getParent()))
 2654       if (TypeDecl *Parent = dyn_cast<TypeDecl>(Record->getParent()))
 2664         if (TypeDecl *Parent = dyn_cast<TypeDecl>(Template->getDeclContext()))
 2664         if (TypeDecl *Parent = dyn_cast<TypeDecl>(Template->getDeclContext()))
 2698       if (TypeDecl *Parent = dyn_cast<TypeDecl>(Enum->getParent()))
 2698       if (TypeDecl *Parent = dyn_cast<TypeDecl>(Enum->getParent()))
 4532       if (Result.getAsSingle<TypeDecl>() ||
10055     if (TypeDecl *Type = dyn_cast<TypeDecl>(Result.getFoundDecl())) {
10055     if (TypeDecl *Type = dyn_cast<TypeDecl>(Result.getFoundDecl())) {
tools/clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
 5381       return cast<TypeDecl>(Inst);
 5578           << Context.getTypeDeclType(cast<TypeDecl>(Spec->getDeclContext()));
tools/clang/lib/Sema/TreeTransform.h
 5867   QualType T = SemaRef.Context.getTypeDeclType(cast<TypeDecl>(D));
13046   TypeDecl *Ty;
13081     Ty = cast<TypeDecl>((*Using->shadow_begin())->getTargetDecl());
tools/clang/lib/Serialization/ASTReaderDecl.cpp
  331     void VisitTypeDecl(TypeDecl *TD);
  534   if (auto *TD = dyn_cast<TypeDecl>(D)) {
  534   if (auto *TD = dyn_cast<TypeDecl>(D)) {
  662 void ASTDeclReader::VisitTypeDecl(TypeDecl *TD) {
tools/clang/lib/Serialization/ASTWriterDecl.cpp
   66     void VisitTypeDecl(TypeDecl *D);
  365 void ASTDeclWriter::VisitTypeDecl(TypeDecl *D) {
tools/clang/lib/Tooling/ASTDiff/ASTDiff.cpp
  431   if (auto *T = dyn_cast<TypeDecl>(D))
tools/clang/lib/Tooling/Refactoring/ASTSelection.cpp
  433       if (isa<TypeDecl>(D))
tools/clang/tools/extra/clangd/XRefs.cpp
  471     if (const TypeDecl *TD = dyn_cast<TypeDecl>(DC))
  471     if (const TypeDecl *TD = dyn_cast<TypeDecl>(DC))
  486   if (const TypeDecl *TD = dyn_cast<TypeDecl>(DC))
  486   if (const TypeDecl *TD = dyn_cast<TypeDecl>(DC))
tools/clang/tools/libclang/CIndex.cpp
 4511       const TypeDecl *Type = getCursorTypeRef(C).first;
 5830       std::pair<const TypeDecl *, SourceLocation> P = getCursorTypeRef(C);
tools/clang/tools/libclang/CXCursor.cpp
  789 CXCursor cxcursor::MakeCursorTypeRef(const TypeDecl *Type, SourceLocation Loc, 
  797 std::pair<const TypeDecl *, SourceLocation>
tools/clang/tools/libclang/CXCursor.h
   91 CXCursor MakeCursorTypeRef(const TypeDecl *Type, SourceLocation Loc,
   96 std::pair<const TypeDecl *, SourceLocation> getCursorTypeRef(CXCursor C);
tools/clang/tools/libclang/CXIndexDataConsumer.cpp
 1196   if (const TypeDecl *TD = dyn_cast<TypeDecl>(D))
 1196   if (const TypeDecl *TD = dyn_cast<TypeDecl>(D))
tools/clang/tools/libclang/CXType.cpp
  233     if (const TypeDecl *TD = dyn_cast<TypeDecl>(D))
  233     if (const TypeDecl *TD = dyn_cast<TypeDecl>(D))
 1113     if (const TypeDecl *TD = dyn_cast<TypeDecl>(D))
 1113     if (const TypeDecl *TD = dyn_cast<TypeDecl>(D))
tools/lldb/source/Plugins/ExpressionParser/Clang/ASTResultSynthesizer.cpp
  403   typedef DeclContext::specific_decl_iterator<TypeDecl> TypeDeclIterator;
  412 void ASTResultSynthesizer::MaybeRecordPersistentType(TypeDecl *D) {
tools/lldb/source/Plugins/ExpressionParser/Clang/ASTResultSynthesizer.h
  143   void MaybeRecordPersistentType(clang::TypeDecl *D);
tools/lldb/source/Plugins/ExpressionParser/Clang/ClangASTSource.cpp
  937           if (llvm::isa<clang::TypeDecl>(decl_from_modules) ||
tools/lldb/source/Plugins/ExpressionParser/Clang/ClangPersistentVariables.cpp
   71   if (clang::TypeDecl *tdecl = llvm::dyn_cast_or_null<clang::TypeDecl>(
   71   if (clang::TypeDecl *tdecl = llvm::dyn_cast_or_null<clang::TypeDecl>(
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>