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

Declarations

gen/tools/clang/include/clang/AST/DeclNodes.inc
  247 ENUM(Enum, TagDecl)
tools/clang/include/clang/AST/CanonicalType.h
   34 class EnumDecl;
tools/clang/include/clang/AST/Decl.h
   58 class EnumDecl;
tools/clang/include/clang/AST/Type.h
  105 class EnumDecl;
tools/clang/include/clang/Edit/Rewriters.h
   18   class EnumDecl;
tools/clang/include/clang/Sema/Template.h
   36 class EnumDecl;
tools/clang/include/clang/Serialization/ASTReader.h
   87 class EnumDecl;
tools/lldb/include/lldb/Core/ClangForward.h
   53 class EnumDecl;

References

gen/tools/clang/include/clang/Sema/AttrParsedAttrImpl.inc
 1042   if (!D || (!isa<EnumDecl>(D))) {
 1115   if (!D || (!isa<EnumDecl>(D))) {
 1584   if (!D || (!isa<VarDecl>(D) && !isa<EnumDecl>(D) && !isa<TypedefNameDecl>(D) && !isa<FieldDecl>(D))) {
 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))) {
 3026   if (!D || (!isa<RecordDecl>(D) && !isa<EnumDecl>(D))) {
 3083   if (!D || (!isa<ObjCMethodDecl>(D) && !isa<EnumDecl>(D) && !isa<RecordDecl>(D) && !isFunctionLike(D))) {
 3526     return isa<EnumDecl>(D);
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; }
   77     return isa_impl<To, From>::doit(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 };
   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/ASTContext.h
 1424   QualType getEnumType(const EnumDecl *Decl) const;
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);
  234   static DynTypedNode create(const T &Node) {
  235     return BaseConverter<T>::create(Node);
  251   const T *get() const {
  252     return BaseConverter<T>::get(NodeKind, Storage.buffer);
  259   const T &getUnchecked() const {
  260     return BaseConverter<T>::getUnchecked(NodeKind, Storage.buffer);
  394     static const T *get(ASTNodeKind NodeKind, const char Storage[]) {
  395       if (ASTNodeKind::getFromNodeKind<T>().isBaseOf(NodeKind))
  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
  360     if (isa<EnumDecl>(DC))
 2875   static EnumConstantDecl *Create(ASTContext &C, EnumDecl *DC,
 3439            SourceLocation IdLoc, IdentifierInfo *Id, EnumDecl *PrevDecl,
 3444   void setInstantiationOfMemberEnum(ASTContext &C, EnumDecl *ED,
 3481   EnumDecl *getCanonicalDecl() override {
 3482     return cast<EnumDecl>(TagDecl::getCanonicalDecl());
 3484   const EnumDecl *getCanonicalDecl() const {
 3488   EnumDecl *getPreviousDecl() {
 3489     return cast_or_null<EnumDecl>(
 3492   const EnumDecl *getPreviousDecl() const {
 3496   EnumDecl *getMostRecentDecl() {
 3497     return cast<EnumDecl>(static_cast<TagDecl *>(this)->getMostRecentDecl());
 3499   const EnumDecl *getMostRecentDecl() const {
 3503   EnumDecl *getDefinition() const {
 3504     return cast_or_null<EnumDecl>(TagDecl::getDefinition());
 3507   static EnumDecl *Create(ASTContext &C, DeclContext *DC,
 3509                           IdentifierInfo *Id, EnumDecl *PrevDecl,
 3512   static EnumDecl *CreateDeserialized(ASTContext &C, unsigned ID);
 3534     const EnumDecl *E = getDefinition();
 3541     const EnumDecl *E = getDefinition();
 3630   EnumDecl *getTemplateInstantiationPattern() const;
 3635   EnumDecl *getInstantiatedFromMemberEnum() const;
 3656   void setInstantiationOfMemberEnum(EnumDecl *ED,
 4432 inline bool IsEnumDeclComplete(EnumDecl *ED) {
 4440 inline bool IsEnumDeclScoped(EnumDecl *ED) {
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);
 2536   static ::clang::DeclContext *doit(const FromTy *Val) {
 2537     return FromTy::castToDeclContext(Val);
tools/clang/include/clang/AST/JSONNodeDumper.h
  234   void VisitEnumDecl(const EnumDecl *ED);
tools/clang/include/clang/AST/ODRHash.h
   65   void AddEnumDecl(const EnumDecl *Enum);
tools/clang/include/clang/AST/RecursiveASTVisitor.h
  511   bool TraverseDeclTemplateParameterLists(T *D);
 1822   TRY_TO(TraverseDeclTemplateParameterLists(D));
 1824   if (D->getTypeForDecl())
 1825     TRY_TO(TraverseType(QualType(D->getTypeForDecl(), 0)));
 1827   TRY_TO(TraverseNestedNameSpecifierLoc(D->getQualifierLoc()));
tools/clang/include/clang/AST/TextNodeDumper.h
  299   void VisitEnumDecl(const EnumDecl *D);
tools/clang/include/clang/AST/Type.h
 4473   explicit EnumType(const EnumDecl *D)
 4477   EnumDecl *getDecl() const {
 6681 bool IsEnumDeclComplete(EnumDecl *);
 6682 bool IsEnumDeclScoped(EnumDecl *);
tools/clang/include/clang/AST/TypeLoc.h
  730   EnumDecl *getDecl() const { return getTypePtr()->getDecl(); }
tools/clang/include/clang/ASTMatchers/ASTMatchers.h
  110   const T *getNodeAs(StringRef ID) const {
  111     return MyBoundNodes.getNodeAs<T>(ID);
 1101 extern const internal::VariadicDynCastAllOfMatcher<Decl, EnumDecl> enumDecl;
tools/clang/include/clang/ASTMatchers/ASTMatchersInternal.h
  160   const T *getNodeAs(StringRef ID) const {
  165     return It->second.get<T>();
  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>()),
  436     return canConvertTo(ast_type_traits::ASTNodeKind::getFromNodeKind<T>());
  445   template <typename T> Matcher<T> convertTo() const {
  447     return unconditionalConvertTo<T>();
  479 class WrapperMatcherInterface : public MatcherInterface<T> {
  499   explicit Matcher(MatcherInterface<T> *Implementation)
  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 &&
  529     static_assert(std::is_base_of<To, T>::value, "Invalid dynCast call.");
  534   bool matches(const T &Node,
  581     return Other.dynCastTo(ast_type_traits::ASTNodeKind::getFromNodeKind<T>());
  596 inline Matcher<T> makeMatcher(MatcherInterface<T> *Implementation) {
  596 inline Matcher<T> makeMatcher(MatcherInterface<T> *Implementation) {
  994   bool matchesChildOf(const T &Node, const DynTypedMatcher &Matcher,
  997     static_assert(std::is_base_of<Decl, T>::value ||
  998                   std::is_base_of<Stmt, T>::value ||
  999                   std::is_base_of<NestedNameSpecifier, T>::value ||
 1000                   std::is_base_of<NestedNameSpecifierLoc, T>::value ||
 1001                   std::is_base_of<TypeLoc, T>::value ||
 1002                   std::is_base_of<QualType, T>::value,
 1026   bool matchesAncestorOf(const T &Node,
 1030     static_assert(std::is_base_of<Decl, T>::value ||
 1031                       std::is_base_of<NestedNameSpecifierLoc, T>::value ||
 1032                       std::is_base_of<Stmt, T>::value ||
 1033                       std::is_base_of<TypeLoc, T>::value,
 1084       std::is_base_of<typename AnyTypeList::head, T>::value ||
 1085       TypeListContainsSuperOf<typename AnyTypeList::tail, T>::value;
 1146     template <typename To> operator Matcher<To>() const {
 1184   operator Matcher<T>() const {
 1185     static_assert(TypeListContainsSuperOf<ReturnTypes, T>::value,
 1202   operator Matcher<T>() const {
 1203     static_assert(TypeListContainsSuperOf<ReturnTypes, T>::value,
 1243   operator Matcher<T>() const {
 1245                ast_type_traits::ASTNodeKind::getFromNodeKind<T>())
 1246         .template unconditionalConvertTo<T>();
 1255 class BindableMatcher : public Matcher<T> {
 1257   explicit BindableMatcher(const Matcher<T> &M) : Matcher<T>(M) {}
 1258   explicit BindableMatcher(MatcherInterface<T> *Implementation)
 1265   Matcher<T> bind(StringRef ID) const {
 1285 class HasMatcher : public WrapperMatcherInterface<T> {
 1290   bool matches(const T &Node, ASTMatchFinder *Finder,
 1335   template <typename T> operator Matcher<T>() const {
 1337                Op, ast_type_traits::ASTNodeKind::getFromNodeKind<T>(),
 1338                getMatchers<T>(std::index_sequence_for<Ps...>()))
 1339         .template unconditionalConvertTo<T>();
 1370 inline Matcher<T> DynTypedMatcher::unconditionalConvertTo() const {
 1376 BindableMatcher<T> makeAllOfComposite(
 1377     ArrayRef<const Matcher<T> *> InnerMatchers) {
 1388   using PI = llvm::pointee_iterator<const Matcher<T> *const *>;
 1395           ast_type_traits::ASTNodeKind::getFromNodeKind<T>(),
 1397           .template unconditionalConvertTo<T>());
 1408     ArrayRef<const Matcher<InnerT> *> InnerMatchers) {
 1438 class HasParentMatcher : public WrapperMatcherInterface<T> {
 1446   bool matches(const T &Node, ASTMatchFinder *Finder,
 1458 class HasAncestorMatcher : public WrapperMatcherInterface<T> {
 1466   bool matches(const T &Node, ASTMatchFinder *Finder,
 1557     : public VariadicFunction<BindableMatcher<SourceT>, Matcher<TargetT>,
 1558                               makeDynCastAllOfComposite<SourceT, TargetT>> {
tools/clang/include/clang/ASTMatchers/Dynamic/VariantValue.h
  199   ast_matchers::internal::Matcher<T> getTypedMatcher() const {
  202         ->template convertTo<T>();
  227       : MatcherOps(ast_type_traits::ASTNodeKind::getFromNodeKind<T>()) {}
  228   typedef ast_matchers::internal::Matcher<T> MatcherT;
  232     return DynTypedMatcher(Matcher.convertTo<T>());
tools/clang/include/clang/Sema/Sema.h
 1151   mutable llvm::DenseMap<const EnumDecl*, llvm::APInt> FlagBitsCache;
 2665   EnumConstantDecl *CheckEnumConstant(EnumDecl *Enum,
 2673                               const EnumDecl *Prev);
 5005   EnumDecl *getStdAlignValT() const;
 8386                        EnumDecl *Instantiation, EnumDecl *Pattern,
 8386                        EnumDecl *Instantiation, EnumDecl *Pattern,
10307   bool IsValueInFlagEnum(const EnumDecl *ED, const llvm::APInt &Val,
tools/clang/include/clang/Sema/Template.h
  560     void InstantiateEnumDefinition(EnumDecl *Enum, EnumDecl *Pattern);
  560     void InstantiateEnumDefinition(EnumDecl *Enum, EnumDecl *Pattern);
tools/clang/include/clang/Serialization/ASTReader.h
 1114   llvm::SmallDenseMap<EnumDecl *, llvm::SmallVector<EnumDecl *, 2>, 2>
 1114   llvm::SmallDenseMap<EnumDecl *, llvm::SmallVector<EnumDecl *, 2>, 2>
 1146   llvm::DenseMap<EnumDecl *, EnumDecl *> EnumDefinitions;
 1146   llvm::DenseMap<EnumDecl *, EnumDecl *> EnumDefinitions;
 1887   T *ReadDeclAs(ModuleFile &F, const RecordData &R, unsigned &I) {
 1888     return cast_or_null<T>(GetDecl(ReadDeclID(F, R, I)));
 2541   T *readDeclAs() {
 2542     return Reader->ReadDeclAs<T>(*F, Record, Idx);
tools/clang/lib/ARCMigrate/ObjCMT.cpp
   54   bool migrateNSEnumDecl(ASTContext &Ctx, const EnumDecl *EnumDcl,
  716 static bool rewriteToNSEnumDecl(const EnumDecl *EnumDcl,
  771                                  const EnumDecl *EnumDcl,
  802                               const EnumDecl *EnumDcl) {
  910                                            const EnumDecl *EnumDcl,
 1882       else if (const EnumDecl *ED = dyn_cast<EnumDecl>(*D)) {
 1882       else if (const EnumDecl *ED = dyn_cast<EnumDecl>(*D)) {
 1904         if (const EnumDecl *ED = dyn_cast<EnumDecl>(*N)) {
 1904         if (const EnumDecl *ED = dyn_cast<EnumDecl>(*N)) {
tools/clang/lib/AST/ASTContext.cpp
  136   if (const auto *ED = dyn_cast<EnumDecl>(D)) {
  136   if (const auto *ED = dyn_cast<EnumDecl>(D)) {
  354   if (const auto *ED = dyn_cast<EnumDecl>(&D)) {
  354   if (const auto *ED = dyn_cast<EnumDecl>(&D)) {
  356     if (const EnumDecl *MemberDecl = ED->getInstantiatedFromMemberEnum())
 2112       const EnumDecl *ED = ET->getDecl();
 3985   } else if (const auto *Enum = dyn_cast<EnumDecl>(Decl)) {
 3985   } else if (const auto *Enum = dyn_cast<EnumDecl>(Decl)) {
 4027 QualType ASTContext::getEnumType(const EnumDecl *Decl) const {
 4030   if (const EnumDecl *PrevDecl = Decl->getPreviousDecl())
 6745   EnumDecl *Enum = ET->getDecl();
tools/clang/lib/AST/ASTImporter.cpp
  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) {
  217           -> decltype(ToDeclT::Create(std::forward<Args>(args)...)) {
  218         return ToDeclT::Create(std::forward<Args>(args)...);
  229     LLVM_NODISCARD bool GetImportedOrCreateDecl(ToDeclT *&ToD, FromDeclT *FromD,
  229     LLVM_NODISCARD bool GetImportedOrCreateDecl(ToDeclT *&ToD, FromDeclT *FromD,
  234       CallOverloadedCreateFun<ToDeclT> OC;
  256     GetImportedOrCreateSpecialDecl(ToDeclT *&ToD, CreateFunT CreateFun,
  257                                    FromDeclT *FromD, Args &&... args) {
  262       ToD = cast_or_null<ToDeclT>(Importer.GetAlreadyImportedOrNull(FromD));
  394         EnumDecl *From, EnumDecl *To,
  394         EnumDecl *From, EnumDecl *To,
  441     bool IsStructuralMatch(EnumDecl *FromEnum, EnumDecl *ToRecord);
  441     bool IsStructuralMatch(EnumDecl *FromEnum, EnumDecl *ToRecord);
  461     ExpectedDecl VisitEnumDecl(EnumDecl *D);
  936 bool ASTNodeImporter::hasSameVisibilityContext(T *Found, T *From) {
  936 bool ASTNodeImporter::hasSameVisibilityContext(T *Found, T *From) {
 1354   Expected<EnumDecl *> ToDeclOrErr = import(T->getDecl());
 1607   if (EnumDecl *FromEnum = dyn_cast<EnumDecl>(FromD)) {
 1607   if (EnumDecl *FromEnum = dyn_cast<EnumDecl>(FromD)) {
 1608     if (EnumDecl *ToEnum = cast<EnumDecl>(ToD)) {
 1608     if (EnumDecl *ToEnum = cast<EnumDecl>(ToD)) {
 1918     EnumDecl *From, EnumDecl *To, ImportDefinitionKind Kind) {
 1918     EnumDecl *From, EnumDecl *To, ImportDefinitionKind Kind) {
 2024 bool ASTNodeImporter::IsStructuralMatch(EnumDecl *FromEnum, EnumDecl *ToEnum) {
 2024 bool ASTNodeImporter::IsStructuralMatch(EnumDecl *FromEnum, EnumDecl *ToEnum) {
 2028     if (auto *ToOriginEnum = dyn_cast<EnumDecl>(ToOrigin))
 2028     if (auto *ToOriginEnum = dyn_cast<EnumDecl>(ToOrigin))
 2485 ExpectedDecl ASTNodeImporter::VisitEnumDecl(EnumDecl *D) {
 2521       if (auto *FoundEnum = dyn_cast<EnumDecl>(FoundDecl)) {
 2521       if (auto *FoundEnum = dyn_cast<EnumDecl>(FoundDecl)) {
 2551   EnumDecl *D2;
 2857           ToEnumerator, D, Importer.getToContext(), cast<EnumDecl>(DC), Loc,
 8080   } else if (auto *ToEnum = dyn_cast<EnumDecl>(ToDC)) {
 8080   } else if (auto *ToEnum = dyn_cast<EnumDecl>(ToDC)) {
 8081     auto *FromEnum = cast<EnumDecl>(FromDC);
 8081     auto *FromEnum = cast<EnumDecl>(FromDC);
 8599   if (auto *ToEnum = dyn_cast<EnumDecl>(To)) {
 8599   if (auto *ToEnum = dyn_cast<EnumDecl>(To)) {
 8602           cast<EnumDecl>(FromDC), ToEnum, ASTNodeImporter::IDK_Everything);
tools/clang/lib/AST/ASTStructuralEquivalence.cpp
 1336                                      EnumDecl *D1, EnumDecl *D2) {
 1336                                      EnumDecl *D1, EnumDecl *D2) {
 1345   EnumDecl::enumerator_iterator EC2 = D2->enumerator_begin(),
 1347   for (EnumDecl::enumerator_iterator EC1 = D1->enumerator_begin(),
 1767   } else if (auto *Enum1 = dyn_cast<EnumDecl>(D1)) {
 1767   } else if (auto *Enum1 = dyn_cast<EnumDecl>(D1)) {
 1768     if (auto *Enum2 = dyn_cast<EnumDecl>(D2)) {
 1768     if (auto *Enum2 = dyn_cast<EnumDecl>(D2)) {
tools/clang/lib/AST/Decl.cpp
 1360         return getLVForDecl(cast<EnumDecl>(D->getDeclContext()), computation);
 1648     } else if (const auto *ED = dyn_cast<EnumDecl>(DC)) {
 1648     } else if (const auto *ED = dyn_cast<EnumDecl>(DC)) {
 2454 static DeclT *getDefinitionOrSelf(DeclT *D) {
 2454 static DeclT *getDefinitionOrSelf(DeclT *D) {
 2456   if (auto *Def = D->getDefinition())
 4157                    SourceLocation IdLoc, IdentifierInfo *Id, EnumDecl *PrevDecl,
 4173 EnumDecl *EnumDecl::Create(ASTContext &C, DeclContext *DC,
 4176                            EnumDecl *PrevDecl, bool IsScoped,
 4178   auto *Enum = new (C, DC) EnumDecl(C, DC, StartLoc, IdLoc, Id, PrevDecl,
 4178   auto *Enum = new (C, DC) EnumDecl(C, DC, StartLoc, IdLoc, Id, PrevDecl,
 4185 EnumDecl *EnumDecl::CreateDeserialized(ASTContext &C, unsigned ID) {
 4186   EnumDecl *Enum =
 4187       new (C, ID) EnumDecl(C, nullptr, SourceLocation(), SourceLocation(),
 4244 EnumDecl *EnumDecl::getTemplateInstantiationPattern() const {
 4247       EnumDecl *ED = getInstantiatedFromMemberEnum();
 4248       while (auto *NewED = ED->getInstantiatedFromMemberEnum())
 4259 EnumDecl *EnumDecl::getInstantiatedFromMemberEnum() const {
 4261     return cast<EnumDecl>(SpecializationInfo->getInstantiatedFrom());
 4266 void EnumDecl::setInstantiationOfMemberEnum(ASTContext &C, EnumDecl *ED,
 4673 EnumConstantDecl *EnumConstantDecl::Create(ASTContext &C, EnumDecl *CD,
tools/clang/lib/AST/DeclBase.cpp
 1123     return !cast<EnumDecl>(this)->isScoped();
tools/clang/lib/AST/DeclPrinter.cpp
   64     void VisitEnumDecl(EnumDecl *D);
  518 void DeclPrinter::VisitEnumDecl(EnumDecl *D) {
tools/clang/lib/AST/JSONNodeDumper.cpp
  791 void JSONNodeDumper::VisitEnumDecl(const EnumDecl *ED) {
tools/clang/lib/AST/MicrosoftMangle.cpp
  965       } else if (isa<EnumDecl>(TD) &&
  966                  cast<EnumDecl>(TD)->enumerator_begin() !=
  967                      cast<EnumDecl>(TD)->enumerator_end()) {
  969         auto *ED = cast<EnumDecl>(TD);
tools/clang/lib/AST/ODRHash.cpp
  597 void ODRHash::AddEnumDecl(const EnumDecl *Enum) {
tools/clang/lib/AST/TextNodeDumper.cpp
 1234 void TextNodeDumper::VisitEnumDecl(const EnumDecl *D) {
tools/clang/lib/AST/Type.cpp
 2125     EnumDecl *EnumD = cast<EnumType>(CanonicalType)->getDecl();
tools/clang/lib/ASTMatchers/ASTMatchersInternal.cpp
  600 const internal::VariadicDynCastAllOfMatcher<Decl, EnumDecl> enumDecl;
tools/clang/lib/ASTMatchers/Dynamic/Marshallers.h
   75     return Value.isMatcher() && Value.getMatcher().hasTypedMatcher<T>();
   78   static ast_matchers::internal::Matcher<T> get(const VariantValue &Value) {
   79     return Value.getMatcher().getTypedMatcher<T>();
   83     return ArgKind(ast_type_traits::ASTNodeKind::getFromNodeKind<T>());
  361     RetTypes.push_back(ast_type_traits::ASTNodeKind::getFromNodeKind<T>());
  466       ast_matchers::internal::VariadicDynCastAllOfMatcher<BaseT, DerivedT> Func,
  469         DerivedKind(ast_type_traits::ASTNodeKind::getFromNodeKind<DerivedT>()) {
  778     ast_matchers::internal::VariadicDynCastAllOfMatcher<BaseT, DerivedT>
tools/clang/lib/CodeGen/Address.h
  108 template <class U> inline U cast(CodeGen::Address addr) {
tools/clang/lib/CodeGen/CGDebugInfo.cpp
  891     return isa<CXXRecordDecl>(TD) || isa<EnumDecl>(TD);
 2064 void CGDebugInfo::completeType(const EnumDecl *ED) {
 2756   const EnumDecl *ED = Ty->getDecl();
 2800   const EnumDecl *ED = Ty->getDecl();
 4454     const auto *ED = cast<EnumDecl>(ECD->getDeclContext());
 4454     const auto *ED = cast<EnumDecl>(ECD->getDeclContext());
tools/clang/lib/CodeGen/CGDebugInfo.h
  497   void completeType(const EnumDecl *ED);
tools/clang/lib/CodeGen/CGExpr.cpp
 1557     const EnumDecl *ED = ET->getDecl();
tools/clang/lib/CodeGen/CodeGenTypes.cpp
  246   if (const EnumDecl *ED = dyn_cast<EnumDecl>(TD)) {
  246   if (const EnumDecl *ED = dyn_cast<EnumDecl>(TD)) {
  642     const EnumDecl *ED = cast<EnumType>(Ty)->getDecl();
tools/clang/lib/CodeGen/TargetInfo.cpp
 9012   if (const EnumDecl *ED = ET->getDecl()->getDefinition()) {
tools/clang/lib/Frontend/ASTUnit.cpp
  327     if (isa<EnumDecl>(ND)) {
  907     if (const auto *EnumD = dyn_cast<EnumDecl>(D)) {
  907     if (const auto *EnumD = dyn_cast<EnumDecl>(D)) {
tools/clang/lib/Frontend/Rewrite/RewriteModernObjC.cpp
 3614   if (EnumDecl *ED = dyn_cast<EnumDecl>(Tag)) {
 3614   if (EnumDecl *ED = dyn_cast<EnumDecl>(Tag)) {
 3662     EnumDecl *ED = Type->castAs<EnumType>()->getDecl();
tools/clang/lib/Index/IndexingContext.cpp
  162   } else if (const auto *ED = dyn_cast<EnumDecl>(D)) {
  162   } else if (const auto *ED = dyn_cast<EnumDecl>(D)) {
  216   } else if (const auto *ED = dyn_cast<EnumDecl>(D)) {
  216   } else if (const auto *ED = dyn_cast<EnumDecl>(D)) {
  230     if (const auto *ED = dyn_cast<EnumDecl>(ECD->getDeclContext())) {
  230     if (const auto *ED = dyn_cast<EnumDecl>(ECD->getDeclContext())) {
  231       if (const EnumDecl *Pattern = ED->getInstantiatedFromMemberEnum()) {
tools/clang/lib/Index/USRGeneration.cpp
  495   if (!isa<EnumDecl>(D) &&
  556       if (auto *ED = dyn_cast<EnumDecl>(D)) {
tools/clang/lib/Parse/ParseExpr.cpp
 2429       while (CodeDC->isRecord() || isa<EnumDecl>(CodeDC)) {
tools/clang/lib/Sema/Sema.cpp
 1255     if (isa<BlockDecl>(DC) || isa<EnumDecl>(DC) || isa<CapturedDecl>(DC)) {
tools/clang/lib/Sema/SemaAccess.cpp
   70   if (isa<EnumDecl>(DC))
   71     DC = cast<EnumDecl>(DC)->getDeclContext();
tools/clang/lib/Sema/SemaCXXScopeSpec.cpp
  233   auto *EnumD = dyn_cast<EnumDecl>(tag);
  233   auto *EnumD = dyn_cast<EnumDecl>(tag);
  253   if (EnumDecl *Pattern = EnumD->getInstantiatedFromMemberEnum()) {
  344   } else if (isa<EnumDecl>(SD)) {
tools/clang/lib/Sema/SemaChecking.cpp
 5655              const EnumDecl *ED = Type->castAs<EnumType>()->getDecl();
10094       EnumDecl *Enum = ET->getDecl();
10909     EnumDecl *BitfieldEnumDecl = BitfieldType->castAs<EnumType>()->getDecl();
10942       EnumDecl *ED = EnumTy->getDecl();
11955         EnumDecl *Enum = cast<EnumDecl>(ECD->getDeclContext());
11955         EnumDecl *Enum = cast<EnumDecl>(ECD->getDeclContext());
14218 static bool isLayoutCompatible(ASTContext &C, EnumDecl *ED1, EnumDecl *ED2) {
14218 static bool isLayoutCompatible(ASTContext &C, EnumDecl *ED1, EnumDecl *ED2) {
tools/clang/lib/Sema/SemaCodeComplete.cpp
  894     T = C.getTypeDeclType(cast<EnumDecl>(Enumerator->getDeclContext()));
 1445   return isa<EnumDecl>(ND);
 4240                            EnumDecl *Enum, DeclContext *CurContext,
 4374       EnumDecl *Enum = Data.PreferredType->castAs<EnumType>()->getDecl();
 4375       if (auto *Def = Enum->getDefinition())
 4980   EnumDecl *Enum = type->castAs<EnumType>()->getDecl();
 4981   if (EnumDecl *Def = Enum->getDefinition())
tools/clang/lib/Sema/SemaDecl.cpp
 2292       if (isa<EnumDecl>(NewTag)) {
 4552     if (EnumDecl *Enum = dyn_cast_or_null<EnumDecl>(Tag))
 4552     if (EnumDecl *Enum = dyn_cast_or_null<EnumDecl>(Tag))
 5548     if (!DC || isa<EnumDecl>(DC)) {
 8978             TD = cast<EnumDecl>(ECD->getDeclContext());
13592       if (auto *ED = dyn_cast<EnumDecl>(NonParmDecl)) {
13592       if (auto *ED = dyn_cast<EnumDecl>(NonParmDecl)) {
14422                                   const EnumDecl *Prev) {
14816       New = EnumDecl::Create(Context, SearchDC, KWLoc, Loc, Name, nullptr,
14822         EnumDecl *ED = cast<EnumDecl>(New);
14822         EnumDecl *ED = cast<EnumDecl>(New);
14988       while (isa<RecordDecl>(SearchDC) || isa<EnumDecl>(SearchDC))
15173           const EnumDecl *PrevEnum = cast<EnumDecl>(PrevTagDecl);
15173           const EnumDecl *PrevEnum = cast<EnumDecl>(PrevTagDecl);
15252                 else if (EnumDecl *ED = dyn_cast<EnumDecl>(Def))
15252                 else if (EnumDecl *ED = dyn_cast<EnumDecl>(Def))
15412     New = EnumDecl::Create(Context, SearchDC, KWLoc, Loc, Name,
15413                            cast_or_null<EnumDecl>(PrevDecl), ScopedEnum,
15417       StdAlignValT = cast<EnumDecl>(New);
15422       if (IsFixed && cast<EnumDecl>(New)->isFixed()) {
15426       else if (PrevDecl && (Def = cast<EnumDecl>(PrevDecl)->getDefinition())) {
15441       EnumDecl *ED = cast<EnumDecl>(New);
15441       EnumDecl *ED = cast<EnumDecl>(New);
16894 EnumConstantDecl *Sema::CheckEnumConstant(EnumDecl *Enum,
17085   EnumDecl *PrevED = cast<EnumDecl>(PrevECD->getDeclContext());
17085   EnumDecl *PrevED = cast<EnumDecl>(PrevECD->getDeclContext());
17100   EnumDecl *TheEnumDecl = cast<EnumDecl>(theEnumDecl);
17100   EnumDecl *TheEnumDecl = cast<EnumDecl>(theEnumDecl);
17174 static bool ValidDuplicateEnum(EnumConstantDecl *ECD, EnumDecl *Enum) {
17201   if (cast<EnumDecl>(TagDecl::castFromDeclContext(ECD->getDeclContext())) !=
17211                                         EnumDecl *Enum, QualType EnumType) {
17318 bool Sema::IsValueInFlagEnum(const EnumDecl *ED, const llvm::APInt &Val,
17350   EnumDecl *Enum = cast<EnumDecl>(EnumDeclX);
17350   EnumDecl *Enum = cast<EnumDecl>(EnumDeclX);
tools/clang/lib/Sema/SemaDeclAttr.cpp
 2771               (isa<ObjCInterfaceDecl>(D) || isa<EnumDecl>(D)))) {
 3771     if (const auto *ED = dyn_cast<EnumDecl>(D))
 3771     if (const auto *ED = dyn_cast<EnumDecl>(D))
 3950   else if (const auto *ED = dyn_cast<EnumDecl>(D)) {
 3950   else if (const auto *ED = dyn_cast<EnumDecl>(D)) {
 3973   if ((isa<EnumDecl>(D) || OldElemTy->getAs<EnumType>()) &&
 4037   else if (auto *ED = dyn_cast<EnumDecl>(D))
 4037   else if (auto *ED = dyn_cast<EnumDecl>(D))
 7578       if (const auto *TheEnumDecl = dyn_cast<EnumDecl>(DC)) {
 7578       if (const auto *TheEnumDecl = dyn_cast<EnumDecl>(DC)) {
tools/clang/lib/Sema/SemaDeclCXX.cpp
 9475 EnumDecl *Sema::getStdAlignValT() const {
 9476   return cast_or_null<EnumDecl>(StdAlignValT.get(Context.getExternalSource()));
10054     if (isa<EnumDecl>(OrigDC)) OrigDC = OrigDC->getParent();
10622     if (cast<EnumDecl>(ED->getDeclContext())->isScoped()) {
tools/clang/lib/Sema/SemaExprCXX.cpp
 2716     auto *AlignValT = EnumDecl::Create(
 2716     auto *AlignValT = EnumDecl::Create(
tools/clang/lib/Sema/SemaLambda.cpp
  573 static EnumDecl *findEnumForBlockReturn(Expr *E) {
  582       return cast<EnumDecl>(D->getDeclContext());
  607     if (EnumDecl *ED = findEnumForBlockReturn(CO->getTrueExpr()))
  636 static EnumDecl *findEnumForBlockReturn(ReturnStmt *ret) {
  645 static EnumDecl *findCommonEnumForBlockReturns(ArrayRef<ReturnStmt*> returns) {
  649   EnumDecl *ED = findEnumForBlockReturn(*i);
  741     const EnumDecl *ED = findCommonEnumForBlockReturns(CSI.Returns);
tools/clang/lib/Sema/SemaLookup.cpp
 1532   } else if (EnumDecl *ED = dyn_cast<EnumDecl>(Entity)) {
 1532   } else if (EnumDecl *ED = dyn_cast<EnumDecl>(Entity)) {
 1533     if (auto *Pattern = ED->getTemplateInstantiationPattern())
 2873       EnumDecl *Enum = cast<EnumType>(T)->getDecl();
tools/clang/lib/Sema/SemaModule.cpp
  676     if (DC->getRedeclContext()->isFileContext() && !isa<EnumDecl>(D))
tools/clang/lib/Sema/SemaOverload.cpp
 3807   EnumDecl *Enum = FromType->getAs<EnumType>()->getDecl();
 9552       auto *EnumA = cast<EnumDecl>(EA->getDeclContext());
 9553       auto *EnumB = cast<EnumDecl>(EB->getDeclContext());
tools/clang/lib/Sema/SemaStmt.cpp
  789                                               const EnumDecl *ED,
 1135       const EnumDecl *ED = ET->getDecl();
 1276         const EnumDecl *ED = ET->getDecl();
tools/clang/lib/Sema/SemaTemplate.cpp
 2695       EnumDecl *Enum = EnumT->getDecl();
 7477   else if (isa<EnumDecl>(Specialized) && S.getLangOpts().CPlusPlus11)
 8677   } else if (isa<EnumDecl>(Member)) {
 8678     EnumDecl *PrevEnum;
 8680         (PrevEnum = dyn_cast<EnumDecl>(Previous.getFoundDecl()))) {
 8774   } else if (auto *MemberEnum = dyn_cast<EnumDecl>(Member)) {
 8774   } else if (auto *MemberEnum = dyn_cast<EnumDecl>(Member)) {
 8776         cast<EnumDecl>(InstantiatedFrom), TSK_ExplicitSpecialization);
 8794 static void completeMemberSpecializationImpl(Sema &S, DeclT *OrigD,
 8819   else if (auto *Enum = dyn_cast<EnumDecl>(Instantiation))
 8819   else if (auto *Enum = dyn_cast<EnumDecl>(Instantiation))
10386     if (auto *ED = dyn_cast<EnumDecl>(ND))
10386     if (auto *ED = dyn_cast<EnumDecl>(ND))
10418   void checkImpl(SpecDecl *Spec) {
10470   void checkInstantiated(EnumDecl *FD) {}
tools/clang/lib/Sema/SemaTemplateInstantiate.cpp
  515       } else if (EnumDecl *ED = dyn_cast<EnumDecl>(D)) {
  515       } else if (EnumDecl *ED = dyn_cast<EnumDecl>(D)) {
 2184       } else if (EnumDecl *Enum = dyn_cast<EnumDecl>(NewMember)) {
 2184       } else if (EnumDecl *Enum = dyn_cast<EnumDecl>(NewMember)) {
 2328                            EnumDecl *Instantiation, EnumDecl *Pattern,
 2328                            EnumDecl *Instantiation, EnumDecl *Pattern,
 2331   EnumDecl *PatternDef = Pattern->getDefinition();
 2825     } else if (auto *Enum = dyn_cast<EnumDecl>(D)) {
 2825     } else if (auto *Enum = dyn_cast<EnumDecl>(D)) {
 2843       EnumDecl *Pattern = Enum->getTemplateInstantiationPattern();
 3033   if (isa<EnumDecl>(D))
tools/clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
  647 static DeclT *getPreviousDeclForInstantiation(DeclT *D) {
  647 static DeclT *getPreviousDeclForInstantiation(DeclT *D) {
  648   DeclT *Result = D->getPreviousDecl();
 1159 Decl *TemplateDeclInstantiator::VisitEnumDecl(EnumDecl *D) {
 1160   EnumDecl *PrevDecl = nullptr;
 1161   if (EnumDecl *PatternPrev = getPreviousDeclForInstantiation(D)) {
 1166     PrevDecl = cast<EnumDecl>(Prev);
 1169   EnumDecl *Enum =
 1170       EnumDecl::Create(SemaRef.Context, Owner, D->getBeginLoc(),
 1209   EnumDecl *Def = D->getDefinition();
 1240     EnumDecl *Enum, EnumDecl *Pattern) {
 1240     EnumDecl *Enum, EnumDecl *Pattern) {
 5134 static bool isInstantiationOf(EnumDecl *Pattern,
 5135                               EnumDecl *Instance) {
 5219   if (auto *Enum = dyn_cast<EnumDecl>(Other))
 5219   if (auto *Enum = dyn_cast<EnumDecl>(Other))
 5220     return isInstantiationOf(cast<EnumDecl>(D), Enum);
 5377       NeedInstantiate = isa<EnumDecl>(D);
 5571         EnumDecl *Enum = cast<EnumDecl>(ED->getLexicalDeclContext());
 5571         EnumDecl *Enum = cast<EnumDecl>(ED->getLexicalDeclContext());
 5572         EnumDecl *Spec = cast<EnumDecl>(FindInstantiatedDecl(Loc, Enum,
 5572         EnumDecl *Spec = cast<EnumDecl>(FindInstantiatedDecl(Loc, Enum,
tools/clang/lib/Sema/SemaType.cpp
 7881   } else if (auto *ED = dyn_cast<EnumDecl>(D)) {
 7881   } else if (auto *ED = dyn_cast<EnumDecl>(D)) {
 7882     if (auto *Pattern = ED->getTemplateInstantiationPattern())
 8011   if (Def && !isa<EnumDecl>(Def))
 8415         EnumDecl *ED = BaseType->getAs<EnumType>()->getDecl();
tools/clang/lib/Sema/TreeTransform.h
  912   QualType RebuildEnumType(EnumDecl *Enum) {
 5839   EnumDecl *Enum
 5840     = cast_or_null<EnumDecl>(getDerived().TransformDecl(TL.getNameLoc(),
tools/clang/lib/Serialization/ASTReader.cpp
 6629       = Context.getEnumType(ReadDeclAs<EnumDecl>(*Loc.F, Record, Idx));
 7620       isa<CXXRecordDecl>(DC) || isa<EnumDecl>(DC)) {
11960     EnumDecl *FirstEnum = Merge.first;
tools/clang/lib/Serialization/ASTReaderDecl.cpp
  144     T *ReadDeclAs() {
  145       return Record.readDeclAs<T>();
  337     void VisitEnumDecl(EnumDecl *ED);
  463   DeclT *Start;
  464   DeclT *Canonical = nullptr;
  465   DeclT *Current = nullptr;
  469   MergedRedeclIterator(DeclT *Start) : Start(Start), Current(Start) {}
  471   DeclT *operator*() { return Current; }
  498 static llvm::iterator_range<MergedRedeclIterator<DeclT>>
  499 merged_redecls(DeclT *D) {
  736 void ASTDeclReader::VisitEnumDecl(EnumDecl *ED) {
  757     EnumDecl *&OldDef = Reader.EnumDefinitions[ED->getCanonicalDecl()];
  761       for (auto *D : merged_redecls(ED->getCanonicalDecl())) {
  779   if (auto *InstED = ReadDeclAs<EnumDecl>()) {
  779   if (auto *InstED = ReadDeclAs<EnumDecl>()) {
 3159   if (auto *ED = dyn_cast<EnumDecl>(DC))
 3159   if (auto *ED = dyn_cast<EnumDecl>(DC))
 3655     D = EnumDecl::CreateDeserialized(Context, ID);
tools/clang/lib/Serialization/ASTWriterDecl.cpp
   72     void VisitEnumDecl(EnumDecl *D);
  427 void ASTDeclWriter::VisitEnumDecl(EnumDecl *D) {
tools/clang/lib/StaticAnalyzer/Checkers/EnumCastOutOfRangeChecker.cpp
  128   const EnumDecl *ED = T->castAs<EnumType>()->getDecl();
tools/clang/lib/Tooling/Refactoring/Rename/USRLocFinder.cpp
  289       if (const auto *ED =
  290               llvm::dyn_cast_or_null<EnumDecl>(getClosestAncestorDecl(*T))) {
  456     if (const auto *ED =
  457             llvm::dyn_cast_or_null<EnumDecl>(Loc.getType()->getAsTagDecl()))
tools/clang/tools/extra/clang-doc/Mapper.cpp
   26 template <typename T> bool MapASTVisitor::mapDecl(const T *D) {
   63 bool MapASTVisitor::VisitEnumDecl(const EnumDecl *D) { return mapDecl(D); }
tools/clang/tools/extra/clang-doc/Mapper.h
   39   bool VisitEnumDecl(const EnumDecl *D);
tools/clang/tools/extra/clang-doc/Serialize.cpp
  282       if (const auto *N = dyn_cast<EnumDecl>(T)) {
  282       if (const auto *N = dyn_cast<EnumDecl>(T)) {
  302 static void parseEnumerators(EnumInfo &I, const EnumDecl *D) {
  310       if (const auto *N = dyn_cast<EnumDecl>(T)) {
  310       if (const auto *N = dyn_cast<EnumDecl>(T)) {
  377     else if (const auto *N = dyn_cast<EnumDecl>(DC))
  377     else if (const auto *N = dyn_cast<EnumDecl>(DC))
  392 static void populateInfo(Info &I, const T *D, const FullComment *C,
  404 static void populateSymbolInfo(SymbolInfo &I, const T *D, const FullComment *C,
  422     if (dyn_cast<EnumDecl>(T))
  618 emitInfo(const EnumDecl *D, const FullComment *FC, int LineNumber,
tools/clang/tools/extra/clang-doc/Serialize.h
   46 emitInfo(const EnumDecl *D, const FullComment *FC, int LineNumber,
tools/clang/tools/extra/clang-include-fixer/find-all-symbols/FindAllSymbols.cpp
   29   if (const auto *ED = dyn_cast<EnumDecl>(Node.getDeclContext()))
   29   if (const auto *ED = dyn_cast<EnumDecl>(Node.getDeclContext()))
   60     } else if (const auto *ED = dyn_cast<EnumDecl>(Context)) {
   60     } else if (const auto *ED = dyn_cast<EnumDecl>(Context)) {
   84   } else if (llvm::isa<EnumDecl>(ND)) {
tools/clang/tools/extra/clang-move/Move.cpp
  216     const auto *ED = Result.Nodes.getNodeAs<EnumDecl>("enum");
  216     const auto *ED = Result.Nodes.getNodeAs<EnumDecl>("enum");
tools/clang/tools/extra/clang-tidy/bugprone/SuspiciousEnumUsageCheck.cpp
   40   ValueRange(const EnumDecl *EnumDec) {
   53 static int enumLength(const EnumDecl *EnumDec) {
   57 static bool hasDisjointValueRange(const EnumDecl *Enum1,
   58                                   const EnumDecl *Enum2) {
   74 static bool isMaxValAllBitSetLiteral(const EnumDecl *EnumDec) {
   89 static int countNonPowOfTwoLiteralNum(const EnumDecl *EnumDec) {
  100 static bool isPossiblyBitMask(const EnumDecl *EnumDec) {
  155     const Expr *NodeExpr, const EnumDecl *EnumDec) {
  175     const auto *EnumDec = Result.Nodes.getNodeAs<EnumDecl>("enumDecl");
  175     const auto *EnumDec = Result.Nodes.getNodeAs<EnumDecl>("enumDecl");
  176     const auto *OtherEnumDec =
  177         Result.Nodes.getNodeAs<EnumDecl>("otherEnumDecl");
  195   const auto *EnumDec = Result.Nodes.getNodeAs<EnumDecl>("enumDecl");
  195   const auto *EnumDec = Result.Nodes.getNodeAs<EnumDecl>("enumDecl");
tools/clang/tools/extra/clang-tidy/bugprone/SuspiciousEnumUsageCheck.h
   30   void checkSuspiciousBitmaskUsage(const Expr*, const EnumDecl*);
tools/clang/tools/extra/clang-tidy/misc/UnusedUsingDeclsCheck.cpp
   49          isa<FunctionTemplateDecl>(TargetDecl) || isa<EnumDecl>(TargetDecl) ||
tools/clang/tools/extra/clang-tidy/readability/IdentifierNamingCheck.cpp
  421   if (isa<EnumDecl>(D) && NamingStyles[SK_Enum])
tools/clang/tools/extra/clangd/AST.cpp
  146     if (isa<EnumDecl>(ND))
tools/clang/tools/extra/clangd/CodeComplete.cpp
 1794   if (const auto *EnumDecl = dyn_cast<clang::EnumDecl>(ND.getDeclContext()))
 1794   if (const auto *EnumDecl = dyn_cast<clang::EnumDecl>(ND.getDeclContext()))
tools/clang/tools/extra/clangd/FindTarget.cpp
  100     } else if (const auto *ED = dyn_cast<EnumDecl>(D)) {
  100     } else if (const auto *ED = dyn_cast<EnumDecl>(D)) {
  110       if (const auto *ED = dyn_cast<EnumDecl>(ECD->getDeclContext())) {
  110       if (const auto *ED = dyn_cast<EnumDecl>(ECD->getDeclContext())) {
  111         if (const EnumDecl *Pattern = ED->getInstantiatedFromMemberEnum()) {
tools/clang/tools/extra/clangd/SemanticHighlighting.cpp
   68   if (isa<EnumDecl>(D))
tools/clang/tools/extra/unittests/clang-doc/SerializeTest.cpp
   38   template <typename T> bool mapDecl(const T *D) {
   61   bool VisitEnumDecl(const EnumDecl *D) { return mapDecl(D); }
tools/clang/tools/libclang/CIndex.cpp
 8478   auto *Enum = dyn_cast_or_null<EnumDecl>(D);
tools/clang/tools/libclang/CXType.cpp
  330     if (const EnumDecl *TD = dyn_cast_or_null<EnumDecl>(D)) {
  330     if (const EnumDecl *TD = dyn_cast_or_null<EnumDecl>(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/ASTImporterODRStrategiesTest.cpp
   60   using DeclTy = EnumDecl;
  253     auto *ToD = FirstDeclMatcher<DeclTy>().match(ToTU, getPattern());
  256     auto *FromD = FirstDeclMatcher<DeclTy>().match(FromTU, getPattern());
tools/clang/unittests/AST/ASTImporterTest.cpp
 4739   auto *E = FirstDeclMatcher<EnumDecl>().match(ToTU, enumDecl(hasName("E")));
tools/clang/unittests/AST/ASTImporterVisibilityTest.cpp
   39   using DeclTy = EnumDecl;
  233     auto *ToF0 = FirstDeclMatcher<DeclTy>().match(ToTu, getPattern());
  234     auto *FromF1 = FirstDeclMatcher<DeclTy>().match(FromTu, getPattern());
  236     auto *ToF1 = Import(FromF1, Lang_CXX14);
  255     auto *FromF0 = FirstDeclMatcher<DeclTy>().match(FromTu0, getPattern());
  256     auto *FromF1 = FirstDeclMatcher<DeclTy>().match(FromTu1, getPattern());
  257     auto *ToF0 = Import(FromF0, Lang_CXX14);
  258     auto *ToF1 = Import(FromF1, Lang_CXX14);
tools/clang/unittests/AST/DeclMatcher.h
   22   NodeType *Node = nullptr;
   26       Node = const_cast<NodeType *>(Result.Nodes.getNodeAs<NodeType>(""));
   32   NodeType *match(const Decl *D, const MatcherType &AMatcher) {
   47   using UnaryPredicate = std::function<bool(const NodeType *)>;
   51     if (auto N = Result.Nodes.getNodeAs<NodeType>("")) {
tools/lldb/include/lldb/Symbol/ClangASTContext.h
  223           if (const RecordDeclType *record_decl =
  224                   llvm::dyn_cast<RecordDeclType>(named_decl))
  923   static clang::EnumDecl *GetAsEnumDecl(const CompilerType &type);
tools/lldb/source/Plugins/ExpressionParser/Clang/ClangPersistentVariables.cpp
   87   if (clang::EnumDecl *enum_decl = llvm::dyn_cast<clang::EnumDecl>(decl)) {
   87   if (clang::EnumDecl *enum_decl = llvm::dyn_cast<clang::EnumDecl>(decl)) {
tools/lldb/source/Plugins/SymbolFile/PDB/PDBASTParser.cpp
  482     CompilerType ast_enum = m_ast.GetTypeForIdentifier<clang::EnumDecl>(
tools/lldb/source/Symbol/ClangASTContext.cpp
 2239   EnumDecl *enum_decl = EnumDecl::Create(
 2239   EnumDecl *enum_decl = EnumDecl::Create(
 5793     const clang::EnumDecl *enum_decl = enum_type->getDecl();
 5798       clang::EnumDecl::enumerator_iterator enum_pos, enum_end_pos;
 7821 clang::EnumDecl *ClangASTContext::GetAsEnumDecl(const CompilerType &type) {
 8709     clang::EnumDecl *enum_decl =
 8820       clang::EnumDecl *enum_decl = enutype->getDecl();
 8928       clang::EnumDecl *enum_decl = enutype->getDecl();
 9171       const clang::EnumDecl *enum_decl = enutype->getDecl();
 9173       clang::EnumDecl::enumerator_iterator enum_pos, enum_end_pos;
 9389   const clang::EnumDecl *enum_decl = enutype->getDecl();
 9756       clang::EnumDecl *enum_decl =
tools/lldb/source/Symbol/ClangASTImporter.cpp
  426     clang::EnumDecl *enum_decl =
  502     clang::EnumDecl *enum_decl =
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)) {