|
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 503 INDIRECTFIELD(IndirectField, ValueDecl)
tools/clang/include/clang/Sema/Sema.h 202 class IndirectFieldDecl;
References
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;
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 };
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);
251 const T *get() const {
252 return BaseConverter<T>::get(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 2902 public Mergeable<IndirectFieldDecl> {
2915 static IndirectFieldDecl *Create(ASTContext &C, DeclContext *DC,
2919 static IndirectFieldDecl *CreateDeserialized(ASTContext &C, unsigned ID);
2941 IndirectFieldDecl *getCanonicalDecl() override { return getFirstDecl(); }
2942 const IndirectFieldDecl *getCanonicalDecl() const { return getFirstDecl(); }
tools/clang/include/clang/AST/DeclBase.h 2536 static ::clang::DeclContext *doit(const FromTy *Val) {
2537 return FromTy::castToDeclContext(Val);
tools/clang/include/clang/AST/DeclCXX.h 2141 llvm::PointerUnion3<TypeSourceInfo *, FieldDecl *, IndirectFieldDecl *>
2193 CXXCtorInitializer(ASTContext &Context, IndirectFieldDecl *Member,
2219 return Initializee.is<IndirectFieldDecl*>();
2283 return Initializee.get<IndirectFieldDecl*>()->getAnonField();
2287 IndirectFieldDecl *getIndirectMember() const {
2289 return Initializee.get<IndirectFieldDecl*>();
tools/clang/include/clang/AST/JSONNodeDumper.h 166 template <typename T> void writePreviousDeclImpl(const Mergeable<T> *D) {
167 const T *First = D->getFirstDecl();
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 302 void VisitIndirectFieldDecl(const IndirectFieldDecl *D);
tools/clang/include/clang/ASTMatchers/ASTMatchers.h 110 const T *getNodeAs(StringRef ID) const {
111 return MyBoundNodes.getNodeAs<T>(ID);
1172 extern const internal::VariadicDynCastAllOfMatcher<Decl, IndirectFieldDecl>
tools/clang/include/clang/ASTMatchers/ASTMatchersInternal.h 160 const T *getNodeAs(StringRef ID) const {
165 return It->second.get<T>();
436 return canConvertTo(ast_type_traits::ASTNodeKind::getFromNodeKind<T>());
445 template <typename T> Matcher<T> convertTo() const {
447 return unconditionalConvertTo<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>());
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 {
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) {
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/Initialization.h 364 InitializeMember(IndirectFieldDecl *Member,
tools/clang/include/clang/Sema/Lookup.h 507 DeclClass *getAsSingle() const {
509 return dyn_cast<DeclClass>(getFoundDecl());
tools/clang/include/clang/Sema/Sema.h 4564 IndirectFieldDecl *indirectField,
tools/clang/include/clang/Serialization/ASTReader.h 1887 T *ReadDeclAs(ModuleFile &F, const RecordData &R, unsigned &I) {
1888 return cast_or_null<T>(GetDecl(ReadDeclID(F, R, I)));
tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/ProgramState.h 321 SVal getLValue(const IndirectFieldDecl *decl, SVal Base) const;
741 inline SVal ProgramState::getLValue(const IndirectFieldDecl *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));
470 ExpectedDecl VisitIndirectFieldDecl(IndirectFieldDecl *D);
1728 if (isa<FieldDecl>(D) || isa<IndirectFieldDecl>(D) || isa<FriendDecl>(D)) {
3445 ExpectedDecl ASTNodeImporter::VisitIndirectFieldDecl(IndirectFieldDecl *D) {
3459 if (auto *FoundField = dyn_cast<IndirectFieldDecl>(FoundDecls[I])) {
3459 if (auto *FoundField = dyn_cast<IndirectFieldDecl>(FoundDecls[I])) {
3503 IndirectFieldDecl *ToIndirectField;
7811 if (isa<FieldDecl>(*D) || isa<IndirectFieldDecl>(*D))
8544 ToContext, cast_or_null<IndirectFieldDecl>(*ToIFieldOrErr),
tools/clang/lib/AST/Decl.cpp 677 } else if (const auto *IFD = dyn_cast<IndirectFieldDecl>(D)) {
677 } else if (const auto *IFD = dyn_cast<IndirectFieldDecl>(D)) {
924 isa<IndirectFieldDecl>(D) ||
1793 if (isa<FieldDecl>(D) || isa<IndirectFieldDecl>(D) || isa<MSPropertyDecl>(D))
4377 return FieldDecl::classofKind(K) || IndirectFieldDecl::classofKind(K);
4700 IndirectFieldDecl *
4704 return new (C, DC) IndirectFieldDecl(C, DC, L, Id, T, CH);
4707 IndirectFieldDecl *IndirectFieldDecl::CreateDeserialized(ASTContext &C,
4709 return new (C, ID) IndirectFieldDecl(C, nullptr, SourceLocation(),
tools/clang/lib/AST/DeclCXX.cpp 674 !isa<IndirectFieldDecl>(D) &&
2373 IndirectFieldDecl *Member,
tools/clang/lib/AST/ExprClassification.cpp 452 isa<IndirectFieldDecl>(D) ||
tools/clang/lib/AST/ExprConstant.cpp 2739 const IndirectFieldDecl *IFD) {
4165 } else if (const IndirectFieldDecl *IFD =
4166 dyn_cast<IndirectFieldDecl>(MemPtr.getDecl())) {
5656 } else if (IndirectFieldDecl *IFD = I->getIndirectMember()) {
7236 } else if (const IndirectFieldDecl *IFD = dyn_cast<IndirectFieldDecl>(MD)) {
7236 } else if (const IndirectFieldDecl *IFD = dyn_cast<IndirectFieldDecl>(MD)) {
10252 } else if (auto *IFD = dyn_cast<IndirectFieldDecl>(ME->getMemberDecl())) {
10252 } else if (auto *IFD = dyn_cast<IndirectFieldDecl>(ME->getMemberDecl())) {
tools/clang/lib/AST/ItaniumMangle.cpp 651 else if (const IndirectFieldDecl *IFD = dyn_cast<IndirectFieldDecl>(D))
651 else if (const IndirectFieldDecl *IFD = dyn_cast<IndirectFieldDecl>(D))
tools/clang/lib/AST/MicrosoftMangle.cpp 1459 if (isa<FieldDecl>(ND) || isa<IndirectFieldDecl>(ND)) {
tools/clang/lib/AST/RecordLayoutBuilder.cpp 3168 const IndirectFieldDecl *IFD = cast<IndirectFieldDecl>(VD);
3168 const IndirectFieldDecl *IFD = cast<IndirectFieldDecl>(VD);
tools/clang/lib/AST/TextNodeDumper.cpp 24 static void dumpPreviousDeclImpl(raw_ostream &OS, const Mergeable<T> *D) {
25 const T *First = D->getFirstDecl();
1262 void TextNodeDumper::VisitIndirectFieldDecl(const IndirectFieldDecl *D) {
tools/clang/lib/ASTMatchers/ASTMatchersInternal.cpp 608 const internal::VariadicDynCastAllOfMatcher<Decl, IndirectFieldDecl>
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/CodeGen/Address.h 108 template <class U> inline U cast(CodeGen::Address addr) {
tools/clang/lib/CodeGen/CGClass.cpp 598 IndirectFieldDecl *IndirectField = MemberInit->getIndirectMember();
tools/clang/lib/Sema/SemaDecl.cpp 4700 if ((isa<FieldDecl>(D) || isa<IndirectFieldDecl>(D)) &&
4718 if (IndirectFieldDecl *IF = dyn_cast<IndirectFieldDecl>(VD))
4718 if (IndirectFieldDecl *IF = dyn_cast<IndirectFieldDecl>(VD))
4729 IndirectFieldDecl *IndirectField = IndirectFieldDecl::Create(
4729 IndirectFieldDecl *IndirectField = IndirectFieldDecl::Create(
4781 if (const auto *IFD = dyn_cast<IndirectFieldDecl>(I))
4781 if (const auto *IFD = dyn_cast<IndirectFieldDecl>(I))
16431 if (const auto *IFD = dyn_cast<IndirectFieldDecl>(I))
16431 if (const auto *IFD = dyn_cast<IndirectFieldDecl>(I))
tools/clang/lib/Sema/SemaDeclCXX.cpp 2225 else if (IndirectFieldDecl *ID = I->getIndirectMember())
3107 if ((isa<FieldDecl>(Field) || isa<IndirectFieldDecl>(Field)) &&
3813 } else if (auto *IFD = dyn_cast<IndirectFieldDecl>(I)) {
3813 } else if (auto *IFD = dyn_cast<IndirectFieldDecl>(I)) {
4039 (Member = dyn_cast<IndirectFieldDecl>(Result.front())))
4221 IndirectFieldDecl *IndirectMember = dyn_cast<IndirectFieldDecl>(Member);
4221 IndirectFieldDecl *IndirectMember = dyn_cast<IndirectFieldDecl>(Member);
4591 FieldDecl *Field, IndirectFieldDecl *Indirect,
4823 IndirectFieldDecl *Indirect) {
4855 IndirectFieldDecl *Indirect = nullptr) {
4982 if (IndirectFieldDecl *F = Member->getIndirectMember()) {
5086 if (auto *F = dyn_cast<IndirectFieldDecl>(Mem)) {
5086 if (auto *F = dyn_cast<IndirectFieldDecl>(Mem)) {
6342 isa<IndirectFieldDecl>(D)) {
10107 !isa<IndirectFieldDecl>(Target) &&
tools/clang/lib/Sema/SemaExpr.cpp 1834 if (IndirectFieldDecl *IFD = dyn_cast<IndirectFieldDecl>(D))
1834 if (IndirectFieldDecl *IFD = dyn_cast<IndirectFieldDecl>(D))
2382 isa<IndirectFieldDecl>(R.getFoundDecl()) ||
2987 if (IndirectFieldDecl *indirectField = dyn_cast<IndirectFieldDecl>(VD))
2987 if (IndirectFieldDecl *indirectField = dyn_cast<IndirectFieldDecl>(VD))
12449 } else if (isa<FieldDecl>(dcl) || isa<IndirectFieldDecl>(dcl)) {
13683 if (isa<FieldDecl>(VD) || isa<IndirectFieldDecl>(VD))
13958 IndirectFieldDecl *IndirectMemberDecl = nullptr;
13960 if ((IndirectMemberDecl = R.getAsSingle<IndirectFieldDecl>()))
tools/clang/lib/Sema/SemaExprCXX.cpp 7581 isa<IndirectFieldDecl>(ND) ||
tools/clang/lib/Sema/SemaExprMember.cpp 110 isa<IndirectFieldDecl>(D);
213 bool IsField = isa<FieldDecl>(Rep) || isa<IndirectFieldDecl>(Rep);
805 IndirectFieldDecl *indirectField,
840 IndirectFieldDecl::chain_iterator
1124 if (IndirectFieldDecl *FD = dyn_cast<IndirectFieldDecl>(MemberDecl))
1124 if (IndirectFieldDecl *FD = dyn_cast<IndirectFieldDecl>(MemberDecl))
tools/clang/lib/Sema/SemaInit.cpp 2258 IndirectFieldDecl *IndirectField) {
2263 for (IndirectFieldDecl::chain_iterator PI = IndirectField->chain_begin(),
2503 if (auto *IFD = dyn_cast<IndirectFieldDecl>(ND)) {
2503 if (auto *IFD = dyn_cast<IndirectFieldDecl>(ND)) {
tools/clang/lib/Sema/SemaStmtAsm.cpp 863 FD = dyn_cast<IndirectFieldDecl>(FieldResult.getFoundDecl());
tools/clang/lib/Sema/SemaTemplate.cpp 6058 if (isa<FieldDecl>(Entity) || isa<IndirectFieldDecl>(Entity)) {
6304 isa<IndirectFieldDecl>(DRE->getDecl()) ||
6970 isa<IndirectFieldDecl>(VD))) {
tools/clang/lib/Sema/SemaTemplateInstantiateDecl.cpp 1064 Decl *TemplateDeclInstantiator::VisitIndirectFieldDecl(IndirectFieldDecl *D) {
1079 IndirectFieldDecl *IndirectField = IndirectFieldDecl::Create(
1079 IndirectFieldDecl *IndirectField = IndirectFieldDecl::Create(
5033 IndirectFieldDecl *IndirectMember =
5034 cast_or_null<IndirectFieldDecl>(FindInstantiatedDecl(
tools/clang/lib/Serialization/ASTReader.cpp 9406 IndirectFieldDecl *IndirectMember = nullptr;
9424 IndirectMember = ReadDeclAs<IndirectFieldDecl>(F, Record, Idx);
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); }
376 void VisitIndirectFieldDecl(IndirectFieldDecl *FD);
424 void mergeMergeable(Mergeable<T> *D);
1347 void ASTDeclReader::VisitIndirectFieldDecl(IndirectFieldDecl *FD) {
2563 if (T *Existing = ExistingRes)
3084 if (const auto *IFDX = dyn_cast<IndirectFieldDecl>(X)) {
3084 if (const auto *IFDX = dyn_cast<IndirectFieldDecl>(X)) {
3085 const auto *IFDY = cast<IndirectFieldDecl>(Y);
3085 const auto *IFDY = cast<IndirectFieldDecl>(Y);
3816 D = IndirectFieldDecl::CreateDeserialized(Context, ID);
tools/clang/lib/Serialization/ASTWriterDecl.cpp 97 void VisitIndirectFieldDecl(IndirectFieldDecl *D);
935 void ASTDeclWriter::VisitIndirectFieldDecl(IndirectFieldDecl *D) {
tools/clang/lib/StaticAnalyzer/Core/ExprEngine.cpp 2487 if (isa<FieldDecl>(D) || isa<IndirectFieldDecl>(D)) {
tools/clang/tools/libclang/CXType.cpp 1034 if (const IndirectFieldDecl *IFD = dyn_cast<IndirectFieldDecl>(Res.front()))
1034 if (const IndirectFieldDecl *IFD = dyn_cast<IndirectFieldDecl>(Res.front()))
1064 if (const IndirectFieldDecl *IFD = dyn_cast_or_null<IndirectFieldDecl>(D))
1064 if (const IndirectFieldDecl *IFD = dyn_cast_or_null<IndirectFieldDecl>(D))
tools/clang/unittests/AST/ASTImporterTest.cpp 1425 if (isa<FieldDecl>(D) || isa<IndirectFieldDecl>(D)) {
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) {
tools/clang/unittests/AST/StructuralEquivalenceTest.cpp 672 auto *A = FirstDeclMatcher<IndirectFieldDecl>().match(
676 auto *B = FirstDeclMatcher<IndirectFieldDecl>().match(
705 auto *A = FirstDeclMatcher<IndirectFieldDecl>().match(
711 auto *A1 = FirstDeclMatcher<IndirectFieldDecl>().match(
tools/lldb/source/Symbol/ClangASTContext.cpp 7970 typedef llvm::SmallVector<clang::IndirectFieldDecl *, 1> IndirectFieldVector;
8002 clang::IndirectFieldDecl *indirect_field =
8003 clang::IndirectFieldDecl::Create(
8014 } else if (clang::IndirectFieldDecl *nested_indirect_field_decl =
8015 llvm::dyn_cast<clang::IndirectFieldDecl>(*di)) {
8023 for (clang::IndirectFieldDecl::chain_iterator
8031 clang::IndirectFieldDecl *indirect_field =
8032 clang::IndirectFieldDecl::Create(
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>