|
reference, declaration → definition
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)) {