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

Declarations

gen/tools/clang/include/clang/AST/DeclNodes.inc
  497 ENUMCONSTANT(EnumConstant, ValueDecl)
tools/clang/include/clang/Sema/Sema.h
  117   class EnumConstantDecl;
tools/clang/lib/CodeGen/CodeGenFunction.h
   61 class EnumConstantDecl;
tools/lldb/include/lldb/Core/ClangForward.h
   54 class EnumConstantDecl;

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))) {
 3528     return isa<EnumConstantDecl>(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);
   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);
  296                             typename cast_retty<X, Y>::ret_type>::type
  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;
  360                             typename cast_retty<X, Y>::ret_type>::type
  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
  664   template <typename NodeT> DynTypedNodeList getParents(const NodeT &Node) {
tools/clang/include/clang/AST/ASTNodeTraverser.h
  351   void VisitEnumConstantDecl(const EnumConstantDecl *D) {
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
 2862 class EnumConstantDecl : public ValueDecl, public Mergeable<EnumConstantDecl> {
 2875   static EnumConstantDecl *Create(ASTContext &C, EnumDecl *DC,
 2879   static EnumConstantDecl *CreateDeserialized(ASTContext &C, unsigned ID);
 2891   EnumConstantDecl *getCanonicalDecl() override { return getFirstDecl(); }
 2892   const EnumConstantDecl *getCanonicalDecl() const { return getFirstDecl(); }
 3525   using enumerator_iterator = specific_decl_iterator<EnumConstantDecl>;
 3527       llvm::iterator_range<specific_decl_iterator<EnumConstantDecl>>;
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); }
 2536   static ::clang::DeclContext *doit(const FromTy *Val) {
 2537     return FromTy::castToDeclContext(Val);
tools/clang/include/clang/AST/JSONNodeDumper.h
  166   template <typename T> void writePreviousDeclImpl(const Mergeable<T> *D) {
  167     const T *First = D->getFirstDecl();
  235   void VisitEnumConstantDecl(const EnumConstantDecl *ECD);
tools/clang/include/clang/AST/RecursiveASTVisitor.h
 1928 DEF_TRAVERSE_DECL(EnumConstantDecl, { TRY_TO(TraverseStmt(D->getInitExpr())); })
tools/clang/include/clang/AST/Redeclarable.h
  318   decl_type *getFirstDecl() {
  319     auto *D = static_cast<decl_type *>(this);
  322     return cast<decl_type>(getPrimaryMergedDecl(const_cast<decl_type*>(D)));
  327   const decl_type *getFirstDecl() const {
  328     const auto *D = static_cast<const decl_type *>(this);
  331     return cast<decl_type>(getPrimaryMergedDecl(const_cast<decl_type*>(D)));
tools/clang/include/clang/AST/TextNodeDumper.h
  301   void VisitEnumConstantDecl(const EnumConstantDecl *D);
tools/clang/include/clang/ASTMatchers/ASTMatchers.h
  110   const T *getNodeAs(StringRef ID) const {
  111     return MyBoundNodes.getNodeAs<T>(ID);
 1111 extern const internal::VariadicDynCastAllOfMatcher<Decl, EnumConstantDecl>
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) {
 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,
 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 {
 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,
 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/Lookup.h
  507   DeclClass *getAsSingle() const {
  509     return dyn_cast<DeclClass>(getFoundDecl());
tools/clang/include/clang/Sema/Sema.h
 2665   EnumConstantDecl *CheckEnumConstant(EnumDecl *Enum,
 2666                                       EnumConstantDecl *LastEnumConst,
tools/clang/lib/AST/ASTContext.cpp
  221         (isa<FieldDecl>(D) || isa<EnumConstantDecl>(D) || isa<VarDecl>(D) ||
tools/clang/lib/AST/ASTImporter.cpp
  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));
  442     bool IsStructuralMatch(EnumConstantDecl *FromEC, EnumConstantDecl *ToEC);
  442     bool IsStructuralMatch(EnumConstantDecl *FromEC, EnumConstantDecl *ToEC);
  463     ExpectedDecl VisitEnumConstantDecl(EnumConstantDecl *D);
 2054 bool ASTNodeImporter::IsStructuralMatch(EnumConstantDecl *FromEC,
 2055                                         EnumConstantDecl *ToEC) {
 2809 ExpectedDecl ASTNodeImporter::VisitEnumConstantDecl(EnumConstantDecl *D) {
 2830       if (auto *FoundEnumConstant = dyn_cast<EnumConstantDecl>(FoundDecl)) {
 2830       if (auto *FoundEnumConstant = dyn_cast<EnumConstantDecl>(FoundDecl)) {
 2855   EnumConstantDecl *ToEnumerator;
tools/clang/lib/AST/Decl.cpp
  861   } else if (isa<EnumConstantDecl>(D)) {
 4673 EnumConstantDecl *EnumConstantDecl::Create(ASTContext &C, EnumDecl *CD,
 4677   return new (C, CD) EnumConstantDecl(CD, L, Id, T, E, V);
 4680 EnumConstantDecl *
 4682   return new (C, ID) EnumConstantDecl(nullptr, SourceLocation(), nullptr,
tools/clang/lib/AST/DeclPrinter.cpp
   66     void VisitEnumConstantDecl(EnumConstantDecl *D);
  464     else if (isa<EnumConstantDecl>(*D)) {
  560 void DeclPrinter::VisitEnumConstantDecl(EnumConstantDecl *D) {
tools/clang/lib/AST/ExprConstant.cpp
 9899   if (const EnumConstantDecl *ECD = dyn_cast<EnumConstantDecl>(D)) {
 9899   if (const EnumConstantDecl *ECD = dyn_cast<EnumConstantDecl>(D)) {
13963     if (isa<EnumConstantDecl>(cast<DeclRefExpr>(E)->getDecl()))
tools/clang/lib/AST/ItaniumMangle.cpp
 3566     const EnumConstantDecl *ED = cast<EnumConstantDecl>(D);
 3566     const EnumConstantDecl *ED = cast<EnumConstantDecl>(D);
tools/clang/lib/AST/JSONNodeDumper.cpp
  799 void JSONNodeDumper::VisitEnumConstantDecl(const EnumConstantDecl *ECD) {
tools/clang/lib/AST/NSAPI.cpp
  586     if (const EnumConstantDecl *
  587           EnumD = dyn_cast_or_null<EnumConstantDecl>(DRE->getDecl()))
tools/clang/lib/AST/ODRHash.cpp
  429   void VisitEnumConstantDecl(const EnumConstantDecl *D) {
  431     Inherited::VisitEnumConstantDecl(D);
tools/clang/lib/AST/StmtIterator.cpp
   91   else if (EnumConstantDecl* ECD = dyn_cast<EnumConstantDecl>(D)) {
   91   else if (EnumConstantDecl* ECD = dyn_cast<EnumConstantDecl>(D)) {
tools/clang/lib/AST/TemplateBase.cpp
   58     for (const EnumConstantDecl* ECD : ET->getDecl()->enumerators()) {
tools/clang/lib/AST/TextNodeDumper.cpp
   24 static void dumpPreviousDeclImpl(raw_ostream &OS, const Mergeable<T> *D) {
   25   const T *First = D->getFirstDecl();
 1257 void TextNodeDumper::VisitEnumConstantDecl(const EnumConstantDecl *D) {
tools/clang/lib/ASTMatchers/ASTMatchersInternal.cpp
  601 const internal::VariadicDynCastAllOfMatcher<Decl, EnumConstantDecl>
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>());
  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/Analysis/CFG.cpp
  104     return isa<EnumConstantDecl>(DR->getDecl()) ? DR : nullptr;
tools/clang/lib/Analysis/ReachableCode.cpp
   37   return isa<EnumConstantDecl>(DR->getDecl());
  272   if (const EnumConstantDecl *ED = dyn_cast<EnumConstantDecl>(D))
  272   if (const EnumConstantDecl *ED = dyn_cast<EnumConstantDecl>(D))
tools/clang/lib/CodeGen/Address.h
  108 template <class U> inline U cast(CodeGen::Address addr) {
tools/clang/lib/CodeGen/CGDebugInfo.cpp
 2814   for (const auto *Enum : ED->enumerators()) {
 4453   if (const auto *ECD = dyn_cast<EnumConstantDecl>(VD)) {
 4453   if (const auto *ECD = dyn_cast<EnumConstantDecl>(VD)) {
tools/clang/lib/CodeGen/CGExpr.cpp
 1442   } else if (isa<EnumConstantDecl>(value)) {
tools/clang/lib/Edit/RewriteObjCFoundationAPI.cpp
  970       return isa<EnumConstantDecl>(VD);
tools/clang/lib/Frontend/ASTUnit.cpp
  911         for (const auto *EI : EnumD->enumerators()) {
tools/clang/lib/Frontend/Rewrite/RewriteModernObjC.cpp
 3673       for (const auto *EC : ED->enumerators()) {
tools/clang/lib/Index/IndexDecl.cpp
  334   bool VisitEnumConstantDecl(const EnumConstantDecl *D) {
tools/clang/lib/Index/IndexingContext.cpp
  166              isa<EnumConstantDecl>(D)) {
  229   } else if (const auto *ECD = dyn_cast<EnumConstantDecl>(D)) {
  229   } else if (const auto *ECD = dyn_cast<EnumConstantDecl>(D)) {
  254       isa<EnumConstantDecl>(D) ||
tools/clang/lib/Sema/CodeCompleteConsumer.cpp
  665   if (isa<EnumConstantDecl>(D))
tools/clang/lib/Sema/SemaChecking.cpp
10483     if (isa<EnumConstantDecl>(DR->getDecl()))
10721   const EnumConstantDecl *ED = nullptr;
10723     ED = dyn_cast<EnumConstantDecl>(DR->getDecl());
11954       if (EnumConstantDecl *ECD = dyn_cast<EnumConstantDecl>(DRE->getDecl())) {
11954       if (EnumConstantDecl *ECD = dyn_cast<EnumConstantDecl>(DRE->getDecl())) {
tools/clang/lib/Sema/SemaCodeComplete.cpp
  893   else if (const auto *Enumerator = dyn_cast<EnumConstantDecl>(ND))
  893   else if (const auto *Enumerator = dyn_cast<EnumConstantDecl>(ND))
  968   if (isa<EnumConstantDecl>(ND))
 2610   } else if (const auto *Enumerator = dyn_cast<EnumConstantDecl>(ND)) {
 2610   } else if (const auto *Enumerator = dyn_cast<EnumConstantDecl>(ND)) {
 4234   llvm::SmallPtrSet<EnumConstantDecl *, 8> Seen;
 4251   for (auto *E : Enum->enumerators()) {
 4997       if (auto *Enumerator =
 4998               dyn_cast<EnumConstantDecl>(DRE->getDecl())) {
tools/clang/lib/Sema/SemaDecl.cpp
 2295           auto *ED = cast<EnumConstantDecl>(D);
 2295           auto *ED = cast<EnumConstantDecl>(D);
 8977           if (auto *ECD = dyn_cast<EnumConstantDecl>(NonParmDecl))
 8977           if (auto *ECD = dyn_cast<EnumConstantDecl>(NonParmDecl))
13593         for (auto *EI : ED->enumerators())
16894 EnumConstantDecl *Sema::CheckEnumConstant(EnumDecl *Enum,
16895                                           EnumConstantDecl *LastEnumConst,
17066   return EnumConstantDecl::Create(Context, Enum, IdLoc, Id, EltTy,
17081   auto *PrevECD = dyn_cast_or_null<EnumConstantDecl>(PrevDecl);
17081   auto *PrevECD = dyn_cast_or_null<EnumConstantDecl>(PrevDecl);
17101   EnumConstantDecl *LastEnumConst =
17102     cast_or_null<EnumConstantDecl>(lastEnumConst);
17130   EnumConstantDecl *New =
17146       if (isa<EnumConstantDecl>(PrevDecl))
17174 static bool ValidDuplicateEnum(EnumConstantDecl *ECD, EnumDecl *Enum) {
17197   EnumConstantDecl *EnumConstant = dyn_cast<EnumConstantDecl>(DRE->getDecl());
17197   EnumConstantDecl *EnumConstant = dyn_cast<EnumConstantDecl>(DRE->getDecl());
17223   typedef SmallVector<EnumConstantDecl *, 3> ECDVector;
17226   typedef llvm::PointerUnion<EnumConstantDecl*, ECDVector*> DeclOrVector;
17241     EnumConstantDecl *ECD = cast_or_null<EnumConstantDecl>(Element);
17241     EnumConstantDecl *ECD = cast_or_null<EnumConstantDecl>(Element);
17263     EnumConstantDecl *ECD = cast<EnumConstantDecl>(Element);
17263     EnumConstantDecl *ECD = cast<EnumConstantDecl>(Element);
17272     if (EnumConstantDecl *D = Entry.dyn_cast<EnumConstantDecl*>()) {
17272     if (EnumConstantDecl *D = Entry.dyn_cast<EnumConstantDecl*>()) {
17304     auto *FirstECD = Vec->front();
17311     for (auto *ECD : llvm::make_range(Vec->begin() + 1, Vec->end()))
17327     for (auto *E : ED->enumerators()) {
17357       EnumConstantDecl *ECD =
17358         cast_or_null<EnumConstantDecl>(Elements[i]);
17384     EnumConstantDecl *ECD =
17385       cast_or_null<EnumConstantDecl>(Elements[i]);
17501     auto *ECD = cast_or_null<EnumConstantDecl>(D);
17501     auto *ECD = cast_or_null<EnumConstantDecl>(D);
17567       EnumConstantDecl *ECD = cast_or_null<EnumConstantDecl>(D);
17567       EnumConstantDecl *ECD = cast_or_null<EnumConstantDecl>(D);
tools/clang/lib/Sema/SemaDeclAttr.cpp
 7575   if (const auto *ECD = dyn_cast<EnumConstantDecl>(D))
 7575   if (const auto *ECD = dyn_cast<EnumConstantDecl>(D))
tools/clang/lib/Sema/SemaDeclCXX.cpp
 3525       if (isa<EnumConstantDecl>(ME->getMemberDecl()))
10621   if (auto *ED = R.getAsSingle<EnumConstantDecl>()) {
10621   if (auto *ED = R.getAsSingle<EnumConstantDecl>()) {
10718               isa<UnresolvedUsingValueDecl>(D) || isa<EnumConstantDecl>(D);
10839       } else if (R.getAsSingle<EnumConstantDecl>()) {
tools/clang/lib/Sema/SemaExpr.cpp
11348       const auto *ECDHS = dyn_cast<EnumConstantDecl>(DREHS->getDecl());
11348       const auto *ECDHS = dyn_cast<EnumConstantDecl>(DREHS->getDecl());
tools/clang/lib/Sema/SemaExprMember.cpp
 1155   if (EnumConstantDecl *Enum = dyn_cast<EnumConstantDecl>(MemberDecl)) {
 1155   if (EnumConstantDecl *Enum = dyn_cast<EnumConstantDecl>(MemberDecl)) {
tools/clang/lib/Sema/SemaLambda.cpp
  580     if (EnumConstantDecl *D
  581           = dyn_cast<EnumConstantDecl>(DRE->getDecl())) {
tools/clang/lib/Sema/SemaLookup.cpp
  469   return isa<VarDecl>(D) || isa<EnumConstantDecl>(D) || isa<FunctionDecl>(D) ||
 2144   if (isa<VarDecl>(D) || isa<TypeDecl>(D) || isa<EnumConstantDecl>(D))
tools/clang/lib/Sema/SemaOverload.cpp
 9548   if (auto *EA = dyn_cast<EnumConstantDecl>(VA)) {
 9549     if (auto *EB = dyn_cast<EnumConstantDecl>(VB)) {
tools/clang/lib/Sema/SemaStmt.cpp
  636 static bool CmpEnumVals(const std::pair<llvm::APSInt, EnumConstantDecl*>& lhs,
  637                         const std::pair<llvm::APSInt, EnumConstantDecl*>& rhs)
  644 static bool EqEnumVals(const std::pair<llvm::APSInt, EnumConstantDecl*>& lhs,
  645                        const std::pair<llvm::APSInt, EnumConstantDecl*>& rhs)
  784 typedef SmallVector<std::pair<llvm::APSInt, EnumConstantDecl*>, 64> EnumValsTy;
 1140       for (auto *EDI : ED->enumerators()) {
 1286           typedef SmallVector<std::pair<llvm::APSInt, EnumConstantDecl *>, 64>
 1292           for (auto *EDI : ED->enumerators()) {
tools/clang/lib/Sema/SemaTemplateInstantiateDecl.cpp
 1248   EnumConstantDecl *LastEnumConst = nullptr;
 1249   for (auto *EC : Pattern->enumerators()) {
 1267     EnumConstantDecl *EnumConst
 1299 Decl *TemplateDeclInstantiator::VisitEnumConstantDecl(EnumConstantDecl *D) {
 5567       } else if (EnumConstantDecl *ED = dyn_cast<EnumConstantDecl>(D)) {
 5567       } else if (EnumConstantDecl *ED = dyn_cast<EnumConstantDecl>(D)) {
tools/clang/lib/Serialization/ASTReader.cpp
11964         llvm::SmallVector<std::pair<EnumConstantDecl *, unsigned>, 4>;
11973         Hashes.emplace_back(cast<EnumConstantDecl>(D),
12077         const EnumConstantDecl *FirstEnumConstant = FirstHashes[I].first;
12078         const EnumConstantDecl *SecondEnumConstant = SecondHashes[I].first;
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); }
  365     void VisitEnumConstantDecl(EnumConstantDecl *ECD);
  424     void mergeMergeable(Mergeable<T> *D);
  816 void ASTDeclReader::VisitEnumConstantDecl(EnumConstantDecl *ECD) {
 2539   if (isa<EnumConstantDecl>(ND))
 2563     if (T *Existing = ExistingRes)
 3091   if (isa<EnumConstantDecl>(X))
 3661     D = EnumConstantDecl::CreateDeserialized(Context, ID);
tools/clang/lib/Serialization/ASTWriterDecl.cpp
   86     void VisitEnumConstantDecl(EnumConstantDecl *D);
  510 void ASTDeclWriter::VisitEnumConstantDecl(EnumConstantDecl *D) {
tools/clang/lib/StaticAnalyzer/Core/BugReporter.cpp
  772         const auto *D = dyn_cast<EnumConstantDecl>(DR->getDecl());
  772         const auto *D = dyn_cast<EnumConstantDecl>(DR->getDecl());
tools/clang/lib/StaticAnalyzer/Core/CheckerHelpers.cpp
   40   if (DR && isa<EnumConstantDecl>(DR->getDecl()))
tools/clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
 2475   if (const auto *ED = dyn_cast<EnumConstantDecl>(D)) {
 2475   if (const auto *ED = dyn_cast<EnumConstantDecl>(D)) {
 2572   if (isa<VarDecl>(Member) || isa<EnumConstantDecl>(Member)) {
tools/clang/lib/Tooling/Refactoring/Rename/USRLocFinder.cpp
  283     if (const auto *T = llvm::dyn_cast<EnumConstantDecl>(Decl)) {
  283     if (const auto *T = llvm::dyn_cast<EnumConstantDecl>(Decl)) {
  464   const Decl *getClosestAncestorDecl(const ASTNodeType &Node) {
tools/clang/tools/extra/clang-change-namespace/ChangeNamespace.cpp
  608     const auto *EnumConstDecl =
  609         Result.Nodes.getNodeAs<EnumConstantDecl>("enum_const_decl");
tools/clang/tools/extra/clang-doc/Serialize.cpp
  303   for (const EnumConstantDecl *E : D->enumerators())
tools/clang/tools/extra/clang-include-fixer/find-all-symbols/FindAllSymbols.cpp
   82   } else if (llvm::isa<EnumConstantDecl>(ND)) {
tools/clang/tools/extra/clang-tidy/bugprone/SuspiciousEnumUsageCheck.cpp
   64 static bool isNonPowerOf2NorNullLiteral(const EnumConstantDecl *EnumConst) {
  157   const auto *EnumConst =
  158       EnumExpr ? dyn_cast<EnumConstantDecl>(EnumExpr->getDecl()) : nullptr;
tools/clang/tools/extra/clang-tidy/misc/UnusedUsingDeclsCheck.cpp
   50          isa<EnumConstantDecl>(TargetDecl);
  118     } else if (const auto *ECD = dyn_cast<EnumConstantDecl>(Used)) {
  118     } else if (const auto *ECD = dyn_cast<EnumConstantDecl>(Used)) {
tools/clang/tools/extra/clang-tidy/readability/IdentifierNamingCheck.cpp
  424   if (isa<EnumConstantDecl>(D)) {
tools/clang/tools/extra/clang-tidy/readability/MagicNumbersCheck.cpp
   37   if (Node.get<clang::EnumConstantDecl>() != nullptr)
tools/clang/tools/extra/clangd/FindTarget.cpp
  109     } else if (const auto *ECD = dyn_cast<EnumConstantDecl>(D)) {
  109     } else if (const auto *ECD = dyn_cast<EnumConstantDecl>(D)) {
tools/clang/tools/extra/clangd/SemanticHighlighting.cpp
   70   if (isa<EnumConstantDecl>(D))
tools/clang/tools/libclang/CIndex.cpp
  764 bool CursorVisitor::VisitEnumConstantDecl(EnumConstantDecl *D) {
 7790     if (const EnumConstantDecl *EnumConst = dyn_cast<EnumConstantDecl>(D))
 7790     if (const EnumConstantDecl *EnumConst = dyn_cast<EnumConstantDecl>(D))
 7868     if (const EnumConstantDecl *EnumConst = dyn_cast<EnumConstantDecl>(D))
 7868     if (const EnumConstantDecl *EnumConst = dyn_cast<EnumConstantDecl>(D))
tools/clang/tools/libclang/CXIndexDataConsumer.cpp
   53   bool VisitEnumConstantDecl(const EnumConstantDecl *D) {
  636 bool CXIndexDataConsumer::handleEnumerator(const EnumConstantDecl *D) {
tools/clang/tools/libclang/CXIndexDataConsumer.h
  385   bool handleEnumerator(const EnumConstantDecl *D);
tools/clang/tools/libclang/CXType.cpp
  347     if (const EnumConstantDecl *TD = dyn_cast_or_null<EnumConstantDecl>(D)) {
  347     if (const EnumConstantDecl *TD = dyn_cast_or_null<EnumConstantDecl>(D)) {
  363     if (const EnumConstantDecl *TD = dyn_cast_or_null<EnumConstantDecl>(D)) {
  363     if (const EnumConstantDecl *TD = dyn_cast_or_null<EnumConstantDecl>(D)) {
tools/clang/tools/libclang/CursorVisitor.h
  211   bool VisitEnumConstantDecl(EnumConstantDecl *D);
tools/clang/unittests/AST/ASTImporterODRStrategiesTest.cpp
   68   using DeclTy = EnumConstantDecl;
  253     auto *ToD = FirstDeclMatcher<DeclTy>().match(ToTU, getPattern());
  256     auto *FromD = FirstDeclMatcher<DeclTy>().match(FromTU, getPattern());
tools/clang/unittests/AST/ASTImporterTest.cpp
 4740   auto *A = FirstDeclMatcher<EnumConstantDecl>().match(
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
  864   clang::EnumConstantDecl *AddEnumerationValueToEnumerationType(
  867   clang::EnumConstantDecl *AddEnumerationValueToEnumerationType(
tools/lldb/source/Plugins/ExpressionParser/Clang/ClangASTSource.cpp
  939               llvm::isa<clang::EnumConstantDecl>(decl_from_modules)) {
tools/lldb/source/Plugins/ExpressionParser/Clang/ClangPersistentVariables.cpp
   88     for (clang::EnumConstantDecl *enumerator_decl : enum_decl->enumerators()) {
tools/lldb/source/Symbol/ClangASTContext.cpp
 8861 clang::EnumConstantDecl *ClangASTContext::AddEnumerationValueToEnumerationType(
 8889   clang::EnumConstantDecl *enumerator_decl = clang::EnumConstantDecl::Create(
 8889   clang::EnumConstantDecl *enumerator_decl = clang::EnumConstantDecl::Create(
 8906 clang::EnumConstantDecl *ClangASTContext::AddEnumerationValueToEnumerationType(
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)) {