|
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 159 OBJCPROTOCOL(ObjCProtocol, ObjCContainerDecl)
tools/clang/include/clang/AST/ASTContext.h 114 class ObjCProtocolDecl;
tools/clang/include/clang/AST/DeclBase.h 62 class ObjCProtocolDecl;
tools/clang/include/clang/AST/DeclObjC.h 56 class ObjCProtocolDecl;
tools/clang/include/clang/AST/Type.h 112 class ObjCProtocolDecl;
tools/clang/include/clang/AST/TypeLoc.h 40 class ObjCProtocolDecl;
tools/clang/include/clang/Edit/Rewriters.h 16 class ObjCProtocolDecl;
tools/clang/include/clang/Sema/Sema.h 154 class ObjCProtocolDecl;
tools/clang/lib/CodeGen/CGObjCRuntime.h 49 class ObjCProtocolDecl;
tools/clang/lib/CodeGen/CodeGenModule.h 59 class ObjCProtocolDecl;
tools/clang/tools/libclang/CXCursor.h 36 class ObjCProtocolDecl;
tools/lldb/include/lldb/Core/ClangForward.h 87 class ObjCProtocolDecl;
References
gen/tools/clang/include/clang/Sema/AttrParsedAttrImpl.inc 2091 if (!D || (!isa<ObjCProtocolDecl>(D))) {
2231 if (!D || (!isa<ObjCInterfaceDecl>(D) && !isa<ObjCProtocolDecl>(D))) {
3550 return isa<ObjCProtocolDecl>(D);
include/llvm/ADT/ArrayRef.h 108 const ArrayRef<U *> &A,
110 std::is_convertible<U *const *, T const *>::value>::type * = nullptr)
118 const SmallVectorTemplateCommon<U *, DummyT> &Vec,
120 std::is_convertible<U *const *, T const *>::value>::type * = nullptr)
127 ArrayRef(const std::vector<U *, A> &Vec,
129 std::is_convertible<U *const *, T const *>::value>::type* = 0)
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);
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 1155 ArrayRef<ObjCProtocolDecl *> protocols, bool &hasError,
1497 ObjCProtocolDecl * const *Protocols,
1502 ArrayRef<ObjCProtocolDecl *> protocols,
1506 ArrayRef<ObjCProtocolDecl *> protocols) const;
1839 bool ProtocolCompatibleWithProtocol(ObjCProtocolDecl *lProto,
1840 ObjCProtocolDecl *rProto) const;
2271 llvm::SmallPtrSet<ObjCProtocolDecl*, 8> &Protocols);
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);
tools/clang/include/clang/AST/Decl.h 4406 decl_type *MostRecent = First->getNextRedeclaration();
4407 RedeclLink = PreviousDeclLink(cast<decl_type>(MostRecent));
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/DeclObjC.h 84 void set(T* const* InList, unsigned Elts, ASTContext &Ctx) {
88 using iterator = T* const *;
93 T* operator[](unsigned Idx) const {
101 class ObjCProtocolList : public ObjCList<ObjCProtocolDecl> {
114 void set(ObjCProtocolDecl* const* InList, unsigned Elts,
1105 using ProtocolPropertySet = llvm::SmallDenseSet<const ObjCProtocolDecl *, 8>;
1191 ObjCList<ObjCProtocolDecl> AllReferencedProtocols;
1420 using all_protocol_iterator = ObjCList<ObjCProtocolDecl>::iterator;
1491 void setProtocolList(ObjCProtocolDecl *const* List, unsigned Num,
1498 void mergeClassExtensionProtocolList(ObjCProtocolDecl *const* List,
1836 ObjCProtocolDecl *lookupNestedProtocol(IdentifierInfo *Name);
1899 bool ClassImplementsProtocol(ObjCProtocolDecl *lProto,
2064 public Redeclarable<ObjCProtocolDecl> {
2067 ObjCProtocolDecl *Definition;
2082 ObjCProtocolDecl *PrevDecl);
2093 using redeclarable_base = Redeclarable<ObjCProtocolDecl>;
2095 ObjCProtocolDecl *getNextRedeclarationImpl() override {
2099 ObjCProtocolDecl *getPreviousDeclImpl() override {
2103 ObjCProtocolDecl *getMostRecentDeclImpl() override {
2112 static ObjCProtocolDecl *Create(ASTContext &C, DeclContext *DC,
2116 ObjCProtocolDecl *PrevDecl);
2118 static ObjCProtocolDecl *CreateDeserialized(ASTContext &C, unsigned ID);
2176 void setProtocolList(ObjCProtocolDecl *const*List, unsigned Num,
2182 ObjCProtocolDecl *lookupProtocolNamed(IdentifierInfo *PName);
2209 ObjCProtocolDecl *getDefinition() {
2214 const ObjCProtocolDecl *getDefinition() const {
2249 ObjCProtocolDecl *getCanonicalDecl() override { return getFirstDecl(); }
2250 const ObjCProtocolDecl *getCanonicalDecl() const { return getFirstDecl(); }
2343 void setProtocolList(ObjCProtocolDecl *const*List, unsigned Num,
tools/clang/include/clang/AST/ExprObjC.h 504 ObjCProtocolDecl *TheProtocol;
511 ObjCProtocolExpr(QualType T, ObjCProtocolDecl *protocol,
519 ObjCProtocolDecl *getProtocol() const { return TheProtocol; }
520 void setProtocol(ObjCProtocolDecl *P) { TheProtocol = P; }
tools/clang/include/clang/AST/JSONNodeDumper.h 172 template <typename T> void writePreviousDeclImpl(const Redeclarable<T> *D) {
173 const T *Prev = D->getPreviousDecl();
250 void VisitObjCProtocolDecl(const ObjCProtocolDecl *D);
tools/clang/include/clang/AST/Redeclarable.h 113 DeclLink(PreviousTag, decl_type *D) : Link(NotKnownLatest(Previous(D))) {}
122 decl_type *getPrevious(const decl_type *D) const {
122 decl_type *getPrevious(const decl_type *D) const {
137 void setPrevious(decl_type *D) {
142 void setLatest(decl_type *D) {
166 static DeclLink PreviousDeclLink(decl_type *D) {
187 decl_type *First;
189 decl_type *getNextRedeclaration() const {
203 decl_type *getPreviousDecl() {
208 const decl_type *getPreviousDecl() const {
215 decl_type *getFirstDecl() { return First; }
219 const decl_type *getFirstDecl() const { return First; }
225 decl_type *getMostRecentDecl() {
230 const decl_type *getMostRecentDecl() const {
236 void setPreviousDecl(decl_type *PrevDecl);
241 decl_type *Current = nullptr;
242 decl_type *Starter;
246 using value_type = decl_type *;
247 using reference = decl_type *;
248 using pointer = decl_type *;
253 explicit redecl_iterator(decl_type *C) : Current(C), Starter(C) {}
271 decl_type *Next = Current->getNextRedeclaration();
tools/clang/include/clang/AST/TextNodeDumper.h 341 void VisitObjCProtocolDecl(const ObjCProtocolDecl *D);
tools/clang/include/clang/AST/Type.h 5489 ObjCProtocolDecl * const *getProtocolStorage() const {
5493 ObjCProtocolDecl **getProtocolStorage() {
5501 void initialize(ArrayRef<ObjCProtocolDecl *> protocols) {
5507 protocols.size() * sizeof(ObjCProtocolDecl*));
5511 using qual_iterator = ObjCProtocolDecl * const *;
5527 ObjCProtocolDecl *getProtocol(unsigned I) const {
5533 ArrayRef<ObjCProtocolDecl *> getProtocols() const {
5534 return ArrayRef<ObjCProtocolDecl *>(qual_begin(), getNumProtocols());
5554 ObjCProtocolDecl **getProtocolStorageImpl();
5568 ArrayRef<ObjCProtocolDecl *> protocols);
5581 ArrayRef<ObjCProtocolDecl *> protocols);
5642 ObjCProtocolDecl **getProtocolStorageImpl();
5657 ArrayRef<ObjCProtocolDecl *> protocols,
5775 ArrayRef<ObjCProtocolDecl *> protocols,
5784 ArrayRef<ObjCProtocolDecl *> protocols,
5792 inline ObjCProtocolDecl **ObjCObjectType::getProtocolStorageImpl() {
5797 inline ObjCProtocolDecl **ObjCTypeParamType::getProtocolStorageImpl() {
6011 ObjCProtocolDecl *getProtocol(unsigned I) const {
tools/clang/include/clang/AST/TypeLoc.h 802 ObjCProtocolDecl *getProtocol(unsigned i) const {
995 ObjCProtocolDecl *getProtocol(unsigned i) const {
tools/clang/include/clang/ASTMatchers/ASTMatchers.h 1353 extern const internal::VariadicDynCastAllOfMatcher<Decl, ObjCProtocolDecl>
tools/clang/include/clang/ASTMatchers/ASTMatchersInternal.h 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/Sema.h 3551 ObjCProtocolDecl *LookupProtocol(IdentifierInfo *II, SourceLocation IdLoc,
8561 const ObjCList<ObjCProtocolDecl> &PList);
8657 ArrayRef<ObjCProtocolDecl *> Protocols,
8669 ArrayRef<ObjCProtocolDecl *> Protocols,
tools/clang/include/clang/Sema/TypoCorrection.h 156 DeclClass *getCorrectionDeclAs() const {
157 return dyn_cast_or_null<DeclClass>(getCorrectionDecl());
369 return candidate.getCorrectionDeclAs<C>();
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)));
2541 T *readDeclAs() {
2542 return Reader->ReadDeclAs<T>(*F, Record, Idx);
tools/clang/lib/ARCMigrate/ObjCMT.cpp 105 llvm::SmallPtrSet<ObjCProtocolDecl *, 32> ObjCProtocolDecls;
613 ObjCProtocolDecl *Protocol) {
618 if (const ObjCProtocolDecl *PDecl = Protocol->getDefinition())
647 if (const ObjCProtocolDecl *PDecl = Protocol->getDefinition()) {
674 llvm::SmallVectorImpl<ObjCProtocolDecl*> &ConformingProtocols,
676 const ObjCList<ObjCProtocolDecl> &Protocols = IDecl->getReferencedProtocols();
849 llvm::SmallPtrSet<ObjCProtocolDecl *, 8> ExplicitProtocols;
851 llvm::SmallVector<ObjCProtocolDecl *, 8> PotentialImplicitProtocols;
853 for (ObjCProtocolDecl *ProtDecl : ObjCProtocolDecls)
863 llvm::SmallVector<ObjCProtocolDecl*, 8> ConformingProtocols;
874 llvm::SmallVector<ObjCProtocolDecl*, 8> MinimalConformingProtocols;
877 ObjCProtocolDecl *TargetPDecl = ConformingProtocols[i];
879 ObjCProtocolDecl *PDecl = ConformingProtocols[i1];
1871 else if (ObjCProtocolDecl *PDecl = dyn_cast<ObjCProtocolDecl>(*D)) {
1871 else if (ObjCProtocolDecl *PDecl = dyn_cast<ObjCProtocolDecl>(*D)) {
tools/clang/lib/AST/ASTContext.cpp 2370 llvm::SmallPtrSet<ObjCProtocolDecl*, 8> &Protocols) {
2374 for (auto *Proto : OI->all_referenced_protocols()) {
2388 for (auto *Proto : OC->protocols()) {
2391 } else if (const auto *OP = dyn_cast<ObjCProtocolDecl>(CDecl)) {
2391 } else if (const auto *OP = dyn_cast<ObjCProtocolDecl>(CDecl)) {
2397 for (auto *Proto : OP->protocols())
4521 static int CmpProtocolNames(ObjCProtocolDecl *const *LHS,
4522 ObjCProtocolDecl *const *RHS) {
4526 static bool areSortedAndUniqued(ArrayRef<ObjCProtocolDecl *> Protocols) {
4540 SortAndUniqueProtocols(SmallVectorImpl<ObjCProtocolDecl *> &Protocols) {
4545 for (ObjCProtocolDecl *&P : Protocols)
4554 ObjCProtocolDecl * const *Protocols,
4564 ArrayRef<ObjCProtocolDecl *> protocols,
4611 ArrayRef<ObjCProtocolDecl *> canonProtocols;
4612 SmallVector<ObjCProtocolDecl*, 8> canonProtocolsVec;
4630 size += protocols.size() * sizeof(ObjCProtocolDecl *);
4646 ArrayRef<ObjCProtocolDecl *> protocols, bool &hasError,
4660 SmallVector<ObjCProtocolDecl*, 8> protocolsVec;
4664 ArrayRef<ObjCProtocolDecl *> protocols = protocolsVec;
4717 ArrayRef<ObjCProtocolDecl *> protocols) const {
4737 size += protocols.size() * sizeof(ObjCProtocolDecl *);
4756 for (auto *Proto : OPT->quals()) {
4777 llvm::SmallPtrSet<ObjCProtocolDecl *, 8> InheritedProtocols;
4784 for (auto *Proto : OPT->quals()) {
4786 for (auto *PI : InheritedProtocols) {
4798 for (auto *PI : InheritedProtocols) {
4801 for (auto *Proto : OPT->quals()) {
7081 for (const auto *I : OPT->quals()) {
7096 for (const auto *I : OPT->quals()) {
7995 ASTContext::ProtocolCompatibleWithProtocol(ObjCProtocolDecl *lProto,
7996 ObjCProtocolDecl *rProto) const {
7999 for (auto *PI : rProto->protocols())
8009 for (auto *lhsProto : lhs->quals()) {
8011 for (auto *rhsProto : rhs->quals()) {
8042 for (auto *I : lhs->quals()) {
8054 for (auto *lhsProto : lhs->quals()) {
8060 for (auto *rhsProto : rhs->quals()) {
8070 for (auto *I : lhs->quals()) {
8091 for (auto *lhsProto : lhs->quals()) {
8099 for (auto *rhsProto : rhs->quals()) {
8113 llvm::SmallPtrSet<ObjCProtocolDecl *, 8> LHSInheritedProtocols;
8120 for (auto *lhsProto : LHSInheritedProtocols) {
8122 for (auto *rhsProto : rhs->quals()) {
8247 static int compareObjCProtocolsByName(ObjCProtocolDecl * const *lhs,
8248 ObjCProtocolDecl * const *rhs) {
8262 SmallVectorImpl<ObjCProtocolDecl *> &IntersectionSet) {
8270 llvm::SmallPtrSet<ObjCProtocolDecl *, 8> LHSProtocolSet;
8281 llvm::SmallPtrSet<ObjCProtocolDecl *, 8> RHSProtocolSet;
8299 llvm::SmallPtrSet<ObjCProtocolDecl *, 8> ImpliedProtocols;
8423 SmallVector<ObjCProtocolDecl *, 8> Protocols;
8474 SmallVector<ObjCProtocolDecl *, 8> Protocols;
8523 llvm::SmallPtrSet<ObjCProtocolDecl *, 8> SuperClassInheritedProtocols;
8527 for (auto *RHSPI : RHS->quals())
8533 for (const auto *LHSProto : LHS->quals()) {
8535 for (auto *SuperClassProto : SuperClassInheritedProtocols)
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));
400 ObjCProtocolDecl *From, ObjCProtocolDecl *To,
400 ObjCProtocolDecl *From, ObjCProtocolDecl *To,
479 ExpectedDecl VisitObjCProtocolDecl(ObjCProtocolDecl *D);
1515 SmallVector<ObjCProtocolDecl *, 4> Protocols;
1516 for (auto *P : T->quals()) {
1517 if (Expected<ObjCProtocolDecl *> ProtocolOrErr = import(P))
4084 SmallVector<ObjCProtocolDecl *, 4> Protocols;
4092 if (Expected<ObjCProtocolDecl *> ToProtoOrErr = import(*FromProto))
4128 ObjCProtocolDecl *From, ObjCProtocolDecl *To, ImportDefinitionKind Kind) {
4128 ObjCProtocolDecl *From, ObjCProtocolDecl *To, ImportDefinitionKind Kind) {
4140 SmallVector<ObjCProtocolDecl *, 4> Protocols;
4142 ObjCProtocolDecl::protocol_loc_iterator FromProtoLoc =
4144 for (ObjCProtocolDecl::protocol_iterator FromProto = From->protocol_begin(),
4148 if (Expected<ObjCProtocolDecl *> ToProtoOrErr = import(*FromProto))
4172 ExpectedDecl ASTNodeImporter::VisitObjCProtocolDecl(ObjCProtocolDecl *D) {
4176 ObjCProtocolDecl *Definition = D->getDefinition();
4194 ObjCProtocolDecl *MergeWithProtocol = nullptr;
4200 if ((MergeWithProtocol = dyn_cast<ObjCProtocolDecl>(FoundDecl)))
4204 ObjCProtocolDecl *ToProto = MergeWithProtocol;
4519 SmallVector<ObjCProtocolDecl *, 4> Protocols;
4528 if (Expected<ObjCProtocolDecl *> ToProtoOrErr = import(*FromProto))
8102 } else if (auto *ToProto = dyn_cast<ObjCProtocolDecl>(ToDC)) {
8102 } else if (auto *ToProto = dyn_cast<ObjCProtocolDecl>(ToDC)) {
8103 auto *FromProto = cast<ObjCProtocolDecl>(FromDC);
8103 auto *FromProto = cast<ObjCProtocolDecl>(FromDC);
8106 } else if (ObjCProtocolDecl *FromDef = FromProto->getDefinition()) {
8614 if (auto *ToProto = dyn_cast<ObjCProtocolDecl>(To)) {
8614 if (auto *ToProto = dyn_cast<ObjCProtocolDecl>(To)) {
8617 cast<ObjCProtocolDecl>(FromDC), ToProto,
8746 else if (auto *PD = dyn_cast<ObjCProtocolDecl>(D)) {
8746 else if (auto *PD = dyn_cast<ObjCProtocolDecl>(D)) {
tools/clang/lib/AST/CommentSema.cpp 966 isa<ObjCProtocolDecl>(ThisDeclInfo->CurrentDecl);
tools/clang/lib/AST/Decl.cpp 1676 template<typename T> static bool isRedeclarableImpl(Redeclarable<T> *) {
tools/clang/lib/AST/DeclBase.cpp 439 } else if (auto *PD = dyn_cast<ObjCProtocolDecl>(this)) {
1196 if (auto *OPD = dyn_cast<ObjCProtocolDecl>(this))
1196 if (auto *OPD = dyn_cast<ObjCProtocolDecl>(this))
1197 if (auto *Def = OPD->getDefinition())
tools/clang/lib/AST/DeclObjC.cpp 53 void ObjCProtocolList::set(ObjCProtocolDecl* const* InList, unsigned Elts,
95 if (const auto *Proto = dyn_cast<ObjCProtocolDecl>(this)) {
95 if (const auto *Proto = dyn_cast<ObjCProtocolDecl>(this)) {
96 if (const ObjCProtocolDecl *Def = Proto->getDefinition())
156 for (const auto *Proto : ID->all_referenced_protocols())
168 if (const auto *PD = dyn_cast<ObjCProtocolDecl>(this))
168 if (const auto *PD = dyn_cast<ObjCProtocolDecl>(this))
169 for (const auto *PI : PD->protocols())
181 if (const auto *Proto = dyn_cast<ObjCProtocolDecl>(DC)) {
181 if (const auto *Proto = dyn_cast<ObjCProtocolDecl>(DC)) {
182 if (const ObjCProtocolDecl *Def = Proto->getDefinition())
239 if (const auto *Proto = dyn_cast<ObjCProtocolDecl>(this)) {
239 if (const auto *Proto = dyn_cast<ObjCProtocolDecl>(this)) {
240 if (const ObjCProtocolDecl *Def = Proto->getDefinition())
263 const auto *PID = cast<ObjCProtocolDecl>(this);
263 const auto *PID = cast<ObjCProtocolDecl>(this);
264 for (const auto *I : PID->protocols())
281 for (const auto *I : OID->all_referenced_protocols())
295 for (const auto *I : OCD->protocols())
384 for (const auto *I : all_referenced_protocols())
405 for (const auto *PI : all_referenced_protocols())
433 ObjCProtocolDecl *const* ExtList, unsigned ExtNum,
447 SmallVector<ObjCProtocolDecl *, 8> ProtocolRefs;
450 ObjCProtocolDecl *ProtoInExtension = ExtList[i];
451 for (auto *Proto : all_referenced_protocols()) {
669 ObjCProtocolDecl *
671 for (auto *P : all_referenced_protocols())
710 for (const auto *I : ClassDecl->protocols())
718 const ObjCList<ObjCProtocolDecl> &Protocols =
720 for (auto *Protocol : Protocols)
832 if (const auto *PD = dyn_cast<const ObjCProtocolDecl>(getDeclContext()))
832 if (const auto *PD = dyn_cast<const ObjCProtocolDecl>(getDeclContext()))
844 if (isa<ObjCProtocolDecl>(DC))
1150 if (isa<ObjCProtocolDecl>(getDeclContext()))
1201 for (const auto *P : Category->protocols())
1218 if (const auto *Protocol = dyn_cast<ObjCProtocolDecl>(Container)){
1218 if (const auto *Protocol = dyn_cast<ObjCProtocolDecl>(Container)){
1219 for (const auto *P : Protocol->protocols())
1224 for (const auto *P : Interface->protocols())
1247 if (const auto *ProtD =
1248 dyn_cast<ObjCProtocolDecl>(Method->getDeclContext())) {
1702 bool ObjCInterfaceDecl::ClassImplementsProtocol(ObjCProtocolDecl *lProto,
1710 for (auto *PI : IDecl->protocols()){
1727 for (auto *PI : Cat->protocols())
1847 ObjCProtocolDecl *PrevDecl)
1855 ObjCProtocolDecl *ObjCProtocolDecl::Create(ASTContext &C, DeclContext *DC,
1859 ObjCProtocolDecl *PrevDecl) {
1860 auto *Result =
1861 new (C, DC) ObjCProtocolDecl(C, DC, Id, nameLoc, atStartLoc, PrevDecl);
1866 ObjCProtocolDecl *ObjCProtocolDecl::CreateDeserialized(ASTContext &C,
1868 ObjCProtocolDecl *Result =
1869 new (C, ID) ObjCProtocolDecl(C, nullptr, nullptr, SourceLocation(),
1875 ObjCProtocolDecl *ObjCProtocolDecl::lookupProtocolNamed(IdentifierInfo *Name) {
1876 ObjCProtocolDecl *PDecl = this;
1881 for (auto *I : protocols())
1896 const ObjCProtocolDecl *Def = getDefinition();
1903 for (const auto *I : protocols())
1919 for (auto *RD : redecls())
1925 if (const ObjCProtocolDecl *PDecl = getDefinition()) {
1934 for (const auto *PI : PDecl->protocols())
1942 if (const ObjCProtocolDecl *PDecl = getDefinition()) {
1954 for (const auto *PI : PDecl->protocols())
tools/clang/lib/AST/DeclPrinter.cpp 92 void VisitObjCProtocolDecl(ObjCProtocolDecl *D);
460 isa<ObjCProtocolDecl>(*D) ||
1360 const ObjCList<ObjCProtocolDecl> &Protocols = OID->getReferencedProtocols();
1362 for (ObjCList<ObjCProtocolDecl>::iterator I = Protocols.begin(),
1392 void DeclPrinter::VisitObjCProtocolDecl(ObjCProtocolDecl *PID) {
1398 const ObjCList<ObjCProtocolDecl> &Protocols = PID->getReferencedProtocols();
1401 for (ObjCList<ObjCProtocolDecl>::iterator I = Protocols.begin(),
tools/clang/lib/AST/ItaniumMangle.cpp 3268 for (const auto *I : T->quals()) {
tools/clang/lib/AST/JSONNodeDumper.cpp 939 for (const auto* P : D->protocols())
951 void JSONNodeDumper::VisitObjCProtocolDecl(const ObjCProtocolDecl *D) {
955 for (const auto *P : D->protocols())
967 for (const auto* P : D->protocols())
tools/clang/lib/AST/MicrosoftMangle.cpp 387 void mangleObjCProtocol(const ObjCProtocolDecl *PD);
1551 void MicrosoftCXXNameMangler::mangleObjCProtocol(const ObjCProtocolDecl *PD) {
tools/clang/lib/AST/TextNodeDumper.cpp 31 static void dumpPreviousDeclImpl(raw_ostream &OS, const Redeclarable<T> *D) {
32 const T *Prev = D->getPreviousDecl();
1852 for (const auto *P : D->protocols())
1862 void TextNodeDumper::VisitObjCProtocolDecl(const ObjCProtocolDecl *D) {
1865 for (const auto *Child : D->protocols())
1874 for (const auto *Child : D->protocols())
tools/clang/lib/AST/Type.cpp 657 ArrayRef<ObjCProtocolDecl *> protocols)
668 ArrayRef<ObjCProtocolDecl *> protocols,
1205 SmallVector<ObjCProtocolDecl *, 8> protocolsVec;
1207 ArrayRef<ObjCProtocolDecl *> protocolsToApply = protocolsVec;
1328 ArrayRef<ObjCProtocolDecl *> protocols(
1344 ArrayRef<ObjCProtocolDecl *> protocols(
3511 ArrayRef<ObjCProtocolDecl *> protocols,
3531 ArrayRef<ObjCProtocolDecl *> protocols) {
3999 for (ObjCProtocolDecl *proto : objcPtr->quals()) {
tools/clang/lib/AST/TypePrinter.cpp 1577 for (const auto *I : T->quals()) {
1621 for (const auto *I : T->quals()) {
tools/clang/lib/ASTMatchers/ASTMatchersInternal.cpp 631 const internal::VariadicDynCastAllOfMatcher<Decl, ObjCProtocolDecl>
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/CGDebugInfo.cpp 296 } else if (isa<ObjCProtocolDecl>(DC)) {
tools/clang/lib/CodeGen/CGObjCGNU.cpp 613 const ObjCProtocolDecl *PD) override;
614 void GenerateProtocol(const ObjCProtocolDecl *PD) override;
1189 for (const auto *PI : OCD->getReferencedProtocols())
1306 const ObjCProtocolDecl *PD) override {
1342 void GenerateProtocol(const ObjCProtocolDecl *PD) override {
1345 llvm::Constant *GenerateProtocolRef(const ObjCProtocolDecl *PD) {
1357 if (const ObjCProtocolDecl *Def = PD->getDefinition())
1371 for (const auto *PI : PD->protocols())
1910 for (const auto *I : classDecl->protocols())
3032 const ObjCProtocolDecl *PD) {
3068 void CGObjCGNU::GenerateProtocol(const ObjCProtocolDecl *PD) {
3072 if (const ObjCProtocolDecl *Def = PD->getDefinition())
3076 for (const auto *PI : PD->protocols())
3222 for (const auto *PD : OCD->getReferencedProtocols())
3284 bool isProtocol = isa<ObjCProtocolDecl>(OCD);
3287 std::function<void(const ObjCProtocolDecl *Proto)> collectProtocolProperties
3289 for (const auto *P : Proto->protocols())
3329 for (const auto *P : OID->all_referenced_protocols())
3332 for (const auto *P : CD->protocols())
3510 for (const auto *I : ClassDecl->protocols())
tools/clang/lib/CodeGen/CGObjCMac.cpp 1025 llvm::Constant *GetProtocolRef(const ObjCProtocolDecl *PD);
1095 void GenerateProtocol(const ObjCProtocolDecl *PD) override;
1100 virtual llvm::Constant *GetOrEmitProtocol(const ObjCProtocolDecl *PD)=0;
1106 virtual llvm::Constant *GetOrEmitProtocolRef(const ObjCProtocolDecl *PD)=0;
1167 static ProtocolMethodLists get(const ObjCProtocolDecl *PD) {
1200 llvm::Constant *emitMethodList(Self *self, const ObjCProtocolDecl *PD,
1281 llvm::Constant *GetOrEmitProtocol(const ObjCProtocolDecl *PD) override;
1287 llvm::Constant *GetOrEmitProtocolRef(const ObjCProtocolDecl *PD) override;
1294 EmitProtocolExtension(const ObjCProtocolDecl *PD,
1300 ObjCProtocolDecl::protocol_iterator begin,
1301 ObjCProtocolDecl::protocol_iterator end);
1351 const ObjCProtocolDecl *PD) override;
1464 llvm::Constant *GetOrEmitProtocol(const ObjCProtocolDecl *PD) override;
1470 llvm::Constant *GetOrEmitProtocolRef(const ObjCProtocolDecl *PD) override;
1475 ObjCProtocolDecl::protocol_iterator begin,
1476 ObjCProtocolDecl::protocol_iterator end);
1637 const ObjCProtocolDecl *PD) override;
2986 const ObjCProtocolDecl *PD) {
2995 void CGObjCCommonMac::GenerateProtocol(const ObjCProtocolDecl *PD) {
3007 llvm::Constant *CGObjCCommonMac::GetProtocolRef(const ObjCProtocolDecl *PD) {
3045 llvm::Constant *CGObjCMac::GetOrEmitProtocol(const ObjCProtocolDecl *PD) {
3053 if (const ObjCProtocolDecl *Def = PD->getDefinition())
3092 llvm::Constant *CGObjCMac::GetOrEmitProtocolRef(const ObjCProtocolDecl *PD) {
3121 CGObjCMac::EmitProtocolExtension(const ObjCProtocolDecl *PD,
3177 ObjCProtocolDecl::protocol_iterator begin,
3178 ObjCProtocolDecl::protocol_iterator end) {
3216 const ObjCProtocolDecl *Proto,
3218 for (const auto *P : Proto->protocols())
3279 for (const auto *P : OID->all_referenced_protocols())
3283 for (const auto *P : CD->protocols())
6506 const ObjCProtocolDecl *PD) {
6863 const ObjCProtocolDecl *PD) {
6905 const ObjCProtocolDecl *PD) {
7007 ObjCProtocolDecl::protocol_iterator begin,
7008 ObjCProtocolDecl::protocol_iterator end) {
tools/clang/lib/CodeGen/CGObjCRuntime.h 193 const ObjCProtocolDecl *OPD) = 0;
197 virtual void GenerateProtocol(const ObjCProtocolDecl *OPD) = 0;
tools/clang/lib/CodeGen/CodeGenModule.cpp 5320 auto *Proto = cast<ObjCProtocolDecl>(D);
5320 auto *Proto = cast<ObjCProtocolDecl>(D);
tools/clang/lib/Frontend/ASTUnit.cpp 349 } else if (isa<ObjCProtocolDecl>(ND)) {
tools/clang/lib/Frontend/Rewrite/RewriteModernObjC.cpp 114 llvm::SmallPtrSet<ObjCProtocolDecl*, 8> ObjCSynthesizedProtocols;
127 llvm::SmallPtrSet<ObjCProtocolDecl *, 32> ProtocolExprDecls;
203 if (ObjCProtocolDecl *Proto = dyn_cast<ObjCProtocolDecl>(*I)) {
203 if (ObjCProtocolDecl *Proto = dyn_cast<ObjCProtocolDecl>(*I)) {
331 void RewriteProtocolDecl(ObjCProtocolDecl *Dcl);
447 void RewriteObjCProtocolMetaData(ObjCProtocolDecl *Protocol,
739 } else if (ObjCProtocolDecl *PD = dyn_cast<ObjCProtocolDecl>(D)) {
739 } else if (ObjCProtocolDecl *PD = dyn_cast<ObjCProtocolDecl>(D)) {
772 if (ObjCProtocolDecl *Proto = dyn_cast<ObjCProtocolDecl>((*DI))) {
772 if (ObjCProtocolDecl *Proto = dyn_cast<ObjCProtocolDecl>((*DI))) {
777 if (isa<ObjCProtocolDecl>(*DI) &&
778 !cast<ObjCProtocolDecl>(*DI)->isThisDeclarationADefinition() &&
1152 void RewriteModernObjC::RewriteProtocolDecl(ObjCProtocolDecl *PDecl) {
5807 ObjCProtocolDecl *PDecl,
5836 for (ObjCProtocolDecl *ProtDecl : ProtocolExprDecls) {
6290 ArrayRef<ObjCProtocolDecl *> SuperProtocols,
6301 ObjCProtocolDecl *SuperPD = SuperProtocols[i];
6406 ArrayRef<ObjCProtocolDecl *>baseProtocols,
6614 ArrayRef<ObjCProtocolDecl *> RefedProtocols,
6835 void RewriteModernObjC::RewriteObjCProtocolMetaData(ObjCProtocolDecl *PDecl,
6843 if (ObjCProtocolDecl *Def = PDecl->getDefinition())
6847 for (auto *I : PDecl->protocols())
6883 SmallVector<ObjCProtocolDecl *, 8> SuperProtocols(PDecl->protocols());
7056 std::vector<ObjCProtocolDecl *> RefedProtocols;
7057 const ObjCList<ObjCProtocolDecl> &Protocols = CDecl->getReferencedProtocols();
7058 for (ObjCList<ObjCProtocolDecl>::iterator I = Protocols.begin(),
7304 SmallVector<ObjCProtocolDecl *, 8> RefedProtocols(CDecl->protocols());
7305 for (auto *I : CDecl->protocols())
tools/clang/lib/Frontend/Rewrite/RewriteObjC.cpp 112 llvm::SmallPtrSet<ObjCProtocolDecl*, 8> ObjCSynthesizedProtocols;
118 llvm::SmallPtrSet<ObjCProtocolDecl *, 32> ProtocolExprDecls;
179 if (ObjCProtocolDecl *Proto = dyn_cast<ObjCProtocolDecl>(*I)) {
179 if (ObjCProtocolDecl *Proto = dyn_cast<ObjCProtocolDecl>(*I)) {
279 void RewriteProtocolDecl(ObjCProtocolDecl *Dcl);
329 virtual void RewriteObjCProtocolListMetaData(const ObjCList<ObjCProtocolDecl> &Prots,
335 virtual void RewriteObjCProtocolMetaData(ObjCProtocolDecl *Protocol,
525 void RewriteObjCProtocolMetaData(ObjCProtocolDecl *Protocol,
529 const ObjCList<ObjCProtocolDecl> &Prots,
671 } else if (ObjCProtocolDecl *PD = dyn_cast<ObjCProtocolDecl>(D)) {
671 } else if (ObjCProtocolDecl *PD = dyn_cast<ObjCProtocolDecl>(D)) {
698 if (ObjCProtocolDecl *Proto = dyn_cast<ObjCProtocolDecl>((*DI))) {
698 if (ObjCProtocolDecl *Proto = dyn_cast<ObjCProtocolDecl>((*DI))) {
703 if (isa<ObjCProtocolDecl>(*DI) &&
704 !cast<ObjCProtocolDecl>(*DI)->isThisDeclarationADefinition() &&
984 void RewriteObjC::RewriteProtocolDecl(ObjCProtocolDecl *PDecl) {
4907 for (ObjCProtocolDecl *ProtDecl : ProtocolExprDecls)
5071 ObjCProtocolDecl *PDecl, StringRef prefix,
5093 if (ObjCProtocolDecl *Def = PDecl->getDefinition())
5114 for (ObjCProtocolDecl::instmeth_iterator
5151 for (ObjCProtocolDecl::classmeth_iterator
5218 const ObjCList<ObjCProtocolDecl> &Protocols,
5593 for (ObjCProtocolDecl *ProtDecl : ProtocolExprDecls) {
tools/clang/lib/Index/IndexBody.cpp 270 for (const auto *protD : Ty->quals()) {
tools/clang/lib/Index/IndexDecl.cpp 374 ObjCProtocolDecl *PD = *I;
415 bool VisitObjCProtocolDecl(const ObjCProtocolDecl *D) {
tools/clang/lib/Index/IndexSymbol.cpp 95 if (isa<ObjCProtocolDecl>(D->getDeclContext())) {
tools/clang/lib/Index/USRGeneration.cpp 386 if (const ObjCProtocolDecl *pd = dyn_cast<ObjCProtocolDecl>(container)) {
386 if (const ObjCProtocolDecl *pd = dyn_cast<ObjCProtocolDecl>(container)) {
466 const ObjCProtocolDecl *PD = cast<ObjCProtocolDecl>(D);
466 const ObjCProtocolDecl *PD = cast<ObjCProtocolDecl>(D);
836 for (auto *Prot : OIT->getProtocols())
837 VisitObjCProtocolDecl(Prot);
tools/clang/lib/Sema/CodeCompleteConsumer.cpp 707 else if (isa<ObjCProtocolDecl>(Declaration))
tools/clang/lib/Sema/SemaCodeComplete.cpp 4429 if (ObjCProtocolDecl *Protocol = dyn_cast<ObjCProtocolDecl>(Container)) {
4429 if (ObjCProtocolDecl *Protocol = dyn_cast<ObjCProtocolDecl>(Container)) {
4616 if (ObjCProtocolDecl *Protocol = dyn_cast<ObjCProtocolDecl>(Container)) {
4616 if (ObjCProtocolDecl *Protocol = dyn_cast<ObjCProtocolDecl>(Container)) {
4617 for (auto *P : Protocol->protocols())
4634 for (auto *I : IFace->all_referenced_protocols())
4649 for (auto *P : Category->protocols())
4786 for (auto *I : BaseType->getAs<ObjCObjectPointerType>()->quals())
6222 if (const auto *Protocol = dyn_cast<ObjCProtocolDecl>(Container)) {
6222 if (const auto *Protocol = dyn_cast<ObjCProtocolDecl>(Container)) {
6224 const ObjCList<ObjCProtocolDecl> &Protocols =
6226 for (ObjCList<ObjCProtocolDecl>::iterator I = Protocols.begin(),
6238 for (ObjCProtocolDecl *I : IFace->protocols())
6249 const ObjCList<ObjCProtocolDecl> &Protocols =
6251 for (ObjCList<ObjCProtocolDecl>::iterator I = Protocols.begin(),
6921 for (auto *I : QualID->quals())
6933 for (auto *I : IFacePtr->quals())
7078 if (const auto *Proto = dyn_cast<ObjCProtocolDecl>(D))
7078 if (const auto *Proto = dyn_cast<ObjCProtocolDecl>(D))
7099 if (ObjCProtocolDecl *Protocol = LookupProtocol(Pair.first, Pair.second))
7441 const ObjCList<ObjCProtocolDecl> &Protocols =
7443 for (ObjCList<ObjCProtocolDecl>::iterator I = Protocols.begin(),
7464 const ObjCList<ObjCProtocolDecl> &Protocols =
7466 for (ObjCList<ObjCProtocolDecl>::iterator I = Protocols.begin(),
7479 if (ObjCProtocolDecl *Protocol = dyn_cast<ObjCProtocolDecl>(Container)) {
7479 if (ObjCProtocolDecl *Protocol = dyn_cast<ObjCProtocolDecl>(Container)) {
7487 const ObjCList<ObjCProtocolDecl> &Protocols =
7489 for (ObjCList<ObjCProtocolDecl>::iterator I = Protocols.begin(),
tools/clang/lib/Sema/SemaDecl.cpp 3798 isa<ObjCProtocolDecl>(oldMethod->getDeclContext())
tools/clang/lib/Sema/SemaDeclAttr.cpp 2129 if (!cast<ObjCProtocolDecl>(D)->isThisDeclarationADefinition()) {
5126 if (const auto *PDecl = dyn_cast_or_null<ObjCProtocolDecl>(DC)) {
5126 if (const auto *PDecl = dyn_cast_or_null<ObjCProtocolDecl>(DC)) {
tools/clang/lib/Sema/SemaDeclObjC.cpp 74 if (isa<ObjCProtocolDecl>(method->getDeclContext())) {
128 const ObjCProtocolDecl *PD, Sema &S) {
526 ObjCProtocolDecl *const *ProtoRefs,
1183 const ObjCList<ObjCProtocolDecl> &PList) {
1186 for (ObjCList<ObjCProtocolDecl>::iterator I = PList.begin(),
1188 if (ObjCProtocolDecl *PDecl = LookupProtocol((*I)->getIdentifier(),
1215 ObjCProtocolDecl *PrevDecl = LookupProtocol(ProtocolName, ProtocolLoc,
1217 ObjCProtocolDecl *PDecl = nullptr;
1218 if (ObjCProtocolDecl *Def = PrevDecl? PrevDecl->getDefinition() : nullptr) {
1227 PDecl = ObjCProtocolDecl::Create(Context, CurContext, ProtocolName,
1240 ObjCList<ObjCProtocolDecl> PList;
1247 PDecl = ObjCProtocolDecl::Create(Context, CurContext, ProtocolName,
1274 static bool NestedProtocolHasNoDefinition(ObjCProtocolDecl *PDecl,
1275 ObjCProtocolDecl *&UndefinedProtocol) {
1281 for (auto *PI : PDecl->protocols())
1297 ObjCProtocolDecl *PDecl = LookupProtocol(Pair.first, Pair.second);
1299 DeclFilterCCC<ObjCProtocolDecl> CCC{};
1303 if ((PDecl = Corrected.getCorrectionDeclAs<ObjCProtocolDecl>()))
1325 ObjCProtocolDecl *UndefinedProtocol;
1352 if (candidate.getCorrectionDeclAs<ObjCProtocolDecl>())
1447 ObjCProtocolDecl *&proto
1462 ObjCProtocolDecl *forwardDecl = nullptr;
1495 llvm::SmallPtrSet<ObjCProtocolDecl*, 8> knownProtocols;
1520 ObjCProtocolDecl *proto = LookupProtocol(identifiers[i], identifierLocs[i]);
1687 if (auto proto = corrected.getCorrectionDeclAs<ObjCProtocolDecl>()) {
1775 ObjCProtocolDecl *PrevDecl = LookupProtocol(Ident, IdentPair.second,
1777 ObjCProtocolDecl *PDecl
1778 = ObjCProtocolDecl::Create(Context, CurContext, Ident,
2648 static void findProtocolsWithExplicitImpls(const ObjCProtocolDecl *PDecl,
2652 for (const auto *PI : PDecl->protocols())
2664 for (const auto *I : Super->all_referenced_protocols())
2674 ObjCProtocolDecl *PDecl,
2796 for (auto *PI : PDecl->protocols())
2833 isa<ObjCProtocolDecl>(CDecl));
2835 WarnExactTypedMethods(ImpMethodDecl, I, isa<ObjCProtocolDecl>(CDecl));
2859 isa<ObjCProtocolDecl>(CDecl));
2861 WarnExactTypedMethods(ImpMethodDecl, I, isa<ObjCProtocolDecl>(CDecl));
2866 if (ObjCProtocolDecl *PD = dyn_cast<ObjCProtocolDecl> (CDecl)) {
2866 if (ObjCProtocolDecl *PD = dyn_cast<ObjCProtocolDecl> (CDecl)) {
2869 for (auto *PI : PD->protocols())
2894 for (auto *PI : I->all_referenced_protocols())
3011 for (auto *PI : I->all_referenced_protocols())
3018 for (auto *P : C->protocols())
3263 auto *MethodProtocol = dyn_cast<ObjCProtocolDecl>(Method->getDeclContext());
3263 auto *MethodProtocol = dyn_cast<ObjCProtocolDecl>(Method->getDeclContext());
3264 auto *MethodInListProtocol =
3265 dyn_cast<ObjCProtocolDecl>(MethodInList->getDeclContext());
3451 auto *MethodProtocol = dyn_cast<ObjCProtocolDecl>(Method->getDeclContext());
3451 auto *MethodProtocol = dyn_cast<ObjCProtocolDecl>(Method->getDeclContext());
3903 || isa<ObjCProtocolDecl>(ClassDecl);
4234 void searchFrom(const ObjCProtocolDecl *protocol) {
4290 for (const auto *Proto : protocols)
4332 if (isa<ObjCProtocolDecl>(overridden->getDeclContext()) ||
4358 if (isa<ObjCProtocolDecl>(SuperOverridden->getDeclContext()) ||
4385 isa<ObjCProtocolDecl>(overridden->getDeclContext()));
tools/clang/lib/Sema/SemaExpr.cpp14648 const ObjCProtocolDecl *PDecl = nullptr;
14740 for (auto *srcProto : srcOPT->quals()) {
14751 for (auto *dstProto : dstOPT->quals()) {
tools/clang/lib/Sema/SemaExprMember.cpp 430 static Decl *FindGetterSetterNameDeclFromProtocolList(const ObjCProtocolDecl*PDecl,
441 for (const auto *I : PDecl->protocols()) {
455 for (const auto *I : QIdTy->quals()) {
469 for (const auto *I : QIdTy->quals()) {
tools/clang/lib/Sema/SemaExprObjC.cpp 985 if (ObjCProtocolDecl *NSCopyingPDecl =
987 ObjCProtocolDecl *PQ[] = {NSCopyingPDecl};
1244 ObjCProtocolDecl* PDecl = LookupProtocol(ProtocolId, ProtoIdLoc);
1792 for (const auto *I : objType->quals())
1806 for (const auto *PROTO : OPT->quals()) {
1856 for (const auto *I : OPT->quals())
2627 const auto *Protocol = dyn_cast<ObjCProtocolDecl>(M->getDeclContext());
2627 const auto *Protocol = dyn_cast<ObjCProtocolDecl>(M->getDeclContext());
2634 for (const ObjCProtocolDecl *P : RootClass->all_referenced_protocols()) {
tools/clang/lib/Sema/SemaLookup.cpp 3031 ObjCProtocolDecl *Sema::LookupProtocol(IdentifierInfo *II,
3036 return cast_or_null<ObjCProtocolDecl>(D);
3896 for (auto *I : IFace->all_referenced_protocols()) {
3916 } else if (ObjCProtocolDecl *Protocol = dyn_cast<ObjCProtocolDecl>(Ctx)) {
3916 } else if (ObjCProtocolDecl *Protocol = dyn_cast<ObjCProtocolDecl>(Ctx)) {
3917 for (auto *I : Protocol->protocols()) {
3923 for (auto *I : Category->protocols()) {
4878 for (auto *I : OPT->quals())
5290 if (ObjCProtocolDecl *PD = dyn_cast<ObjCProtocolDecl>(D))
5290 if (ObjCProtocolDecl *PD = dyn_cast<ObjCProtocolDecl>(D))
tools/clang/lib/Sema/SemaObjCProperty.cpp 110 ObjCProtocolDecl *Proto,
111 llvm::SmallPtrSetImpl<ObjCProtocolDecl *> &Known) {
126 for (auto *P : Proto->protocols())
226 isa<ObjCProtocolDecl>(ClassDecl)));
232 llvm::SmallPtrSet<ObjCProtocolDecl *, 16> KnownProtos;
254 for (auto *P : CurrentInterfaceDecl->protocols()) {
259 for (auto *P : IFace->all_referenced_protocols()) {
268 for (auto *P : Cat->protocols())
271 ObjCProtocolDecl *Proto = cast<ObjCProtocolDecl>(ClassDecl);
271 ObjCProtocolDecl *Proto = cast<ObjCProtocolDecl>(ClassDecl);
272 for (auto *P : Proto->protocols())
603 if (ObjCProtocolDecl* PNSCopying =
840 for (const auto *PI : ClassDecl->all_referenced_protocols()) {
841 if (const ObjCProtocolDecl *PDecl = PI->getDefinition())
847 for (const auto *PI : SDecl->all_referenced_protocols()) {
848 if (const ObjCProtocolDecl *PDecl = PI->getDefinition())
1031 for (const auto *Proto : OrigClass->all_referenced_protocols()) {
1139 if (Synthesize && isa<ObjCProtocolDecl>(property->getDeclContext()))
1623 isa<ObjCProtocolDecl>(SuperProperty->getDeclContext()))) {
1720 for (auto *PI : IDecl->all_referenced_protocols())
1734 for (auto *PI : CATDecl->protocols())
1739 else if (ObjCProtocolDecl *PDecl = dyn_cast<ObjCProtocolDecl>(CDecl)) {
1739 else if (ObjCProtocolDecl *PDecl = dyn_cast<ObjCProtocolDecl>(CDecl)) {
1758 for (auto *PI : PDecl->protocols())
1872 if (ObjCProtocolDecl *Proto =
1873 dyn_cast<ObjCProtocolDecl>(Prop->getDeclContext())) {
2009 for (auto *PDecl : IDecl->all_referenced_protocols()) {
tools/clang/lib/Sema/SemaType.cpp 1040 ArrayRef<ObjCProtocolDecl *> Protocols,
1067 ArrayRef<ObjCProtocolDecl *> Protocols,
tools/clang/lib/Sema/TreeTransform.h 751 ArrayRef<ObjCProtocolDecl *> Protocols,
765 ArrayRef<ObjCProtocolDecl *> Protocols,
12864 ArrayRef<ObjCProtocolDecl *> Protocols,
12881 ArrayRef<ObjCProtocolDecl *> Protocols,
tools/clang/lib/Serialization/ASTCommon.cpp 304 if (const ObjCProtocolDecl *Def
305 = cast<ObjCProtocolDecl>(DC)->getDefinition())
tools/clang/lib/Serialization/ASTReader.cpp 6699 SmallVector<ObjCProtocolDecl*, 4> Protos;
6701 Protos.push_back(ReadDeclAs<ObjCProtocolDecl>(*Loc.F, Record, Idx));
6713 SmallVector<ObjCProtocolDecl*, 4> Protos;
6715 Protos.push_back(ReadDeclAs<ObjCProtocolDecl>(*Loc.F, Record, Idx));
9990 if (auto PD = dyn_cast<ObjCProtocolDecl>(D)) {
9992 cast<ObjCProtocolDecl>(R)->Data = PD->Data;
tools/clang/lib/Serialization/ASTReaderDecl.cpp 144 T *ReadDeclAs() {
145 return Record.readDeclAs<T>();
175 void ReadObjCDefinitionData(struct ObjCProtocolDecl::DefinitionData &Data);
176 void MergeDefinitionData(ObjCProtocolDecl *D,
177 struct ObjCProtocolDecl::DefinitionData &&NewDD);
249 operator T*() const { return dyn_cast_or_null<T>(Existing); }
249 operator T*() const { return dyn_cast_or_null<T>(Existing); }
412 RedeclarableResult VisitRedeclarable(Redeclarable<T> *D);
415 void mergeRedeclarable(Redeclarable<T> *D, RedeclarableResult &Redecl,
419 void mergeRedeclarable(Redeclarable<T> *D, T *Existing,
419 void mergeRedeclarable(Redeclarable<T> *D, T *Existing,
438 void VisitObjCProtocolDecl(ObjCProtocolDecl *D);
1101 SmallVector<ObjCProtocolDecl *, 16> Protocols;
1104 Protocols.push_back(ReadDeclAs<ObjCProtocolDecl>());
1117 Protocols.push_back(ReadDeclAs<ObjCProtocolDecl>());
1174 struct ObjCProtocolDecl::DefinitionData &Data) {
1176 SmallVector<ObjCProtocolDecl *, 16> ProtoRefs;
1179 ProtoRefs.push_back(ReadDeclAs<ObjCProtocolDecl>());
1188 void ASTDeclReader::MergeDefinitionData(ObjCProtocolDecl *D,
1189 struct ObjCProtocolDecl::DefinitionData &&NewDD) {
1193 void ASTDeclReader::VisitObjCProtocolDecl(ObjCProtocolDecl *PD) {
1204 ObjCProtocolDecl *Canon = PD->getCanonicalDecl();
1240 SmallVector<ObjCProtocolDecl *, 16> ProtoRefs;
1243 ProtoRefs.push_back(ReadDeclAs<ObjCProtocolDecl>());
2394 auto *FirstDecl = cast_or_null<T>(Reader.GetDecl(FirstDeclID));
2394 auto *FirstDecl = cast_or_null<T>(Reader.GetDecl(FirstDeclID));
2400 D->RedeclLink = Redeclarable<T>::PreviousDeclLink(FirstDecl);
2404 auto *DAsT = static_cast<T *>(D);
2430 auto *D = static_cast<T *>(DBase);
2434 mergeRedeclarable(D, cast<T>(Existing), Redecl, TemplatePatternID);
2436 if (T *Existing = ExistingRes)
2496 auto *D = static_cast<T *>(DBase);
2497 T *ExistingCanon = Existing->getCanonicalDecl();
2498 T *DCanon = D->getCanonicalDecl();
2506 D->RedeclLink = Redeclarable<T>::PreviousDeclLink(ExistingCanon);
2767 isa<ObjCProtocolDecl>(D) ||
2963 if (isa<ObjCInterfaceDecl>(X) || isa<ObjCProtocolDecl>(X))
3381 Decl *ASTDeclReader::getMostRecentDeclImpl(Redeclarable<DeclT> *D) {
3408 Redeclarable<DeclT> *D,
3410 D->RedeclLink.setPrevious(cast<DeclT>(Previous));
3411 D->First = cast<DeclT>(Previous)->First;
3567 void ASTDeclReader::attachLatestDeclImpl(Redeclarable<DeclT> *D, Decl *Latest) {
3568 D->RedeclLink.setLatest(cast<DeclT>(Latest));
3589 void ASTDeclReader::markIncompleteDeclChainImpl(Redeclarable<DeclT> *D) {
3789 D = ObjCProtocolDecl::CreateDeserialized(Context, ID);
tools/clang/lib/Serialization/ASTReaderStmt.cpp 95 T *ReadDeclAs() {
96 return Record.readDeclAs<T>();
1224 E->setProtocol(ReadDeclAs<ObjCProtocolDecl>());
tools/clang/lib/Serialization/ASTWriter.cpp 549 for (const auto *I : T->quals())
560 for (const auto *I : T->quals())
tools/clang/lib/Serialization/ASTWriterDecl.cpp 129 template <typename T> void VisitRedeclarable(Redeclarable<T> *D);
138 void VisitObjCProtocolDecl(ObjCProtocolDecl *D);
743 for (const auto *P : D->protocols())
750 for (ObjCList<ObjCProtocolDecl>::iterator
791 void ASTDeclWriter::VisitObjCProtocolDecl(ObjCProtocolDecl *D) {
798 for (const auto *I : D->protocols())
820 for (const auto *I : D->protocols())
1722 T *First = D->getFirstDecl();
1723 T *MostRecent = First->getMostRecentDecl();
1724 T *DAsT = static_cast<T *>(D);
tools/clang/lib/StaticAnalyzer/Checkers/BasicObjCFoundationChecks.cpp 672 if (!MD || !MD->isVariadic() || isa<ObjCProtocolDecl>(MD->getDeclContext()))
1063 if (isa<ObjCProtocolDecl>(MD->getDeclContext())) {
tools/clang/lib/StaticAnalyzer/Checkers/IvarInvalidationChecker.cpp 257 for (const auto *I : InterfD->protocols())
270 if (const ObjCProtocolDecl *ProtD = dyn_cast<ObjCProtocolDecl>(D)) {
270 if (const ObjCProtocolDecl *ProtD = dyn_cast<ObjCProtocolDecl>(D)) {
271 for (const auto *I : ProtD->protocols()) {
tools/clang/lib/StaticAnalyzer/Checkers/LocalizationChecker.cpp 835 for (const auto *P : OD->all_referenced_protocols()) {
tools/clang/lib/StaticAnalyzer/Checkers/TrustNonnullChecker.cpp 174 if (isa<ObjCProtocolDecl>(MD->getDeclContext()))
tools/clang/lib/StaticAnalyzer/Frontend/AnalysisConsumer.cpp 725 } else if (isa<ObjCProtocolDecl>(DC)) {
tools/clang/tools/libclang/CIndex.cpp 661 auto *PD = cast<ObjCProtocolDecl>(D);
1085 bool CursorVisitor::VisitObjCProtocolDecl(ObjCProtocolDecl *PID) {
1089 ObjCProtocolDecl::protocol_loc_iterator PL = PID->protocol_loc_begin();
1090 for (ObjCProtocolDecl::protocol_iterator I = PID->protocol_begin(),
4502 const ObjCProtocolDecl *OID = getCursorObjCProtocolRef(C).first;
5818 std::pair<const ObjCProtocolDecl *, SourceLocation> P
6182 const ObjCProtocolDecl *Prot = getCursorObjCProtocolRef(C).first;
6183 if (const ObjCProtocolDecl *Def = Prot->getDefinition())
6411 if (const ObjCProtocolDecl *Def = cast<ObjCProtocolDecl>(D)->getDefinition())
6411 if (const ObjCProtocolDecl *Def = cast<ObjCProtocolDecl>(D)->getDefinition())
tools/clang/tools/libclang/CXCursor.cpp 754 CXCursor cxcursor::MakeCursorObjCProtocolRef(const ObjCProtocolDecl *Proto,
763 std::pair<const ObjCProtocolDecl *, SourceLocation>
tools/clang/tools/libclang/CXCursor.h 71 CXCursor MakeCursorObjCProtocolRef(const ObjCProtocolDecl *Proto,
77 std::pair<const ObjCProtocolDecl *, SourceLocation>
tools/clang/tools/libclang/CXIndexDataConsumer.cpp 73 bool VisitObjCProtocolDecl(const ObjCProtocolDecl *D) {
175 if (auto *ObjCPD = dyn_cast_or_null<ObjCProtocolDecl>(ASTNode.OrigD)) {
245 ObjCProtocolDecl *PD = *I;
713 bool CXIndexDataConsumer::handleObjCProtocol(const ObjCProtocolDecl *D) {
1200 if (const ObjCProtocolDecl *PD = dyn_cast<ObjCProtocolDecl>(D))
1200 if (const ObjCProtocolDecl *PD = dyn_cast<ObjCProtocolDecl>(D))
tools/clang/tools/libclang/CXIndexDataConsumer.h 161 ObjCProtocolDeclInfo(const ObjCProtocolDecl *D)
394 bool handleObjCProtocol(const ObjCProtocolDecl *D);
tools/clang/tools/libclang/CXType.cpp 1190 const ObjCProtocolDecl *PD = OT->getProtocol(i);
tools/clang/tools/libclang/CursorVisitor.h 224 bool VisitObjCProtocolDecl(ObjCProtocolDecl *PID);
tools/lldb/source/Symbol/ClangASTImporter.cpp 615 } else if (ObjCProtocolDecl *protocol_decl =
616 dyn_cast<ObjCProtocolDecl>(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>