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

Declarations

gen/tools/clang/include/clang/AST/DeclNodes.inc
  153 OBJCINTERFACE(ObjCInterface, ObjCContainerDecl)
tools/clang/include/clang/AST/ASTContext.h
  109 class ObjCInterfaceDecl;
tools/clang/include/clang/AST/ASTMutationListener.h
   32   class ObjCInterfaceDecl;
tools/clang/include/clang/AST/Attr.h
   38 class ObjCInterfaceDecl;
tools/clang/include/clang/AST/CanonicalType.h
   37 class ObjCInterfaceDecl;
tools/clang/include/clang/AST/DeclBase.h
   60 class ObjCInterfaceDecl;
tools/clang/include/clang/AST/DeclObjC.h
   52 class ObjCInterfaceDecl;
tools/clang/include/clang/AST/ExternalASTSource.h
   49 class ObjCInterfaceDecl;
tools/clang/include/clang/AST/NSAPI.h
   18   class ObjCInterfaceDecl;
tools/clang/include/clang/AST/Type.h
  111 class ObjCInterfaceDecl;
tools/clang/include/clang/AST/TypeLoc.h
   39 class ObjCInterfaceDecl;
tools/clang/include/clang/Edit/Rewriters.h
   15   class ObjCInterfaceDecl;
tools/clang/include/clang/Sema/DelayedDiagnostic.h
   43 class ObjCInterfaceDecl;
tools/clang/include/clang/Sema/Sema.h
  148   class ObjCInterfaceDecl;
tools/clang/include/clang/Serialization/ASTReader.h
  104 class ObjCInterfaceDecl;
tools/clang/include/clang/Serialization/ASTWriter.h
   83 class ObjCInterfaceDecl;
tools/clang/lib/CodeGen/CGDebugInfo.h
   40 class ObjCInterfaceDecl;
tools/clang/lib/CodeGen/CGObjCRuntime.h
   46   class ObjCInterfaceDecl;
tools/clang/lib/CodeGen/CodeGenFunction.h
   66 class ObjCInterfaceDecl;
tools/clang/lib/CodeGen/CodeGenTypes.h
   39 class ObjCInterfaceDecl;
tools/clang/tools/libclang/CXCursor.h
   35 class ObjCInterfaceDecl;
tools/lldb/include/lldb/Core/ClangForward.h
   81 class ObjCInterfaceDecl;

References

gen/tools/clang/include/clang/Sema/AttrParsedAttrImpl.inc
  338   if (!D || (!isa<ObjCInterfaceDecl>(D))) {
  924   if (!D || (!isa<FunctionDecl>(D) && !isa<VarDecl>(D) && !isa<CXXRecordDecl>(D) && !isa<ObjCInterfaceDecl>(D))) {
  954   if (!D || (!isa<FunctionDecl>(D) && !isa<VarDecl>(D) && !isa<CXXRecordDecl>(D) && !isa<ObjCInterfaceDecl>(D))) {
 2043   if (!D || (!isa<ObjCInterfaceDecl>(D))) {
 2078   if (!D || (!isa<ObjCInterfaceDecl>(D))) {
 2142   if (!D || (!isa<ObjCInterfaceDecl>(D) && !isa<ObjCImplDecl>(D))) {
 2178   if (!D || (!isa<ObjCInterfaceDecl>(D))) {
 2218   if (!D || (!isa<ObjCInterfaceDecl>(D))) {
 2231   if (!D || (!isa<ObjCInterfaceDecl>(D) && !isa<ObjCProtocolDecl>(D))) {
 2245   if (!D || (!isa<ObjCInterfaceDecl>(D))) {
 2258   if (!D || (!isa<ObjCInterfaceDecl>(D))) {
 3542     return isa<ObjCInterfaceDecl>(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; }
  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
  335   mutable ObjCInterfaceDecl *ObjCProtocolClassDecl = nullptr;
 1492   QualType getObjCInterfaceType(const ObjCInterfaceDecl *Decl,
 1493                                 ObjCInterfaceDecl *PrevDecl = nullptr) const;
 1508   bool ObjCObjectAdoptsQTypeProtocols(QualType QT, ObjCInterfaceDecl *Decl);
 1514                                             ObjCInterfaceDecl *IDecl);
 1630   void setObjCConstantStringInterface(ObjCInterfaceDecl *Decl);
 1886   ObjCInterfaceDecl *getObjCProtocolDecl() const;
 2205   const ASTRecordLayout &getASTObjCInterfaceLayout(const ObjCInterfaceDecl *D)
 2255   uint64_t lookupFieldBitOffset(const ObjCInterfaceDecl *OID,
 2266   void DeepCollectObjCIvars(const ObjCInterfaceDecl *OI, bool leafClass,
 2269   unsigned CountNonClassIvars(const ObjCInterfaceDecl *OI) const;
 2698   ObjCImplementationDecl *getObjCImplementation(ObjCInterfaceDecl *D);
 2710   void setObjCImplementation(ObjCInterfaceDecl *IFaceD,
 2728   const ObjCInterfaceDecl *getObjContainingInterface(const NamedDecl *ND) const;
 2988   getObjCLayout(const ObjCInterfaceDecl *D,
tools/clang/include/clang/AST/ASTMutationListener.h
  109                                             const ObjCInterfaceDecl *IFD) {}
tools/clang/include/clang/AST/ASTNodeTraverser.h
  565   void VisitObjCInterfaceDecl(const ObjCInterfaceDecl *D) {
tools/clang/include/clang/AST/ASTTypeTraits.h
   65     return ASTNodeKind(KindToKindId<T>::Id);
   65     return ASTNodeKind(KindToKindId<T>::Id);
   65     return ASTNodeKind(KindToKindId<T>::Id);
  234   static DynTypedNode create(const T &Node) {
  235     return BaseConverter<T>::create(Node);
  251   const T *get() const {
  252     return BaseConverter<T>::get(NodeKind, Storage.buffer);
  259   const T &getUnchecked() const {
  260     return BaseConverter<T>::getUnchecked(NodeKind, Storage.buffer);
  394     static const T *get(ASTNodeKind NodeKind, const char Storage[]) {
  395       if (ASTNodeKind::getFromNodeKind<T>().isBaseOf(NodeKind))
  399     static const T &getUnchecked(ASTNodeKind NodeKind, const char Storage[]) {
  401       return *cast<T>(static_cast<const BaseT *>(
  469     : public DynCastPtrConverter<T, Decl> {};
tools/clang/include/clang/AST/Decl.h
 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
  315   ObjCInterfaceDecl *getClassInterface();
  316   const ObjCInterfaceDecl *getClassInterface() const {
  406   void createImplicitParams(ASTContext &Context, const ObjCInterfaceDecl *ID);
  410   QualType getSelfType(ASTContext &Context, const ObjCInterfaceDecl *OID,
 1172                         , public Redeclarable<ObjCInterfaceDecl> {
 1182     ObjCInterfaceDecl *Definition = nullptr;
 1254                     SourceLocation CLoc, ObjCInterfaceDecl *PrevDecl,
 1269   using redeclarable_base = Redeclarable<ObjCInterfaceDecl>;
 1271   ObjCInterfaceDecl *getNextRedeclarationImpl() override {
 1275   ObjCInterfaceDecl *getPreviousDeclImpl() override {
 1279   ObjCInterfaceDecl *getMostRecentDeclImpl() override {
 1284   static ObjCInterfaceDecl *Create(const ASTContext &C, DeclContext *DC,
 1288                                    ObjCInterfaceDecl *PrevDecl,
 1292   static ObjCInterfaceDecl *CreateDeserialized(const ASTContext &C, unsigned ID);
 1460     if (const ObjCInterfaceDecl *Def = getDefinition())
 1468     if (const ObjCInterfaceDecl *Def = getDefinition())
 1548   ObjCInterfaceDecl *getDefinition() {
 1555   const ObjCInterfaceDecl *getDefinition() const {
 1585   ObjCInterfaceDecl *getSuperClass() const;
 1809   bool isSuperClassOf(const ObjCInterfaceDecl *I) const {
 1827   const ObjCInterfaceDecl *isObjCRequiresPropertyDefs() const;
 1830                                        ObjCInterfaceDecl *&ClassDeclared);
 1832     ObjCInterfaceDecl *ClassDeclared;
 1855   ObjCInterfaceDecl *lookupInheritedClass(const IdentifierInfo *ICName);
 1914   ObjCInterfaceDecl *getCanonicalDecl() override { return getFirstDecl(); }
 1915   const ObjCInterfaceDecl *getCanonicalDecl() const { return getFirstDecl(); }
 1925   const ObjCInterfaceDecl *findInterfaceWithDesignatedInitializers() const;
 1975   const ObjCInterfaceDecl *getContainingInterface() const;
 2281   ObjCInterfaceDecl *ClassInterface;
 2302                    IdentifierInfo *Id, ObjCInterfaceDecl *IDecl,
 2318                                   ObjCInterfaceDecl *IDecl,
 2324   ObjCInterfaceDecl *getClassInterface() { return ClassInterface; }
 2325   const ObjCInterfaceDecl *getClassInterface() const { return ClassInterface; }
 2426   ObjCInterfaceDecl *ClassInterface;
 2432                ObjCInterfaceDecl *classInterface,
 2439   const ObjCInterfaceDecl *getClassInterface() const { return ClassInterface; }
 2440   ObjCInterfaceDecl *getClassInterface() { return ClassInterface; }
 2441   void setClassInterface(ObjCInterfaceDecl *IFace);
 2503                        ObjCInterfaceDecl *classInterface,
 2518                                       ObjCInterfaceDecl *classInterface,
 2553   ObjCInterfaceDecl *SuperClass;
 2573                          ObjCInterfaceDecl *classInterface,
 2574                          ObjCInterfaceDecl *superDecl,
 2594                                         ObjCInterfaceDecl *classInterface,
 2595                                         ObjCInterfaceDecl *superDecl,
 2688   const ObjCInterfaceDecl *getSuperClass() const { return SuperClass; }
 2689   ObjCInterfaceDecl *getSuperClass() { return SuperClass; }
 2692   void setSuperClass(ObjCInterfaceDecl * superCls) { SuperClass = superCls; }
 2730   ObjCInterfaceDecl *AliasedClass;
 2733                           ObjCInterfaceDecl* aliasedClass)
 2741                                          ObjCInterfaceDecl* aliasedClass);
 2746   const ObjCInterfaceDecl *getClassInterface() const { return AliasedClass; }
 2747   ObjCInterfaceDecl *getClassInterface() { return AliasedClass; }
 2748   void setClassInterface(ObjCInterfaceDecl *D) { AliasedClass = D; }
 2877 inline ObjCInterfaceDecl::filtered_category_iterator<Filter> &
tools/clang/include/clang/AST/ExprObjC.h
  645   llvm::PointerUnion3<Stmt *, const Type *, ObjCInterfaceDecl *> Receiver;
  694                       SourceLocation ReceiverLoc, ObjCInterfaceDecl *Receiver)
  771   ObjCInterfaceDecl *getClassReceiver() const {
  772     return Receiver.get<ObjCInterfaceDecl*>();
  777   bool isClassReceiver() const { return Receiver.is<ObjCInterfaceDecl*>(); }
  828   void setClassReceiver(ObjCInterfaceDecl *D) { Receiver = D; }
 1329   ObjCInterfaceDecl *getReceiverInterface() const;
tools/clang/include/clang/AST/ExternalASTMerger.h
  156   void CompleteType(ObjCInterfaceDecl *Interface) override;
tools/clang/include/clang/AST/ExternalASTSource.h
  243   virtual void CompleteType(ObjCInterfaceDecl *Class);
tools/clang/include/clang/AST/JSONNodeDumper.h
  172   template <typename T> void writePreviousDeclImpl(const Redeclarable<T> *D) {
  173     const T *Prev = D->getPreviousDecl();
  251   void VisitObjCInterfaceDecl(const ObjCInterfaceDecl *D);
tools/clang/include/clang/AST/NSAPI.h
  228   bool isSubclassOfNSClass(ObjCInterfaceDecl *InterfaceDecl,
tools/clang/include/clang/AST/RecursiveASTVisitor.h
 1536   if (ObjCTypeParamList *typeParamList = D->getTypeParamListAsWritten()) {
 1542   if (TypeSourceInfo *superTInfo = D->getSuperClassTInfo()) {
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
  342   void VisitObjCInterfaceDecl(const ObjCInterfaceDecl *D);
tools/clang/include/clang/AST/Type.h
 5701   ObjCInterfaceDecl *getInterface() const;
 5819   mutable ObjCInterfaceDecl *Decl;
 5821   ObjCInterfaceType(const ObjCInterfaceDecl *D)
 5827   ObjCInterfaceDecl *getDecl() const { return Decl; }
 5849 inline ObjCInterfaceDecl *ObjCObjectType::getInterface() const {
 5926   ObjCInterfaceDecl *getInterfaceDecl() const {
tools/clang/include/clang/AST/TypeLoc.h
 1056   ObjCInterfaceDecl *getIFaceDecl() const {
tools/clang/include/clang/ASTMatchers/ASTMatchers.h
  110   const T *getNodeAs(StringRef ID) const {
  111     return MyBoundNodes.getNodeAs<T>(ID);
 1333 extern const internal::VariadicDynCastAllOfMatcher<Decl, ObjCInterfaceDecl>
 2644   const auto *InterfaceDecl = cast<ObjCInterfaceDecl>(&Node);
 2644   const auto *InterfaceDecl = cast<ObjCInterfaceDecl>(&Node);
 2662   const auto *InterfaceDecl = cast<ObjCInterfaceDecl>(&Node);
 2662   const auto *InterfaceDecl = cast<ObjCInterfaceDecl>(&Node);
 2663   return Matcher<ObjCInterfaceDecl>(M).matches(*InterfaceDecl, Finder, Builder);
 2677   const auto *InterfaceDecl = cast<ObjCInterfaceDecl>(&Node);
 2677   const auto *InterfaceDecl = cast<ObjCInterfaceDecl>(&Node);
 2678   return Matcher<ObjCInterfaceDecl>(M).matches(*InterfaceDecl, Finder, Builder);
 2695   const auto *InterfaceDecl = cast<ObjCInterfaceDecl>(&Node);
 2695   const auto *InterfaceDecl = cast<ObjCInterfaceDecl>(&Node);
 2696   return Matcher<ObjCInterfaceDecl>(M).matches(*InterfaceDecl, Finder, Builder);
 2729   const auto *InterfaceDecl = cast<ObjCInterfaceDecl>(&Node);
 2729   const auto *InterfaceDecl = cast<ObjCInterfaceDecl>(&Node);
 2746   const auto *InterfaceDecl = cast<ObjCInterfaceDecl>(&Node);
 2746   const auto *InterfaceDecl = cast<ObjCInterfaceDecl>(&Node);
 2747   return Matcher<ObjCInterfaceDecl>(M).matches(*InterfaceDecl, Finder, Builder);
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>();
  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>());
  988   virtual bool objcClassIsDerivedFrom(const ObjCInterfaceDecl *Declaration,
 1067   using head = T1;
 1073   using tail = TypeList<Ts...>;
 1084       std::is_base_of<typename AnyTypeList::head, T>::value ||
 1085       TypeListContainsSuperOf<typename AnyTypeList::tail, 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 {
 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) {
 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/Analysis/RetainSummaryManager.h
  214   ObjCSummaryKey(const ObjCInterfaceDecl *d, Selector s)
  395   const RetainSummary * find(const ObjCInterfaceDecl *D, Selector S) {
  412     for (ObjCInterfaceDecl *C=D->getSuperClass() ;; C=C->getSuperClass()) {
  675   const RetainSummary *getMethodSummary(Selector S, const ObjCInterfaceDecl *ID,
tools/clang/include/clang/Sema/DelayedDiagnostic.h
  144                                             const ObjCInterfaceDecl *UnknownObjCClass,
  226   const ObjCInterfaceDecl *getUnknownObjCClass() const {
  242     const ObjCInterfaceDecl *UnknownObjCClass;
tools/clang/include/clang/Sema/MultiplexExternalSemaSource.h
  129   void CompleteType(ObjCInterfaceDecl *Class) override;
tools/clang/include/clang/Sema/Sema.h
  923   ObjCInterfaceDecl *NSNumberDecl;
  926   ObjCInterfaceDecl *NSValueDecl;
  938   ObjCInterfaceDecl *NSStringDecl;
  950   ObjCInterfaceDecl *NSArrayDecl;
  956   ObjCInterfaceDecl *NSDictionaryDecl;
 3697   ObjCInterfaceDecl *getObjCInterfaceDecl(IdentifierInfo *&Id,
 3804                                    ObjCInterfaceDecl *IDecl,
 3811   bool IvarBacksCurrentMethodAccessor(ObjCInterfaceDecl *IFace,
 3865                                        ObjCInterfaceDecl* IDecl);
 3871                                           const ObjCInterfaceDecl *IFD);
 3873   void DiagnoseDuplicateIvars(ObjCInterfaceDecl *ID, ObjCInterfaceDecl *SID);
 3873   void DiagnoseDuplicateIvars(ObjCInterfaceDecl *ID, ObjCInterfaceDecl *SID);
 3997   void CollectIvarsToConstructOrDestruct(ObjCInterfaceDecl *OI,
 4343                                   const ObjCInterfaceDecl *UnknownObjCClass,
 4346                                   ObjCInterfaceDecl *ClassReceiver = nullptr);
 4359                          const ObjCInterfaceDecl *UnknownObjCClass = nullptr,
 4362                          ObjCInterfaceDecl *ClassReciever = nullptr);
 8540                                        ObjCInterfaceDecl *IDecl,
 8694                                         ObjCInterfaceDecl *ID);
 8877                                         ObjCInterfaceDecl *&RelatedClass,
 8905                                 ObjCInterfaceDecl *CurrentClass,
11177                                        ObjCInterfaceDecl *Super = nullptr);
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
 1127   SmallVector<ObjCInterfaceDecl *, 16> ObjCClassesLoaded;
 1358   void loadObjCCategories(serialization::GlobalDeclID ID, ObjCInterfaceDecl *D,
 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/include/clang/Serialization/ASTWriter.h
  418   llvm::SetVector<ObjCInterfaceDecl *> ObjCClassesWithCategories;
  736                                     const ObjCInterfaceDecl *IFD) override;
tools/clang/include/clang/StaticAnalyzer/Core/PathSensitive/CallEvent.h
  958   virtual bool canBeOverridenInSubclass(ObjCInterfaceDecl *IDecl,
 1002   const ObjCInterfaceDecl *getReceiverInterface() const {
tools/clang/lib/ARCMigrate/ObjCMT.cpp
  445       ObjCInterfaceDecl *IDecl = ObjPtrTy->getObjectType()->getInterface();
  612                                        const ObjCInterfaceDecl *IDecl,
  673 static bool rewriteToObjCInterfaceDecl(const ObjCInterfaceDecl *IDecl,
  697     ObjCInterfaceDecl::protocol_loc_iterator PL = IDecl->protocol_loc_end() - 1;
  844   const ObjCInterfaceDecl *IDecl = ImpDecl->getClassInterface();
  991   ObjCInterfaceDecl *IDecl = OM->getClassInterface();
 1042   ObjCInterfaceDecl *IDecl = dyn_cast<ObjCInterfaceDecl>(CDecl);
 1042   ObjCInterfaceDecl *IDecl = dyn_cast<ObjCInterfaceDecl>(CDecl);
 1313   ObjCInterfaceDecl *IDecl = dyn_cast<ObjCInterfaceDecl>(CDecl);
 1313   ObjCInterfaceDecl *IDecl = dyn_cast<ObjCInterfaceDecl>(CDecl);
 1571   if (!isa<ObjCInterfaceDecl>(CDecl) || CDecl->isDeprecated())
 1713   const ObjCInterfaceDecl *IFace = ImplD->getClassInterface();
 1864       if (ObjCInterfaceDecl *CDecl = dyn_cast<ObjCInterfaceDecl>(*D))
 1864       if (ObjCInterfaceDecl *CDecl = dyn_cast<ObjCInterfaceDecl>(*D))
tools/clang/lib/ARCMigrate/TransAutoreleasePool.cpp
  388   bool isNSAutoreleasePool(ObjCInterfaceDecl *IDecl) {
tools/clang/lib/ARCMigrate/TransGCAttrs.cpp
  148       if (ObjCInterfaceDecl *ID = dyn_cast<ObjCInterfaceDecl>(ContD))
  148       if (ObjCInterfaceDecl *ID = dyn_cast<ObjCInterfaceDecl>(ContD))
tools/clang/lib/ARCMigrate/TransProperties.cpp
   92     ObjCInterfaceDecl *iface = D->getClassInterface();
tools/clang/lib/ARCMigrate/Transforms.cpp
   54     ObjCInterfaceDecl *Class = ObjT->getInterfaceDecl();
tools/clang/lib/AST/ASTContext.cpp
  449     const ObjCInterfaceDecl *ID = IMD->getClassInterface();
  575     else if (const auto *IC = dyn_cast<ObjCInterfaceDecl>(D)) {
  575     else if (const auto *IC = dyn_cast<ObjCInterfaceDecl>(D)) {
  583       if (const ObjCInterfaceDecl *IC = CD->getClassInterface())
 2351 void ASTContext::DeepCollectObjCIvars(const ObjCInterfaceDecl *OI,
 2354   if (const ObjCInterfaceDecl *SuperClass = OI->getSuperClass())
 2360     auto *IDecl = const_cast<ObjCInterfaceDecl *>(OI);
 2371   if (const auto *OI = dyn_cast<ObjCInterfaceDecl>(CDecl)) {
 2371   if (const auto *OI = dyn_cast<ObjCInterfaceDecl>(CDecl)) {
 2382     if (ObjCInterfaceDecl *SD = OI->getSuperClass())
 2566 unsigned ASTContext::CountNonClassIvars(const ObjCInterfaceDecl *OI) const {
 2600 ObjCImplementationDecl *ASTContext::getObjCImplementation(ObjCInterfaceDecl *D) {
 2619 void ASTContext::setObjCImplementation(ObjCInterfaceDecl *IFaceD,
 2643 const ObjCInterfaceDecl *ASTContext::getObjContainingInterface(
 2645   if (const auto *ID = dyn_cast<ObjCInterfaceDecl>(ND->getDeclContext()))
 2645   if (const auto *ID = dyn_cast<ObjCInterfaceDecl>(ND->getDeclContext()))
 2699 ASTContext::getASTObjCInterfaceLayout(const ObjCInterfaceDecl *D) const {
 4750                                                 ObjCInterfaceDecl *IC) {
 4769                                                 ObjCInterfaceDecl *IDecl) {
 4844 QualType ASTContext::getObjCInterfaceType(const ObjCInterfaceDecl *Decl,
 4845                                           ObjCInterfaceDecl *PrevDecl) const {
 4856   if (const ObjCInterfaceDecl *Def = Decl->getDefinition())
 7032     ObjCInterfaceDecl *OI = T->castAs<ObjCObjectType>()->getInterface();
 7322 ObjCInterfaceDecl *ASTContext::getObjCProtocolDecl() const {
 7325       = ObjCInterfaceDecl::Create(*this, getTranslationUnitDecl(),
 7699 void ASTContext::setObjCConstantStringInterface(ObjCInterfaceDecl *Decl) {
 8041       if (ObjCInterfaceDecl *rhsID = rhs->getInterfaceDecl()) {
 8069       if (ObjCInterfaceDecl *rhsID = rhs->getInterfaceDecl()) {
 8112     if (ObjCInterfaceDecl *lhsID = lhs->getInterfaceDecl()) {
 8259                                 const ObjCInterfaceDecl *CommonBase,
 8344                              const ObjCInterfaceDecl *iface,
 8385   const ObjCInterfaceDecl* LDecl = LHS->getInterface();
 8386   const ObjCInterfaceDecl* RDecl = RHS->getInterface();
 8398   llvm::SmallDenseMap<const ObjCInterfaceDecl *, const ObjCObjectType *, 4>
 8510   ObjCInterfaceDecl *LHSInterface = LHS->getInterface();
tools/clang/lib/AST/ASTImporter.cpp
  152     LLVM_NODISCARD Error importInto(ImportT *&To, ImportT *From) {
  152     LLVM_NODISCARD Error importInto(ImportT *&To, ImportT *From) {
  155         To = cast_or_null<ImportT>(*ToOrErr);
  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));
  397         ObjCInterfaceDecl *From, ObjCInterfaceDecl *To,
  397         ObjCInterfaceDecl *From, ObjCInterfaceDecl *To,
  490     ExpectedDecl VisitObjCInterfaceDecl(ObjCInterfaceDecl *D);
 1495   Expected<ObjCInterfaceDecl *> ToDeclOrErr = import(T->getDecl());
 4045   ObjCInterfaceDecl *ToInterface;
 4469     ObjCInterfaceDecl *From, ObjCInterfaceDecl *To, ImportDefinitionKind Kind) {
 4469     ObjCInterfaceDecl *From, ObjCInterfaceDecl *To, ImportDefinitionKind Kind) {
 4472     ObjCInterfaceDecl *FromSuper = From->getSuperClass();
 4480     ObjCInterfaceDecl *ToSuper = To->getSuperClass();
 4521   ObjCInterfaceDecl::protocol_loc_iterator FromProtoLoc =
 4524   for (ObjCInterfaceDecl::protocol_iterator FromProto = From->protocol_begin(),
 4596 ExpectedDecl ASTNodeImporter::VisitObjCInterfaceDecl(ObjCInterfaceDecl *D) {
 4600   ObjCInterfaceDecl *Definition = D->getDefinition();
 4619   ObjCInterfaceDecl *MergeWithIface = nullptr;
 4625     if ((MergeWithIface = dyn_cast<ObjCInterfaceDecl>(FoundDecl)))
 4630   ObjCInterfaceDecl *ToIface = MergeWithIface;
 4701   ObjCInterfaceDecl *Iface;
 4706   ObjCInterfaceDecl *Super;
 8091   } else if (auto *ToClass = dyn_cast<ObjCInterfaceDecl>(ToDC)) {
 8091   } else if (auto *ToClass = dyn_cast<ObjCInterfaceDecl>(ToDC)) {
 8092     auto *FromClass = cast<ObjCInterfaceDecl>(FromDC);
 8092     auto *FromClass = cast<ObjCInterfaceDecl>(FromDC);
 8095     } else if (ObjCInterfaceDecl *FromDef = FromClass->getDefinition()) {
 8606   if (auto *ToIFace = dyn_cast<ObjCInterfaceDecl>(To)) {
 8606   if (auto *ToIFace = dyn_cast<ObjCInterfaceDecl>(To)) {
 8609           cast<ObjCInterfaceDecl>(FromDC), ToIFace,
 8742   if (auto *ID = dyn_cast<ObjCInterfaceDecl>(D)) {
 8742   if (auto *ID = dyn_cast<ObjCInterfaceDecl>(D)) {
tools/clang/lib/AST/CommentSema.cpp
  957          isa<ObjCInterfaceDecl>(ThisDeclInfo->CurrentDecl);
tools/clang/lib/AST/Decl.cpp
  182          isa<ObjCInterfaceDecl>(D);
  885   } else if (isa<ObjCInterfaceDecl>(D)) {
 1590       if (auto *ID = MD->getClassInterface())
 1676 template<typename T> static bool isRedeclarableImpl(Redeclarable<T> *) {
tools/clang/lib/AST/DeclBase.cpp
  437   if (auto *ID = dyn_cast<ObjCInterfaceDecl>(this)) {
  660   } else if (isa<ObjCInterfaceDecl>(this) &&
 1190     if (auto *OID = dyn_cast<ObjCInterfaceDecl>(this))
 1190     if (auto *OID = dyn_cast<ObjCInterfaceDecl>(this))
 1191       if (auto *Def = OID->getDefinition())
tools/clang/lib/AST/DeclObjC.cpp
  134   if (const auto *ID = dyn_cast<ObjCInterfaceDecl>(this)) {
  134   if (const auto *ID = dyn_cast<ObjCInterfaceDecl>(this)) {
  161     ObjCInterfaceDecl *OSC = ID->getSuperClass();
  189   if (auto *IDecl = dyn_cast<ObjCInterfaceDecl>(DC)) {
  247   if (const auto *ClassDecl = dyn_cast<ObjCInterfaceDecl>(this)) {
  247   if (const auto *ClassDecl = dyn_cast<ObjCInterfaceDecl>(this)) {
  271       const auto *OID = cast<ObjCInterfaceDecl>(this);
  271       const auto *OID = cast<ObjCInterfaceDecl>(this);
  287       if (const ObjCInterfaceDecl *superClass = OID->getSuperClass())
  313   if (const ObjCInterfaceDecl *def = getDefinition())
  319   for (const ObjCInterfaceDecl *decl = getMostRecentDecl(); decl;
  337 ObjCInterfaceDecl *ObjCInterfaceDecl::getSuperClass() const {
  346     if (ObjCInterfaceDecl *superDecl = superType->getInterface()) {
  347       if (ObjCInterfaceDecl *superDef = superDecl->getDefinition())
  413   const ObjCInterfaceDecl *Class = this;
  422 const ObjCInterfaceDecl *ObjCInterfaceDecl::isObjCRequiresPropertyDefs() const {
  423   const ObjCInterfaceDecl *Class = this;
  473 const ObjCInterfaceDecl *
  475   const ObjCInterfaceDecl *IFace = this;
  486 static bool isIntroducingInitializers(const ObjCInterfaceDecl *D) {
  546   const ObjCInterfaceDecl *IFace= findInterfaceWithDesignatedInitializers();
  577   const ObjCInterfaceDecl *IFace= findInterfaceWithDesignatedInitializers();
  614   for (auto *RD : redecls()) {
  621                                               ObjCInterfaceDecl *&clsDeclared) {
  629   ObjCInterfaceDecl* ClassDecl = this;
  651 ObjCInterfaceDecl *ObjCInterfaceDecl::lookupInheritedClass(
  660   ObjCInterfaceDecl* ClassDecl = this;
  674   ObjCInterfaceDecl *SuperClass = getSuperClass();
  692   const ObjCInterfaceDecl* ClassDecl = this;
  834   if (const auto *ID = dyn_cast<const ObjCInterfaceDecl>(getDeclContext()))
  834   if (const auto *ID = dyn_cast<const ObjCInterfaceDecl>(getDeclContext()))
  846   if (const ObjCInterfaceDecl *ID = getClassInterface())
  916     if (auto *IFD = dyn_cast<ObjCInterfaceDecl>(CtxD)) {
  916     if (auto *IFD = dyn_cast<ObjCInterfaceDecl>(CtxD)) {
  927       if (ObjCInterfaceDecl *IFD = ImplD->getClassInterface())
  957     if (ObjCInterfaceDecl *IFD = ImplD->getClassInterface())
 1078                                      const ObjCInterfaceDecl *OID,
 1123                                           const ObjCInterfaceDecl *OID) {
 1143 ObjCInterfaceDecl *ObjCMethodDecl::getClassInterface() {
 1144   if (auto *ID = dyn_cast<ObjCInterfaceDecl>(getDeclContext()))
 1144   if (auto *ID = dyn_cast<ObjCInterfaceDecl>(getDeclContext()))
 1223   if (const auto *Interface = dyn_cast<ObjCInterfaceDecl>(Container)) {
 1223   if (const auto *Interface = dyn_cast<ObjCInterfaceDecl>(Container)) {
 1230     if (const ObjCInterfaceDecl *Super = Interface->getSuperClass())
 1253     const ObjCInterfaceDecl *ID = IMD->getClassInterface();
 1266     const ObjCInterfaceDecl *ID = CatD->getClassInterface();
 1340     const ObjCInterfaceDecl *ClassDecl = nullptr;
 1347       ClassDecl = dyn_cast<ObjCInterfaceDecl>(Container);
 1455 ObjCInterfaceDecl *ObjCInterfaceDecl::Create(const ASTContext &C,
 1460                                              ObjCInterfaceDecl *PrevDecl,
 1463   auto *Result = new (C, DC)
 1464       ObjCInterfaceDecl(C, DC, atLoc, Id, typeParamList, ClassLoc, PrevDecl,
 1471 ObjCInterfaceDecl *ObjCInterfaceDecl::CreateDeserialized(const ASTContext &C,
 1473   auto *Result = new (C, ID)
 1474       ObjCInterfaceDecl(C, nullptr, SourceLocation(), nullptr, nullptr,
 1484                                      ObjCInterfaceDecl *PrevDecl,
 1541   if (ObjCInterfaceDecl *ID =
 1549   if (const ObjCInterfaceDecl *Def = getDefinition()) {
 1599       ObjCInterfaceDecl::ivar_iterator I = ivar_begin(), E = ivar_end();
 1708   ObjCInterfaceDecl *IDecl = this;
 1769     auto *ID = dyn_cast<ObjCInterfaceDecl>(DC);
 1769     auto *ID = dyn_cast<ObjCInterfaceDecl>(DC);
 1789 const ObjCInterfaceDecl *ObjCIvarDecl::getContainingInterface() const {
 1809     return cast<ObjCInterfaceDecl>(DC);
 1976                                    IdentifierInfo *Id, ObjCInterfaceDecl *IDecl,
 1991                                            ObjCInterfaceDecl *IDecl,
 2046                              ObjCInterfaceDecl *ClassInterface,
 2065   if (const ObjCInterfaceDecl *ID = getClassInterface())
 2078 void ObjCImplDecl::setClassInterface(ObjCInterfaceDecl *IFace) {
 2149                                ObjCInterfaceDecl *ClassInterface,
 2150                                ObjCInterfaceDecl *SuperDecl,
 2202                                 ObjCInterfaceDecl* AliasedClass) {
tools/clang/lib/AST/DeclPrinter.cpp
   91     void VisitObjCInterfaceDecl(ObjCInterfaceDecl *D);
  459              isa<ObjCInterfaceDecl>(*D) ||
 1306   ObjCInterfaceDecl *SID = OID->getSuperClass();
 1335 void DeclPrinter::VisitObjCInterfaceDecl(ObjCInterfaceDecl *OID) {
 1337   ObjCInterfaceDecl *SID = OID->getSuperClass();
tools/clang/lib/AST/Expr.cpp
  876     if (const ObjCInterfaceDecl *ID = MD->getClassInterface())
tools/clang/lib/AST/ExprObjC.cpp
  358 ObjCInterfaceDecl *ObjCMessageExpr::getReceiverInterface() const {
tools/clang/lib/AST/ExternalASTMerger.cpp
  325 void ExternalASTMerger::CompleteType(ObjCInterfaceDecl *Interface) {
  330         auto *SourceInterface = const_cast<ObjCInterfaceDecl *>(
  331             cast<ObjCInterfaceDecl>(SourceDC.get()));
tools/clang/lib/AST/JSONNodeDumper.cpp
  961 void JSONNodeDumper::VisitObjCInterfaceDecl(const ObjCInterfaceDecl *D) {
tools/clang/lib/AST/Mangle.cpp
  317     } else if (auto *ID = dyn_cast<ObjCInterfaceDecl>(D)) {
  351     if (const auto *OID = dyn_cast<ObjCInterfaceDecl>(OCD))
  351     if (const auto *OID = dyn_cast<ObjCInterfaceDecl>(OCD))
  441   void writeObjCClassName(const ObjCInterfaceDecl *D, raw_ostream &OS) {
tools/clang/lib/AST/NSAPI.cpp
  536 bool NSAPI::isSubclassOfNSClass(ObjCInterfaceDecl *InterfaceDecl,
tools/clang/lib/AST/RecordLayoutBuilder.cpp
  694   void Layout(const ObjCInterfaceDecl *D);
 1352 void ItaniumRecordLayoutBuilder::Layout(const ObjCInterfaceDecl *D) {
 1353   if (ObjCInterfaceDecl *SD = D->getSuperClass()) {
 3178 uint64_t ASTContext::lookupFieldBitOffset(const ObjCInterfaceDecl *OID,
 3181   const ObjCInterfaceDecl *Container = Ivar->getContainingInterface();
 3219 ASTContext::getObjCLayout(const ObjCInterfaceDecl *D,
tools/clang/lib/AST/TextNodeDumper.cpp
   31 static void dumpPreviousDeclImpl(raw_ostream &OS, const Redeclarable<T> *D) {
   32   const T *Prev = D->getPreviousDecl();
 1869 void TextNodeDumper::VisitObjCInterfaceDecl(const ObjCInterfaceDecl *D) {
tools/clang/lib/AST/Type.cpp
 1450   const auto *dcClassDecl = dyn_cast<ObjCInterfaceDecl>(dc);
 1450   const auto *dcClassDecl = dyn_cast<ObjCInterfaceDecl>(dc);
 1492   ObjCInterfaceDecl *curClassDecl = objectType ? objectType->getInterface()
 1526     if (auto *ID = IfaceT->getInterface()) {
 1539   ObjCInterfaceDecl *classDecl = getInterface();
 1552   ObjCInterfaceDecl *superClassDecl = superClassObjTy->getInterface();
 2175     ObjCInterfaceDecl *Interface
 3987   if (ObjCInterfaceDecl *iface = objcPtr->getInterfaceDecl()) {
tools/clang/lib/ASTMatchers/ASTMatchFinder.cpp
  378     const ObjCInterfaceDecl *InterfaceDecl = CAD->getClassInterface();
  442   bool objcClassIsDerivedFrom(const ObjCInterfaceDecl *Declaration,
  778   objcClassHasMatchingCompatibilityAlias(const ObjCInterfaceDecl *InterfaceDecl,
  819   llvm::DenseMap<const ObjCInterfaceDecl *,
  890     const ObjCInterfaceDecl *Declaration, const Matcher<NamedDecl> &Base,
  893   for (const ObjCInterfaceDecl *ClassDecl = Declaration->getSuperClass();
tools/clang/lib/ASTMatchers/ASTMatchersInternal.cpp
  627 const internal::VariadicDynCastAllOfMatcher<Decl, ObjCInterfaceDecl>
tools/clang/lib/ASTMatchers/Dynamic/Marshallers.h
   75     return Value.isMatcher() && Value.getMatcher().hasTypedMatcher<T>();
   78   static ast_matchers::internal::Matcher<T> get(const VariantValue &Value) {
   79     return Value.getMatcher().getTypedMatcher<T>();
   83     return ArgKind(ast_type_traits::ASTNodeKind::getFromNodeKind<T>());
  466       ast_matchers::internal::VariadicDynCastAllOfMatcher<BaseT, DerivedT> Func,
  469         DerivedKind(ast_type_traits::ASTNodeKind::getFromNodeKind<DerivedT>()) {
  778     ast_matchers::internal::VariadicDynCastAllOfMatcher<BaseT, DerivedT>
tools/clang/lib/Analysis/BodyFarm.cpp
  716   const ObjCInterfaceDecl *PrimaryInterface = nullptr;
  717   if (auto *InterfaceDecl = dyn_cast<ObjCInterfaceDecl>(Container)) {
tools/clang/lib/Analysis/CallGraph.cpp
  115     if (ObjCInterfaceDecl *IDecl = ME->getReceiverInterface()) {
tools/clang/lib/Analysis/CocoaConventions.cpp
   83   const ObjCInterfaceDecl *ID = PT->getInterfaceDecl();
tools/clang/lib/Analysis/ObjCNoReturn.cpp
   20 static bool isSubclass(const ObjCInterfaceDecl *Class, IdentifierInfo *II) {
   56   if (const ObjCInterfaceDecl *ID = ME->getReceiverInterface()) {
tools/clang/lib/Analysis/RetainSummaryManager.cpp
 1115   const ObjCInterfaceDecl *Class = ME->getReceiverInterface();
 1124   const ObjCInterfaceDecl *ReceiverClass = nullptr;
 1151                                        const ObjCInterfaceDecl *ID,
 1276   const ObjCInterfaceDecl *ID = MD->getClassInterface();
tools/clang/lib/CodeGen/Address.h
  108 template <class U> inline U cast(CodeGen::Address addr) {
tools/clang/lib/CodeGen/CGDebugInfo.cpp
  285   } else if (const auto *OID = dyn_cast<ObjCInterfaceDecl>(DC)) {
  285   } else if (const auto *OID = dyn_cast<ObjCInterfaceDecl>(DC)) {
 2333   ObjCInterfaceDecl *ID = Ty->getDecl();
 2354   ObjCInterfaceDecl *Def = ID->getDefinition();
 2446   ObjCInterfaceDecl *ID = Ty->getDecl();
 2474   ObjCInterfaceDecl *SClass = ID->getSuperClass();
 3635       const ObjCInterfaceDecl *ID = OMD->getClassInterface();
tools/clang/lib/CodeGen/CGDebugInfo.h
  105   llvm::DenseMap<const ObjCInterfaceDecl *, std::vector<llvm::DISubprogram *>>
tools/clang/lib/CodeGen/CGExpr.cpp
 4728 llvm::Value *CodeGenFunction::EmitIvarOffset(const ObjCInterfaceDecl *Interface,
tools/clang/lib/CodeGen/CGObjC.cpp
   77   const ObjCInterfaceDecl *ClassDecl = BoxingMethod->getClassInterface();
  218   ObjCInterfaceDecl *Class
  477     const ObjCInterfaceDecl *ID = ObjTy->getInterface();
  521   ObjCInterfaceDecl *OID = nullptr;
  650     const ObjCInterfaceDecl *iface = impl->getClassInterface();
 1540   const ObjCInterfaceDecl *iface = impl->getClassInterface();
tools/clang/lib/CodeGen/CGObjCGNU.cpp
  525   virtual std::string GetIVarOffsetVariableName(const ObjCInterfaceDecl *ID,
  532   llvm::GlobalVariable *ObjCIvarOffsetVariable(const ObjCInterfaceDecl *ID,
  582                       const ObjCInterfaceDecl *Class,
  587                            const ObjCInterfaceDecl *Class,
  592                         const ObjCInterfaceDecl *OID) override;
  651                               const ObjCInterfaceDecl *Interface,
 1227         const ObjCInterfaceDecl *OID = nullptr;
 1229           if ((OID = dyn_cast<ObjCInterfaceDecl>(Result)))
 1235         const ObjCInterfaceDecl *OIDDef = OID->getDefinition();
 1662   std::string GetIVarOffsetVariableName(const ObjCInterfaceDecl *ID,
 1674                               const ObjCInterfaceDecl *Interface,
 1692     ObjCInterfaceDecl *classDecl =
 1757     const ObjCInterfaceDecl * SuperClassDecl =
 2289                                  const ObjCInterfaceDecl *OID) {
 2375   const ObjCInterfaceDecl *IDecl = OPT->getObjectType()->getInterface();
 2497                                     const ObjCInterfaceDecl *Class,
 2619                                const ObjCInterfaceDecl *Class,
 3228   const ObjCInterfaceDecl *Class = OCD->getClassInterface();
 3304   if (const ObjCInterfaceDecl *OID = dyn_cast<ObjCInterfaceDecl>(OCD))
 3304   if (const ObjCInterfaceDecl *OID = dyn_cast<ObjCInterfaceDecl>(OCD))
 3328   if (const ObjCInterfaceDecl *OID = dyn_cast<ObjCInterfaceDecl>(OCD))
 3328   if (const ObjCInterfaceDecl *OID = dyn_cast<ObjCInterfaceDecl>(OCD))
 3368   ObjCInterfaceDecl *ClassDecl =
 3378   const ObjCInterfaceDecl * SuperClassDecl =
 3387   ObjCInterfaceDecl *ClassDecl =
 4023                               const ObjCInterfaceDecl *ID,
 4042   const ObjCInterfaceDecl *ID =
 4048 static const ObjCInterfaceDecl *FindIvarInterface(ASTContext &Context,
 4049                                                   const ObjCInterfaceDecl *OID,
 4058   if (const ObjCInterfaceDecl *Super = OID->getSuperClass())
 4065                          const ObjCInterfaceDecl *Interface,
tools/clang/lib/CodeGen/CGObjCMac.cpp
  899   SmallVector<const ObjCInterfaceDecl*, 16> ImplementedClasses;
 1030                                       const ObjCInterfaceDecl *ID,
 1074                                   const ObjCInterfaceDecl *ClassReceiver,
 1238                             const ObjCInterfaceDecl *ID);
 1246   llvm::Value *EmitSuperClassRef(const ObjCInterfaceDecl *ID);
 1259   llvm::Constant *EmitMetaClassRef(const ObjCInterfaceDecl *ID);
 1320                                       const ObjCInterfaceDecl *Class,
 1326                            Selector Sel, const ObjCInterfaceDecl *Class,
 1332                         const ObjCInterfaceDecl *ID) override;
 1390                               const ObjCInterfaceDecl *Interface,
 1434   llvm::GlobalVariable *BuildClassObject(const ObjCInterfaceDecl *CI,
 1457   llvm::Constant *EmitIvarOffsetVar(const ObjCInterfaceDecl *ID,
 1493   llvm::Constant *GetClassGlobal(const ObjCInterfaceDecl *ID,
 1497   llvm::Constant *GetClassGlobalForClassRef(const ObjCInterfaceDecl *ID);
 1500                                   const ObjCInterfaceDecl *ID,
 1506                             const ObjCInterfaceDecl *ID);
 1510                                   const ObjCInterfaceDecl *ID);
 1517                                  const ObjCInterfaceDecl *ID);
 1522                                 const ObjCInterfaceDecl *ID, bool Weak);
 1528     const ObjCInterfaceDecl *ID,
 1538   llvm::Constant *GetInterfaceEHType(const ObjCInterfaceDecl *ID,
 1579         if (const ObjCInterfaceDecl *ID = MD->getClassInterface())
 1584   bool isClassLayoutKnownStatically(const ObjCInterfaceDecl *ID) {
 1605                                       const ObjCInterfaceDecl *Class,
 1611                            Selector Sel, const ObjCInterfaceDecl *Class,
 1617                         const ObjCInterfaceDecl *ID) override;
 1698                               const ObjCInterfaceDecl *Interface,
 1840                                       const ObjCInterfaceDecl *OID) {
 1843   if (const ObjCInterfaceDecl *Super = OID->getSuperClass())
 1881                                  const ObjCInterfaceDecl *ID) {
 2056                                     const ObjCInterfaceDecl *Class,
 2119                                                const ObjCInterfaceDecl *Class,
 2127 static bool isWeakLinkedClass(const ObjCInterfaceDecl *ID) {
 2146                                  const ObjCInterfaceDecl *ClassReceiver,
 3016                const ObjCInterfaceDecl *ID,
 3259   if (const ObjCInterfaceDecl *OID = dyn_cast<ObjCInterfaceDecl>(OCD))
 3259   if (const ObjCInterfaceDecl *OID = dyn_cast<ObjCInterfaceDecl>(OCD))
 3278   if (const ObjCInterfaceDecl *OID = dyn_cast<ObjCInterfaceDecl>(OCD)) {
 3278   if (const ObjCInterfaceDecl *OID = dyn_cast<ObjCInterfaceDecl>(OCD)) {
 3357   const ObjCInterfaceDecl *Interface = OCD->getClassInterface();
 3526   ObjCInterfaceDecl *Interface =
 3576   if (ObjCInterfaceDecl *Super = Interface->getSuperClass()) {
 3632   const ObjCInterfaceDecl *Root = ID->getClassInterface();
 3633   while (const ObjCInterfaceDecl *Super = Root->getSuperClass())
 3640   if (ObjCInterfaceDecl *Super = ID->getClassInterface()->getSuperClass()) {
 3683 llvm::Constant *CGObjCMac::EmitMetaClassRef(const ObjCInterfaceDecl *ID) {
 3705 llvm::Value *CGObjCMac::EmitSuperClassRef(const ObjCInterfaceDecl *ID) {
 3791   const ObjCInterfaceDecl *OID = ID->getClassInterface();
 4649       ObjCInterfaceDecl *IDecl = ObjTy->getInterface();
 4902   const ObjCInterfaceDecl *ID =
 4909                                        const ObjCInterfaceDecl *Interface,
 5064     const ObjCInterfaceDecl *ID = ImplementedClasses[i];
 5104                                      const ObjCInterfaceDecl *ID) {
 5430   const ObjCInterfaceDecl *OI = OMD->getClassInterface();
 6090     const ObjCInterfaceDecl *ID = ImplementedClasses[i];
 6256   const ObjCInterfaceDecl *OID = ID->getClassInterface();
 6297 CGObjCNonFragileABIMac::BuildClassObject(const ObjCInterfaceDecl *CI,
 6401   const auto *CI = ID->getClassInterface();
 6427     const ObjCInterfaceDecl *Root = ID->getClassInterface();
 6428     while (const ObjCInterfaceDecl *Super = Root->getSuperClass())
 6431     const auto *Super = CI->getSuperClass();
 6471     const auto *Super = CI->getSuperClass();
 6549   const ObjCInterfaceDecl *Interface = OCD->getClassInterface();
 6723 CGObjCNonFragileABIMac::ObjCIvarOffsetVariable(const ObjCInterfaceDecl *ID,
 6725   const ObjCInterfaceDecl *Container = Ivar->getContainingInterface();
 6741       const ObjCInterfaceDecl *ContainingID = Ivar->getContainingInterface();
 6755 CGObjCNonFragileABIMac::EmitIvarOffsetVar(const ObjCInterfaceDecl *ID,
 6813   const ObjCInterfaceDecl *OID = ID->getClassInterface();
 7055   ObjCInterfaceDecl *ID = ObjectTy->castAs<ObjCObjectType>()->getInterface();
 7063                                        const ObjCInterfaceDecl *Interface,
 7231                                             const ObjCInterfaceDecl *Class,
 7244 CGObjCNonFragileABIMac::GetClassGlobal(const ObjCInterfaceDecl *ID,
 7287 CGObjCNonFragileABIMac::GetClassGlobalForClassRef(const ObjCInterfaceDecl *ID) {
 7304                                            const ObjCInterfaceDecl *ID,
 7320                                            const ObjCInterfaceDecl *ID) {
 7351                                                   const ObjCInterfaceDecl *ID) {
 7368                                           const ObjCInterfaceDecl *ID) {
 7391                                                       const ObjCInterfaceDecl *ID,
 7414                                               const ObjCInterfaceDecl *ID) {
 7433                                                  const ObjCInterfaceDecl *Class,
 7684 CGObjCNonFragileABIMac::GetInterfaceEHType(const ObjCInterfaceDecl *ID,
tools/clang/lib/CodeGen/CGObjCRuntime.cpp
   30                                               const ObjCInterfaceDecl *OID,
   46     const ObjCInterfaceDecl *ID,
   53                                                const ObjCInterfaceDecl *OID,
tools/clang/lib/CodeGen/CGObjCRuntime.h
   79                                  const ObjCInterfaceDecl *OID,
   86                                   const ObjCInterfaceDecl *OID,
  169                       const ObjCInterfaceDecl *Class = nullptr,
  183                            const ObjCInterfaceDecl *Class,
  232                                 const ObjCInterfaceDecl *OID) = 0;
  269                                       const ObjCInterfaceDecl *Interface,
  304                                     const ObjCInterfaceDecl *ID,
tools/clang/lib/CodeGen/CodeGenFunction.h
 3565   llvm::Value *EmitIvarOffset(const ObjCInterfaceDecl *Interface,
 4221     if (const ObjCInterfaceDecl *classDecl= dyn_cast<ObjCInterfaceDecl>(dc)) {
 4221     if (const ObjCInterfaceDecl *classDecl= dyn_cast<ObjCInterfaceDecl>(dc)) {
tools/clang/lib/CodeGen/CodeGenModule.cpp
 5126   const ObjCInterfaceDecl *iface = impl->getClassInterface();
tools/clang/lib/CodeGen/ItaniumCXXABI.cpp
 3560   ObjCInterfaceDecl *Class = cast<ObjCInterfaceType>(T)->getDecl();
 3561   ObjCInterfaceDecl *Super = Class->getSuperClass();
tools/clang/lib/CodeGen/ObjectFilePCHContainerOperations.cpp
   91     bool VisitObjCInterfaceDecl(ObjCInterfaceDecl *D) {
tools/clang/lib/Edit/RewriteObjCFoundationAPI.cpp
   31   const ObjCInterfaceDecl *Receiver = Msg->getReceiverInterface();
  107 static const ObjCInterfaceDecl *
  108 maybeAdjustInterfaceForSubscriptingCheck(const ObjCInterfaceDecl *IFace,
  144   const ObjCInterfaceDecl *OID = ObjTy->getInterface();
  155 static bool canRewriteToSubscriptSyntax(const ObjCInterfaceDecl *&IFace,
  202 static bool rewriteToArraySubscriptGet(const ObjCInterfaceDecl *IFace,
  212 static bool rewriteToDictionarySubscriptGet(const ObjCInterfaceDecl *IFace,
  222 static bool rewriteToArraySubscriptSet(const ObjCInterfaceDecl *IFace,
  256 static bool rewriteToDictionarySubscriptSet(const ObjCInterfaceDecl *IFace,
  298   const ObjCInterfaceDecl *IFace =
tools/clang/lib/Frontend/ASTUnit.cpp
  297   if (isa<TypeDecl>(ND) || isa<ObjCInterfaceDecl>(ND) ||
  315     if (LangOpts.CPlusPlus || isa<ObjCInterfaceDecl>(ND))
  319     if (const auto *ID = dyn_cast<ObjCInterfaceDecl>(ND)) {
  319     if (const auto *ID = dyn_cast<ObjCInterfaceDecl>(ND)) {
tools/clang/lib/Frontend/Rewrite/RewriteModernObjC.cpp
  113     llvm::SmallPtrSet<ObjCInterfaceDecl*, 8> ObjCSynthesizedStructs;
  115     llvm::SmallPtrSet<ObjCInterfaceDecl*, 8> ObjCWrittenInterfaces;
  117     SmallVector<ObjCInterfaceDecl*, 32> ObjCInterfacesSeen;
  119     SmallVector<ObjCInterfaceDecl*, 8> DefinedNonLazyClasses;
  148     llvm::DenseMap<ObjCInterfaceDecl *,
  152     llvm::DenseSet<const ObjCInterfaceDecl *> ObjCInterefaceHasBitfieldGroups;
  156     llvm::DenseMap<std::pair<const ObjCInterfaceDecl*, unsigned>, QualType> GroupRecordType;
  192         if (ObjCInterfaceDecl *Class = dyn_cast<ObjCInterfaceDecl>(*I)) {
  192         if (ObjCInterfaceDecl *Class = dyn_cast<ObjCInterfaceDecl>(*I)) {
  316     void RewriteForwardClassEpilogue(ObjCInterfaceDecl *ClassDecl,
  322     void RewriteInterfaceDecl(ObjCInterfaceDecl *Dcl);
  324     void RewriteObjCMethodDecl(const ObjCInterfaceDecl *IDecl,
  394     void RewriteObjCInternalStruct(ObjCInterfaceDecl *CDecl,
  405     void RewriteIvarOffsetSymbols(ObjCInterfaceDecl *CDecl,
  747       if (ObjCInterfaceDecl *IFace = dyn_cast<ObjCInterfaceDecl>((*DI))) {
  747       if (ObjCInterfaceDecl *IFace = dyn_cast<ObjCInterfaceDecl>((*DI))) {
  752             if (isa<ObjCInterfaceDecl>(*DI) &&
  753                 !cast<ObjCInterfaceDecl>(*DI)->isThisDeclarationADefinition() &&
  830 static void WriteInternalIvarName(const ObjCInterfaceDecl *IDecl,
  840   const ObjCInterfaceDecl *ClassDecl = D->getContainingInterface();
 1042 static void RewriteOneForwardClassDecl(ObjCInterfaceDecl *ForwardDecl,
 1058 void RewriteModernObjC::RewriteForwardClassEpilogue(ObjCInterfaceDecl *ClassDecl,
 1070     if (ObjCInterfaceDecl *ForwardDecl = dyn_cast<ObjCInterfaceDecl>(*I)) {
 1070     if (ObjCInterfaceDecl *ForwardDecl = dyn_cast<ObjCInterfaceDecl>(*I)) {
 1085   RewriteForwardClassEpilogue(cast<ObjCInterfaceDecl>(*I), typedefString);
 1092     ObjCInterfaceDecl *ForwardDecl = cast<ObjCInterfaceDecl>(D[i]);
 1092     ObjCInterfaceDecl *ForwardDecl = cast<ObjCInterfaceDecl>(D[i]);
 1100   RewriteForwardClassEpilogue(cast<ObjCInterfaceDecl>(D[0]), typedefString);
 1227 void RewriteModernObjC::RewriteObjCMethodDecl(const ObjCInterfaceDecl *IDecl,
 1375 void RewriteModernObjC::RewriteInterfaceDecl(ObjCInterfaceDecl *ClassDecl) {
 1380   ObjCInterfaceDecl *SuperClass = ClassDecl->getSuperClass();
 1964         ObjCInterfaceDecl *IDecl = Ptr->getObjectType()->getInterface();
 2631   ObjCInterfaceDecl *BoxingClass = BoxingMethod->getClassInterface();
 2753   ObjCInterfaceDecl *Class =
 2895   ObjCInterfaceDecl *Class =
 3230     ObjCInterfaceDecl *ClassDecl = CurMethodDef->getClassInterface();
 3310     ObjCInterfaceDecl *Class
 3328     ObjCInterfaceDecl *ClassDecl = CurMethodDef->getClassInterface();
 3755   const ObjCInterfaceDecl *CDecl = IV->getContainingInterface();
 3800   const ObjCInterfaceDecl *CDecl = IV->getContainingInterface();
 3802   std::pair<const ObjCInterfaceDecl*, unsigned> tuple = std::make_pair(CDecl, GroupNo);
 3837   const ObjCInterfaceDecl *CDecl = IV->getContainingInterface();
 3849   const ObjCInterfaceDecl *CDecl = IV->getContainingInterface();
 3874 void RewriteModernObjC::RewriteObjCInternalStruct(ObjCInterfaceDecl *CDecl,
 3879   ObjCInterfaceDecl *RCDecl = CDecl->getSuperClass();
 3951 void RewriteModernObjC::RewriteIvarOffsetSymbols(ObjCInterfaceDecl *CDecl,
 3960   llvm::DenseSet<std::pair<const ObjCInterfaceDecl*, unsigned> > GroupSymbolOutput;
 3962     const ObjCInterfaceDecl *IDecl = IvarDecl->getContainingInterface();
 4003     ObjCInterfaceDecl *CDecl = OIMP->getClassInterface();
 4012     ObjCInterfaceDecl *CDecl = CIMP->getClassInterface();
 4440   ObjCInterfaceDecl *IFace = MD->getClassInterface();
 5847     ObjCInterfaceDecl *CDecl = ObjCInterfacesSeen[i];
 6470                           const ObjCInterfaceDecl *CDecl, bool metaclass) {
 6472   const ObjCInterfaceDecl *RootClass = CDecl;
 6497     ObjCInterfaceDecl *SuperClass = CDecl->getSuperClass();
 6571   const ObjCInterfaceDecl *SuperClass =
 6611                              ObjCInterfaceDecl *ClassDecl,
 6721                                 ObjCInterfaceDecl *CDecl) {
 6764                                            ObjCInterfaceDecl *CDecl) {
 6989                                       const ObjCInterfaceDecl *OID) {
 6992   if (const ObjCInterfaceDecl *Super = OID->getSuperClass())
 6999   ObjCInterfaceDecl *CDecl = IDecl->getClassInterface();
 7163     ObjCInterfaceDecl *CDecl = IDecl->getClassInterface();
 7262   ObjCInterfaceDecl *ClassDecl = IDecl->getClassInterface();
 7346     ObjCInterfaceDecl *ClassDecl = IDecl->getClassInterface();
 7457       ObjCInterfaceDecl *clsDeclared = nullptr;
tools/clang/lib/Frontend/Rewrite/RewriteObjC.cpp
  111     llvm::SmallPtrSet<ObjCInterfaceDecl*, 8> ObjCSynthesizedStructs;
  113     llvm::SmallPtrSet<ObjCInterfaceDecl*, 8> ObjCForwardDecls;
  172         if (ObjCInterfaceDecl *Class = dyn_cast<ObjCInterfaceDecl>(*I)) {
  172         if (ObjCInterfaceDecl *Class = dyn_cast<ObjCInterfaceDecl>(*I)) {
  264     void RewriteForwardClassEpilogue(ObjCInterfaceDecl *ClassDecl,
  270     void RewriteInterfaceDecl(ObjCInterfaceDecl *Dcl);
  272     void RewriteObjCMethodDecl(const ObjCInterfaceDecl *IDecl,
  322     void RewriteObjCInternalStruct(ObjCInterfaceDecl *CDecl,
  666   } else if (ObjCInterfaceDecl *ID = dyn_cast<ObjCInterfaceDecl>(D)) {
  666   } else if (ObjCInterfaceDecl *ID = dyn_cast<ObjCInterfaceDecl>(D)) {
  679       if (ObjCInterfaceDecl *IFace = dyn_cast<ObjCInterfaceDecl>((*DI))) {
  679       if (ObjCInterfaceDecl *IFace = dyn_cast<ObjCInterfaceDecl>((*DI))) {
  684             if (isa<ObjCInterfaceDecl>(*DI) &&
  685                 !cast<ObjCInterfaceDecl>(*DI)->isThisDeclarationADefinition() &&
  757   const ObjCInterfaceDecl *ClassDecl = OID->getContainingInterface();
  888 static void RewriteOneForwardClassDecl(ObjCInterfaceDecl *ForwardDecl,
  901 void RewriteObjC::RewriteForwardClassEpilogue(ObjCInterfaceDecl *ClassDecl,
  913     ObjCInterfaceDecl *ForwardDecl = cast<ObjCInterfaceDecl>(*I);
  913     ObjCInterfaceDecl *ForwardDecl = cast<ObjCInterfaceDecl>(*I);
  925   RewriteForwardClassEpilogue(cast<ObjCInterfaceDecl>(*I), typedefString);
  931     ObjCInterfaceDecl *ForwardDecl = cast<ObjCInterfaceDecl>(D[i]);
  931     ObjCInterfaceDecl *ForwardDecl = cast<ObjCInterfaceDecl>(D[i]);
  939   RewriteForwardClassEpilogue(cast<ObjCInterfaceDecl>(D[0]), typedefString);
 1059 void RewriteObjC::RewriteObjCMethodDecl(const ObjCInterfaceDecl *IDecl,
 1197 void RewriteObjC::RewriteInterfaceDecl(ObjCInterfaceDecl *ClassDecl) {
 1858         ObjCInterfaceDecl *IDecl = Ptr->getObjectType()->getInterface();
 2657     ObjCInterfaceDecl *ClassDecl = CurMethodDef->getClassInterface();
 2739     auto *Class =
 2754     ObjCInterfaceDecl *ClassDecl = CurMethodDef->getClassInterface();
 3085 void RewriteObjC::RewriteObjCInternalStruct(ObjCInterfaceDecl *CDecl,
 3093   ObjCInterfaceDecl *RCDecl = CDecl->getSuperClass();
 3627   ObjCInterfaceDecl *IFace = MD->getClassInterface();
 5261   ObjCInterfaceDecl *CDecl = IDecl->getClassInterface();
 5308     ObjCInterfaceDecl::ivar_iterator IVI, IVE;
 5414   ObjCInterfaceDecl *RootClass = nullptr;
 5415   ObjCInterfaceDecl *SuperClass = CDecl->getSuperClass();
 5614   ObjCInterfaceDecl *ClassDecl = IDecl->getClassInterface();
 5810       ObjCInterfaceDecl *clsDeclared = nullptr;
 5850       ObjCInterfaceDecl *clsDeclared = nullptr;
tools/clang/lib/Index/IndexBody.cpp
  266           if (const auto *clsD = Ty->getInterface()) {
tools/clang/lib/Index/IndexDecl.cpp
  370     ObjCInterfaceDecl::protocol_loc_iterator LI = ProtList.loc_begin();
  371     for (ObjCInterfaceDecl::protocol_iterator
  384   bool VisitObjCInterfaceDecl(const ObjCInterfaceDecl *D) {
  388       if (auto *SuperD = D->getSuperClass()) {
  429     const ObjCInterfaceDecl *Class = D->getClassInterface();
  457     const ObjCInterfaceDecl *C = D->getClassInterface();
  478     const ObjCInterfaceDecl *C = D->getClassInterface();
tools/clang/lib/Index/IndexSymbol.cpp
   20 static bool isUnitTestCase(const ObjCInterfaceDecl *D) {
   23   while (const ObjCInterfaceDecl *SuperD = D->getSuperClass()) {
  192       const ObjCInterfaceDecl *ClsD = dyn_cast<ObjCInterfaceDecl>(D);
  192       const ObjCInterfaceDecl *ClsD = dyn_cast<ObjCInterfaceDecl>(D);
  207       const ObjCInterfaceDecl *ClsD = nullptr;
tools/clang/lib/Index/IndexingContext.cpp
  183   if (isa<ObjCInterfaceDecl>(D))
tools/clang/lib/Index/USRGeneration.cpp
  207   if (const ObjCInterfaceDecl *ID = Context->getObjContainingInterface(D))
  392     const ObjCInterfaceDecl *ID = D->getClassInterface();
  427       const ObjCInterfaceDecl *ID = CD->getClassInterface();
  451       const ObjCInterfaceDecl *ID = CD->getClassInterface();
  476   if (const ObjCInterfaceDecl *ID = Context->getObjContainingInterface(D))
  830       VisitObjCInterfaceDecl(OIT->getDecl());
tools/clang/lib/Sema/CodeCompleteConsumer.cpp
  399         const ObjCInterfaceDecl *Interface = Cat->getClassInterface();
  705       if (isa<ObjCInterfaceDecl>(Declaration))
tools/clang/lib/Sema/DelayedDiagnostic.cpp
   28                                     const ObjCInterfaceDecl *UnknownObjCClass,
tools/clang/lib/Sema/MultiplexExternalSemaSource.cpp
  136 void MultiplexExternalSemaSource::CompleteType(ObjCInterfaceDecl *Class) {
tools/clang/lib/Sema/SemaAccess.cpp
 1915     ObjCInterfaceDecl *ClassOfMethodDecl = nullptr;
tools/clang/lib/Sema/SemaChecking.cpp
 7004         const ObjCInterfaceDecl *IFace;
tools/clang/lib/Sema/SemaCodeComplete.cpp
  213           if (ObjCInterfaceDecl *Interface = Method->getClassInterface())
  885   if (const auto *Iface = dyn_cast<ObjCInterfaceDecl>(ND))
  885   if (const auto *Iface = dyn_cast<ObjCInterfaceDecl>(ND))
  974   if ((isa<TypeDecl>(ND) || isa<ObjCInterfaceDecl>(ND)) &&
 1393   if (const auto *ID = dyn_cast<ObjCInterfaceDecl>(ND)) {
 1393   if (const auto *ID = dyn_cast<ObjCInterfaceDecl>(ND)) {
 1488   return isa<TypeDecl>(ND) || isa<ObjCInterfaceDecl>(ND);
 2536         if (ObjCInterfaceDecl *ID = Method->getClassInterface())
 4422   if (ObjCInterfaceDecl *Interface = dyn_cast<ObjCInterfaceDecl>(Container)) {
 4422   if (ObjCInterfaceDecl *Interface = dyn_cast<ObjCInterfaceDecl>(Container)) {
 4622   } else if (ObjCInterfaceDecl *IFace =
 4623                  dyn_cast<ObjCInterfaceDecl>(Container)) {
 4794       ObjCInterfaceDecl *Class = nullptr;
 4841   ObjCInterfaceDecl *IFace = getObjCInterfaceDecl(ClassNamePtr, ClassNameLoc);
 6197   ObjCInterfaceDecl *IFace = dyn_cast<ObjCInterfaceDecl>(Container);
 6197   ObjCInterfaceDecl *IFace = dyn_cast<ObjCInterfaceDecl>(Container);
 6280   ObjCInterfaceDecl *Class = dyn_cast_or_null<ObjCInterfaceDecl>(CurContext);
 6280   ObjCInterfaceDecl *Class = dyn_cast_or_null<ObjCInterfaceDecl>(CurContext);
 6306   ObjCInterfaceDecl *Class = dyn_cast_or_null<ObjCInterfaceDecl>(CurContext);
 6306   ObjCInterfaceDecl *Class = dyn_cast_or_null<ObjCInterfaceDecl>(CurContext);
 6412 static ObjCInterfaceDecl *GetAssumedMessageSendExprType(Expr *E) {
 6430   ObjCInterfaceDecl *IFace = nullptr;
 6453   ObjCInterfaceDecl *Super = IFace->getSuperClass();
 6503   ObjCInterfaceDecl *Class = CurMethod->getClassInterface();
 6615     if (ObjCInterfaceDecl *Iface = Method->getClassInterface())
 6636   ObjCInterfaceDecl *CDecl = nullptr;
 6662     if ((CDecl = dyn_cast_or_null<ObjCInterfaceDecl>(ND))) {
 6734   ObjCInterfaceDecl *CDecl = nullptr;
 6841                                            ObjCInterfaceDecl *Super) {
 6864     if (ObjCInterfaceDecl *IFace = GetAssumedMessageSendExprType(RecExpr)) {
 6912       if (ObjCInterfaceDecl *ClassDecl = CurMethod->getClassInterface())
 7142     if (const auto *Class = dyn_cast<ObjCInterfaceDecl>(D))
 7142     if (const auto *Class = dyn_cast<ObjCInterfaceDecl>(D))
 7179   if (CurClass && isa<ObjCInterfaceDecl>(CurClass))
 7226   if (ObjCInterfaceDecl *Class =
 7227           dyn_cast_or_null<ObjCInterfaceDecl>(CurClass)) {
 7257   ObjCInterfaceDecl *Class = dyn_cast_or_null<ObjCInterfaceDecl>(CurClass);
 7257   ObjCInterfaceDecl *Class = dyn_cast_or_null<ObjCInterfaceDecl>(CurClass);
 7340   ObjCInterfaceDecl *Class = nullptr;
 7433   if (ObjCInterfaceDecl *IFace = dyn_cast<ObjCInterfaceDecl>(Container)) {
 7433   if (ObjCInterfaceDecl *IFace = dyn_cast<ObjCInterfaceDecl>(Container)) {
 7528 static bool InheritsFromClassNamed(ObjCInterfaceDecl *Class, StringRef Name) {
 7653     if (ObjCInterfaceDecl *IFace = ObjCPointer->getInterfaceDecl()) {
 8303     ObjCInterfaceDecl *IFace = dyn_cast<ObjCInterfaceDecl>(SearchDecl);
 8303     ObjCInterfaceDecl *IFace = dyn_cast<ObjCInterfaceDecl>(SearchDecl);
tools/clang/lib/Sema/SemaDecl.cpp
   85       bool IsType = isa<TypeDecl>(ND) || isa<ObjCInterfaceDecl>(ND);
  434       if (isa<TypeDecl>(*Res) || isa<ObjCInterfaceDecl>(*Res) ||
  484   } else if (ObjCInterfaceDecl *IDecl = dyn_cast<ObjCInterfaceDecl>(IIDecl)) {
  484   } else if (ObjCInterfaceDecl *IDecl = dyn_cast<ObjCInterfaceDecl>(IIDecl)) {
  504       !isa<ObjCInterfaceDecl>(IIDecl)) {
  774     if (isa<TypeDecl>(*I) || isa<ObjCInterfaceDecl>(*I))
  960                     isa<ObjCInterfaceDecl>(UnderlyingFirstDecl) ||
 1131   ObjCInterfaceDecl *Class = dyn_cast<ObjCInterfaceDecl>(FirstDecl);
 1131   ObjCInterfaceDecl *Class = dyn_cast<ObjCInterfaceDecl>(FirstDecl);
 1935 ObjCInterfaceDecl *Sema::getObjCInterfaceDecl(IdentifierInfo *&Id,
 1945     DeclFilterCCC<ObjCInterfaceDecl> CCC{};
 1950       IDecl = C.getCorrectionDeclAs<ObjCInterfaceDecl>();
 1954   ObjCInterfaceDecl *Def = dyn_cast_or_null<ObjCInterfaceDecl>(IDecl);
 1954   ObjCInterfaceDecl *Def = dyn_cast_or_null<ObjCInterfaceDecl>(IDecl);
16356       !NewID->isInvalidDecl() && isa<ObjCInterfaceDecl>(EnclosingDecl))
16376   ObjCInterfaceDecl *ID = dyn_cast<ObjCInterfaceDecl>(CurContext);
16376   ObjCInterfaceDecl *ID = dyn_cast<ObjCInterfaceDecl>(CurContext);
16793     if (ObjCInterfaceDecl *ID = dyn_cast<ObjCInterfaceDecl>(EnclosingDecl)) {
16793     if (ObjCInterfaceDecl *ID = dyn_cast<ObjCInterfaceDecl>(EnclosingDecl)) {
16822       ObjCInterfaceDecl *IDecl = CDecl->getClassInterface();
tools/clang/lib/Sema/SemaDeclAttr.cpp
  155   ObjCInterfaceDecl *Cls = PT->getObjectType()->getInterface();
 2514         isa<ObjCInterfaceDecl>(D) ||
 2771               (isa<ObjCInterfaceDecl>(D) || isa<EnumDecl>(D)))) {
 5202   if (!isa<ObjCInterfaceDecl>(Ctx) &&
 5209   ObjCInterfaceDecl *IFace;
 5213     IFace = cast<ObjCInterfaceDecl>(Ctx);
 7551                                  ObjCInterfaceDecl *ClassReceiver) {
 7568   if (const auto *IDecl = dyn_cast<ObjCInterfaceDecl>(D)) {
 7568   if (const auto *IDecl = dyn_cast<ObjCInterfaceDecl>(D)) {
 7649       if (const ObjCInterfaceDecl *Interface = CatOrImpl->getClassInterface())
 7655       if (const ObjCInterfaceDecl *Interface = CatD->getClassInterface())
 7801                                       const ObjCInterfaceDecl *UnknownObjCClass,
 8109                                     const ObjCInterfaceDecl *UnknownObjCClass,
 8210                                 ObjCInterfaceDecl *ClassReceiver = nullptr);
 8253       ObjCInterfaceDecl *ID = nullptr;
 8286     NamedDecl *D, SourceRange Range, ObjCInterfaceDecl *ReceiverClass) {
 8474                                       const ObjCInterfaceDecl *UnknownObjCClass,
 8477                                       ObjCInterfaceDecl *ClassReceiver) {
tools/clang/lib/Sema/SemaDeclCXX.cpp
15791   if (ObjCInterfaceDecl *OID = ObjCImplementation->getClassInterface()) {
tools/clang/lib/Sema/SemaDeclObjC.cpp
   59     ObjCInterfaceDecl *resultClass = result->getInterface();
   73       const ObjCInterfaceDecl *receiverClass = nullptr;
  147     ObjCInterfaceDecl *CurrentClass
  148       = dyn_cast<ObjCInterfaceDecl>(NewMethod->getDeclContext());
  436   if (ObjCInterfaceDecl *IC = MDecl->getClassInterface()) {
  446       if (ObjCInterfaceDecl *OID = dyn_cast<ObjCInterfaceDecl>(ContDeclOfMethodDecl))
  446       if (ObjCInterfaceDecl *OID = dyn_cast<ObjCInterfaceDecl>(ContDeclOfMethodDecl))
  450           if (ObjCInterfaceDecl *OID = CD->getClassInterface())
  476     if (const ObjCInterfaceDecl *SuperClass = IC->getSuperClass()) {
  506   explicit ObjCInterfaceValidatorCCC(ObjCInterfaceDecl *IDecl)
  510     ObjCInterfaceDecl *ID = candidate.getCorrectionDeclAs<ObjCInterfaceDecl>();
  510     ObjCInterfaceDecl *ID = candidate.getCorrectionDeclAs<ObjCInterfaceDecl>();
  519   ObjCInterfaceDecl *CurrentIDecl;
  543                                 ObjCInterfaceDecl *IDecl,
  563       PrevDecl = Corrected.getCorrectionDeclAs<ObjCInterfaceDecl>();
  572     ObjCInterfaceDecl *SuperClassDecl =
  573     dyn_cast_or_null<ObjCInterfaceDecl>(PrevDecl);
  590             SuperClassDecl = dyn_cast<ObjCInterfaceDecl>(IDecl);
  863                  !(isa<ObjCInterfaceDecl>(prevTypeParam->getDeclContext()) &&
  864                    cast<ObjCInterfaceDecl>(prevTypeParam->getDeclContext())
  990   if (PrevDecl && !isa<ObjCInterfaceDecl>(PrevDecl)) {
  996   ObjCInterfaceDecl* PrevIDecl = dyn_cast_or_null<ObjCInterfaceDecl>(PrevDecl);
  996   ObjCInterfaceDecl* PrevIDecl = dyn_cast_or_null<ObjCInterfaceDecl>(PrevDecl);
 1055   ObjCInterfaceDecl *IDecl
 1056     = ObjCInterfaceDecl::Create(Context, CurContext, AtInterfaceLoc, ClassName,
 1060     if (ObjCInterfaceDecl *Def = PrevIDecl->getDefinition()) {
 1162   ObjCInterfaceDecl *CDecl = dyn_cast_or_null<ObjCInterfaceDecl>(CDeclU);
 1162   ObjCInterfaceDecl *CDecl = dyn_cast_or_null<ObjCInterfaceDecl>(CDeclU);
 1380       if (candidate.getCorrectionDeclAs<ObjCInterfaceDecl>())
 1428     ObjCInterfaceDecl *baseClass = nullptr;
 1477           if (isa<ObjCInterfaceDecl>(decl)) {
 1534   typedef llvm::PointerUnion<TypeDecl *, ObjCInterfaceDecl *> TypeOrClassDecl;
 1551     if (auto objcClass = dyn_cast<ObjCInterfaceDecl>(decl)) {
 1574       type = Context.getObjCInterfaceType(typeDecl.get<ObjCInterfaceDecl *>());
 1709       if (auto objcClass = corrected.getCorrectionDeclAs<ObjCInterfaceDecl>()) {
 1745                                             ObjCInterfaceDecl *ID) {
 1805   ObjCInterfaceDecl *IDecl = getObjCInterfaceDecl(ClassName, ClassLoc, true);
 1898   ObjCInterfaceDecl *IDecl = getObjCInterfaceDecl(ClassName, ClassLoc, true);
 1965   ObjCInterfaceDecl *IDecl = nullptr;
 1970   if (PrevDecl && !isa<ObjCInterfaceDecl>(PrevDecl)) {
 1973   } else if ((IDecl = dyn_cast_or_null<ObjCInterfaceDecl>(PrevDecl))) {
 1985     if (Corrected.getCorrectionDeclAs<ObjCInterfaceDecl>()) {
 1998   ObjCInterfaceDecl *SDecl = nullptr;
 2003     if (PrevDecl && !isa<ObjCInterfaceDecl>(PrevDecl)) {
 2008       SDecl = dyn_cast_or_null<ObjCInterfaceDecl>(PrevDecl);
 2030     IDecl = ObjCInterfaceDecl::Create(Context, CurContext, AtClassImplLoc,
 2114   ObjCInterfaceDecl* IDecl = ImpDecl->getClassInterface();
 2167   ObjCInterfaceDecl::ivar_iterator
 2659 static void findProtocolsWithExplicitImpls(const ObjCInterfaceDecl *Super,
 2681   ObjCInterfaceDecl *IDecl = C ? C->getClassInterface()
 2682                                : dyn_cast<ObjCInterfaceDecl>(CDecl);
 2685   ObjCInterfaceDecl *Super = IDecl->getSuperClass();
 2686   ObjCInterfaceDecl *NSIDecl = nullptr;
 2875   if (ObjCInterfaceDecl *I = dyn_cast<ObjCInterfaceDecl> (CDecl)) {
 2875   if (ObjCInterfaceDecl *I = dyn_cast<ObjCInterfaceDecl> (CDecl)) {
 2917   ObjCInterfaceDecl *IDecl = CatDecl->getClassInterface();
 2920   ObjCInterfaceDecl *SuperIDecl = IDecl->getSuperClass();
 2976   if (const ObjCInterfaceDecl *IDecl = dyn_cast<ObjCInterfaceDecl>(CDecl)) {
 2976   if (const ObjCInterfaceDecl *IDecl = dyn_cast<ObjCInterfaceDecl>(CDecl)) {
 3010   if (ObjCInterfaceDecl *I = dyn_cast<ObjCInterfaceDecl> (CDecl)) {
 3010   if (ObjCInterfaceDecl *I = dyn_cast<ObjCInterfaceDecl> (CDecl)) {
 3041     if (PrevDecl && !isa<ObjCInterfaceDecl>(PrevDecl)) {
 3068     ObjCInterfaceDecl *PrevIDecl
 3069       = dyn_cast_or_null<ObjCInterfaceDecl>(PrevDecl);
 3099       } else if (ObjCInterfaceDecl *Def = PrevIDecl->getDefinition()) {
 3111     ObjCInterfaceDecl *IDecl
 3112       = ObjCInterfaceDecl::Create(Context, CurContext, AtClassLoc,
 3275   ObjCInterfaceDecl *MethodInterface = Method->getClassInterface();
 3276   ObjCInterfaceDecl *MethodInListInterface =
 3446   auto *BoundInterface = TypeBound->getInterface();
 3458   if (ObjCInterfaceDecl *MethodInterface = Method->getClassInterface()) {
 3727 void Sema::DiagnoseDuplicateIvars(ObjCInterfaceDecl *ID,
 3728                                   ObjCInterfaceDecl *SID) {
 3762                                                   ObjCInterfaceDecl *ID) {
 3808   ObjCInterfaceDecl *IntfDecl = nullptr;
 3809   ObjCInterfaceDecl::ivar_range Ivars = llvm::make_range(
 3811   if ((IntfDecl = dyn_cast<ObjCInterfaceDecl>(OCD))) {
 3824   if (!isa<ObjCInterfaceDecl>(OCD)) {
 3871     const ObjCInterfaceDecl *SuperClass = IntfDecl->getSuperClass();
 3902         isa<ObjCInterfaceDecl>(ClassDecl) || isa<ObjCCategoryDecl>(ClassDecl)
 3964   if (isa<ObjCInterfaceDecl>(ClassDecl)) {
 3972       ObjCInterfaceDecl *CCPrimary = C->getClassInterface();
 3987     if (ObjCInterfaceDecl* IDecl = IC->getClassInterface()) {
 4037           ObjCInterfaceDecl *NSObjectDecl = dyn_cast_or_null<ObjCInterfaceDecl>(IF);
 4037           ObjCInterfaceDecl *NSObjectDecl = dyn_cast_or_null<ObjCInterfaceDecl>(IF);
 4050       if (const ObjCInterfaceDecl *Super = IDecl->getSuperClass()) {
 4079     if (ObjCInterfaceDecl* IDecl = CatImplClass->getClassInterface()) {
 4085   } else if (const auto *IntfDecl = dyn_cast<ObjCInterfaceDecl>(ClassDecl)) {
 4085   } else if (const auto *IntfDecl = dyn_cast<ObjCInterfaceDecl>(ClassDecl)) {
 4086     if (const ObjCInterfaceDecl *Super = IntfDecl->getSuperClass()) {
 4135                                     ObjCInterfaceDecl *CurrentClass) {
 4149       if (ObjCInterfaceDecl *ResultClass
 4206       if (const ObjCInterfaceDecl *Interface = Category->getClassInterface())
 4256       if (ObjCInterfaceDecl *Interface = category->getClassInterface())
 4260     } else if (const auto *Interface = impl->getClassInterface()) {
 4265   void searchFrom(const ObjCInterfaceDecl *iface) {
 4275     if (ObjCInterfaceDecl *super = iface->getSuperClass())
 4285     if (const auto *Interface = impl->getClassInterface())
 4318                                     ObjCInterfaceDecl *CurrentClass,
 4382     if (isa<ObjCInterfaceDecl>(ObjCMethod->getDeclContext()) ||
 4388         isa<ObjCInterfaceDecl>(overridden->getDeclContext()) &&
 4671     if (ObjCInterfaceDecl *IDecl = ImpDecl->getClassInterface()) {
 4716   ObjCInterfaceDecl *CurrentClass = dyn_cast<ObjCInterfaceDecl>(ClassDecl);
 4716   ObjCInterfaceDecl *CurrentClass = dyn_cast<ObjCInterfaceDecl>(ClassDecl);
 4814   ObjCInterfaceDecl *Class = getObjCInterfaceDecl(ClassName, DeclStart);
 4955 void Sema::CollectIvarsToConstructOrDestruct(ObjCInterfaceDecl *OI,
 4993   const ObjCInterfaceDecl *IDecl = Method->getClassInterface();
tools/clang/lib/Sema/SemaExpr.cpp
  212                              const ObjCInterfaceDecl *UnknownObjCClass,
  215                              ObjCInterfaceDecl *ClassReceiver) {
  514     if (ObjCInterfaceDecl *IDecl = OTy->getInterface()) {
  515       ObjCInterfaceDecl *ClassDeclared = nullptr;
 2072                                   isa<ObjCInterfaceDecl>(UnderlyingND);
 2519   ObjCInterfaceDecl *IFace = nullptr;
 2522     ObjCInterfaceDecl *ClassDeclared;
 2542     if (ObjCInterfaceDecl *IFace = CurMethod->getClassInterface()) {
 2543       ObjCInterfaceDecl *ClassDeclared;
 2570   ObjCInterfaceDecl *IFace = CurMethod->getClassInterface();
 2884   if (isa<ObjCInterfaceDecl>(D)) {
14588     const ObjCInterfaceDecl *ID = PT->getInterfaceDecl();
14647   const ObjCInterfaceDecl *IFace = nullptr;
tools/clang/lib/Sema/SemaExprCXX.cpp
 5090       ObjCInterfaceDecl *BaseInterface = LHSObjTy->getInterface();
 5091       ObjCInterfaceDecl *DerivedInterface = RHSObjTy->getInterface();
tools/clang/lib/Sema/SemaExprMember.cpp
 1325     ObjCInterfaceDecl *IDecl = OTy->getInterface();
 1347     ObjCInterfaceDecl *ClassDeclared = nullptr;
 1372         else if (auto *Interface = dyn_cast<ObjCInterfaceDecl>(D))
 1372         else if (auto *Interface = dyn_cast<ObjCInterfaceDecl>(D))
 1406       ObjCInterfaceDecl *ClassOfMethodDecl = nullptr;
 1549       ObjCInterfaceDecl *IFace = MD->getClassInterface();
tools/clang/lib/Sema/SemaExprObjC.cpp
  103     if (ObjCInterfaceDecl *StrIF = dyn_cast_or_null<ObjCInterfaceDecl>(IF)) {
  103     if (ObjCInterfaceDecl *StrIF = dyn_cast_or_null<ObjCInterfaceDecl>(IF)) {
  118     if (ObjCInterfaceDecl *StrIF = dyn_cast_or_null<ObjCInterfaceDecl>(IF)) {
  118     if (ObjCInterfaceDecl *StrIF = dyn_cast_or_null<ObjCInterfaceDecl>(IF)) {
  129         ObjCInterfaceDecl *NSStringIDecl =
  130           ObjCInterfaceDecl::Create (Context,
  147                                  const ObjCInterfaceDecl *Class,
  195 static bool ValidateObjCLiteralInterfaceDecl(Sema &S, ObjCInterfaceDecl *Decl,
  217 static ObjCInterfaceDecl *LookupObjCInterfaceDeclForLiteral(Sema &S,
  224   ObjCInterfaceDecl *ID = dyn_cast_or_null<ObjCInterfaceDecl>(IF);
  224   ObjCInterfaceDecl *ID = dyn_cast_or_null<ObjCInterfaceDecl>(IF);
  228     ID = ObjCInterfaceDecl::Create (Context, TU, SourceLocation(), II,
 1345       if (ObjCInterfaceDecl *Class = CurMethod->getClassInterface()) {
 1612         if (ObjCInterfaceDecl *ThisClass =
 1780   if (ObjCInterfaceDecl *iface = objType->getInterface()) {
 1824   ObjCInterfaceDecl *IFace = IFaceT->getDecl();
 1972   ObjCInterfaceDecl *ClassDeclared;
 2005   ObjCInterfaceDecl *IFace = getObjCInterfaceDecl(receiverNamePtr,
 2113     return candidate.getCorrectionDeclAs<ObjCInterfaceDecl>() ||
 2153       ObjCInterfaceDecl *ClassDeclared;
 2178     if (ObjCInterfaceDecl *Class = dyn_cast<ObjCInterfaceDecl>(ND))
 2178     if (ObjCInterfaceDecl *Class = dyn_cast<ObjCInterfaceDecl>(ND))
 2205     } else if (ObjCInterfaceDecl *Class =
 2206                    Corrected.getCorrectionDeclAs<ObjCInterfaceDecl>()) {
 2236   ObjCInterfaceDecl *Class = Method->getClassInterface();
 2484   ObjCInterfaceDecl *Class = nullptr;
 2544       const ObjCInterfaceDecl *ID =
 2545         dyn_cast<ObjCInterfaceDecl>(Method->getDeclContext());
 2631   if (const auto *RootClass = dyn_cast_or_null<ObjCInterfaceDecl>(
 2631   if (const auto *RootClass = dyn_cast_or_null<ObjCInterfaceDecl>(
 2830           if (ObjCInterfaceDecl *ClassDecl = CurMeth->getClassInterface()) {
 2860                 if (const ObjCInterfaceDecl *ID =
 2861                     dyn_cast<ObjCInterfaceDecl>(Method->getDeclContext())) {
 2877       ObjCInterfaceDecl *ClassDecl = nullptr;
 2899         const ObjCInterfaceDecl *forwardClass = nullptr;
 2985         if (const ObjCInterfaceDecl *ID = OCIType->getInterfaceDecl()) {
 3820           if (Target && isa<ObjCInterfaceDecl>(Target)) {
 3821             ObjCInterfaceDecl *ExprClass = cast<ObjCInterfaceDecl>(Target);
 3821             ObjCInterfaceDecl *ExprClass = cast<ObjCInterfaceDecl>(Target);
 3824               ObjCInterfaceDecl *CastClass
 3886           if (Target && isa<ObjCInterfaceDecl>(Target)) {
 3887             ObjCInterfaceDecl *CastClass = cast<ObjCInterfaceDecl>(Target);
 3887             ObjCInterfaceDecl *CastClass = cast<ObjCInterfaceDecl>(Target);
 3890               ObjCInterfaceDecl *ExprClass
 4026                                             ObjCInterfaceDecl *&RelatedClass,
 4054   if (Target && isa<ObjCInterfaceDecl>(Target))
 4055     RelatedClass = cast<ObjCInterfaceDecl>(Target);
 4108   ObjCInterfaceDecl *RelatedClass;
 4390       if (const ObjCInterfaceDecl *ObjI = ObjT->getInterfaceDecl())
tools/clang/lib/Sema/SemaLookup.cpp
 1344               if (ObjCInterfaceDecl *Class = Method->getClassInterface()) {
 1345                 ObjCInterfaceDecl *ClassDeclared;
 3887     if (ObjCInterfaceDecl *IFace = dyn_cast<ObjCInterfaceDecl>(Ctx)) {
 3887     if (ObjCInterfaceDecl *IFace = dyn_cast<ObjCInterfaceDecl>(Ctx)) {
 3980             if (ObjCInterfaceDecl *IFace = Method->getClassInterface()) {
 4605     if (ObjCInterfaceDecl *Class = dyn_cast<ObjCInterfaceDecl>(MemberContext)) {
 4605     if (ObjCInterfaceDecl *Class = dyn_cast<ObjCInterfaceDecl>(MemberContext)) {
 5288   if (ObjCInterfaceDecl *ID = dyn_cast<ObjCInterfaceDecl>(D))
 5288   if (ObjCInterfaceDecl *ID = dyn_cast<ObjCInterfaceDecl>(D))
tools/clang/lib/Sema/SemaObjCProperty.cpp
  225                               (isa<ObjCInterfaceDecl>(ClassDecl) ||
  233   if (ObjCInterfaceDecl *IFace = dyn_cast<ObjCInterfaceDecl>(ClassDecl)) {
  233   if (ObjCInterfaceDecl *IFace = dyn_cast<ObjCInterfaceDecl>(ClassDecl)) {
  236     ObjCInterfaceDecl *CurrentInterfaceDecl = IFace;
  237     while (ObjCInterfaceDecl *Super = CurrentInterfaceDecl->getSuperClass()) {
  430   ObjCInterfaceDecl *CCPrimary = CDecl->getClassInterface();
  601       ObjCInterfaceDecl *IDecl = ObjPtrTy->getObjectType()->getInterface();
  834                                         ObjCInterfaceDecl *ClassDecl,
  838   ObjCInterfaceDecl::ProtocolPropertySet ProtocolSet;
  839   ObjCInterfaceDecl::PropertyDeclOrder Properties;
  845   if (ObjCInterfaceDecl *SDecl = ClassDecl->getSuperClass()) {
 1065   ObjCInterfaceDecl *IDecl = nullptr;
 1180     ObjCInterfaceDecl *ClassDeclared;
 1232             const ObjCInterfaceDecl *ObjI = ObjT->getInterfaceDecl();
 1250       ObjCInterfaceDecl *ClassDeclared=nullptr;
 1530       ObjCInterfaceDecl *ClassDeclared=nullptr;
 1705   if (ObjCInterfaceDecl *IDecl = dyn_cast<ObjCInterfaceDecl>(CDecl)) {
 1705   if (ObjCInterfaceDecl *IDecl = dyn_cast<ObjCInterfaceDecl>(CDecl)) {
 1767 static void CollectSuperClassPropertyImplementations(ObjCInterfaceDecl *CDecl,
 1768                                     ObjCInterfaceDecl::PropertyMap &PropMap) {
 1769   if (ObjCInterfaceDecl *SDecl = CDecl->getSuperClass()) {
 1770     ObjCInterfaceDecl::PropertyDeclOrder PO;
 1782 Sema::IvarBacksCurrentMethodAccessor(ObjCInterfaceDecl *IFace,
 1810 static bool SuperClassImplementsProperty(ObjCInterfaceDecl *IDecl,
 1818     ObjCInterfaceDecl *SDecl = IDecl->getSuperClass();
 1834                                        ObjCInterfaceDecl *IDecl,
 1836   ObjCInterfaceDecl::PropertyMap PropMap;
 1837   ObjCInterfaceDecl::PropertyDeclOrder PropertyOrder;
 1841   ObjCInterfaceDecl::PropertyMap SuperPropMap;
 1933   if (ObjCInterfaceDecl* IDecl = IC->getClassInterface())
 1939     Sema &S, ObjCInterfaceDecl *PrimaryClass, Selector Method,
 1969       if (ObjCInterfaceDecl *ID = dyn_cast<ObjCInterfaceDecl>(CDecl))
 1969       if (ObjCInterfaceDecl *ID = dyn_cast<ObjCInterfaceDecl>(CDecl))
 1970         if (const ObjCInterfaceDecl *RID = ID->isObjCRequiresPropertyDefs())
 1979   ObjCInterfaceDecl *IDecl = dyn_cast<ObjCInterfaceDecl>(CDecl);
 1979   ObjCInterfaceDecl *IDecl = dyn_cast<ObjCInterfaceDecl>(CDecl);
 1992         ObjCInterfaceDecl::PropertyDeclOrder PO;
 2051   ObjCInterfaceDecl *PrimaryClass = nullptr;
 2112                                        ObjCInterfaceDecl* IDecl) {
 2265                                             const ObjCInterfaceDecl *IFD) {
 2267   const ObjCInterfaceDecl *SuperD = IFD->getSuperClass();
 2525   ObjCInterfaceDecl *CurrentClass = dyn_cast<ObjCInterfaceDecl>(CD);
 2525   ObjCInterfaceDecl *CurrentClass = dyn_cast<ObjCInterfaceDecl>(CD);
tools/clang/lib/Sema/SemaOverload.cpp
10078       if (const ObjCInterfaceDecl *FromIface = FromPtrTy->getInterfaceDecl())
10079         if (const ObjCInterfaceDecl *ToIface = ToPtrTy->getInterfaceDecl())
tools/clang/lib/Sema/SemaPseudoObject.cpp
  665       if (const ObjCInterfaceDecl *IFace =
  666           dyn_cast<ObjCInterfaceDecl>(setter->getDeclContext())) {
tools/clang/lib/Sema/SemaStmt.cpp
 1856   ObjCInterfaceDecl *iface = objectType->getInterface();
tools/clang/lib/Sema/SemaType.cpp
  849   ObjCInterfaceDecl *objcClass = objcObjectType->getInterface();
 6238       if (ObjCInterfaceDecl *Class = ObjT->getInterfaceDecl()) {
 8041   ObjCInterfaceDecl *IFace = dyn_cast_or_null<ObjCInterfaceDecl>(Def);
 8041   ObjCInterfaceDecl *IFace = dyn_cast_or_null<ObjCInterfaceDecl>(Def);
tools/clang/lib/Serialization/ASTReader.cpp
 6689     ObjCInterfaceDecl *ItfD
 6690       = ReadDeclAs<ObjCInterfaceDecl>(*Loc.F, Record, Idx);
 9979     if (auto ID = dyn_cast<ObjCInterfaceDecl>(D)) {
 9985         cast<ObjCInterfaceDecl>(R)->Data = ID->Data;
tools/clang/lib/Serialization/ASTReaderDecl.cpp
  144     T *ReadDeclAs() {
  145       return Record.readDeclAs<T>();
  172     void ReadObjCDefinitionData(struct ObjCInterfaceDecl::DefinitionData &Data);
  173     void MergeDefinitionData(ObjCInterfaceDecl *D,
  174                              struct ObjCInterfaceDecl::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,
  436     void VisitObjCInterfaceDecl(ObjCInterfaceDecl *D);
  543   } else if (auto *ID = dyn_cast<ObjCInterfaceDecl>(D)) {
  543   } else if (auto *ID = dyn_cast<ObjCInterfaceDecl>(D)) {
 1092          struct ObjCInterfaceDecl::DefinitionData &Data) {
 1122 void ASTDeclReader::MergeDefinitionData(ObjCInterfaceDecl *D,
 1123          struct ObjCInterfaceDecl::DefinitionData &&NewDD) {
 1127 void ASTDeclReader::VisitObjCInterfaceDecl(ObjCInterfaceDecl *ID) {
 1139     ObjCInterfaceDecl *Canon = ID->getCanonicalDecl();
 1237   CD->ClassInterface = ReadDeclAs<ObjCInterfaceDecl>();
 1260   CAD->setClassInterface(ReadDeclAs<ObjCInterfaceDecl>());
 1289   D->setClassInterface(ReadDeclAs<ObjCInterfaceDecl>());
 1299   D->setSuperClass(ReadDeclAs<ObjCInterfaceDecl>());
 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);
 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) {
 3783     D = ObjCInterfaceDecl::CreateDeserialized(Context, ID);
 3918   if (auto *Class = dyn_cast<ObjCInterfaceDecl>(D))
 3918   if (auto *Class = dyn_cast<ObjCInterfaceDecl>(D))
 4105     ObjCInterfaceDecl *Interface;
 4153                           ObjCInterfaceDecl *Interface,
 4211                                    ObjCInterfaceDecl *D,
tools/clang/lib/Serialization/ASTReaderStmt.cpp
   95     T *ReadDeclAs() {
   96       return Record.readDeclAs<T>();
 1261     E->setClassReceiver(ReadDeclAs<ObjCInterfaceDecl>());
tools/clang/lib/Serialization/ASTWriter.cpp
 4411     ObjCInterfaceDecl *Class = ObjCClassesWithCategories[I];
 4417     for (ObjCInterfaceDecl::known_categories_iterator
 6507                                              const ObjCInterfaceDecl *IFD) {
tools/clang/lib/Serialization/ASTWriterDecl.cpp
  129     template <typename T> void VisitRedeclarable(Redeclarable<T> *D);
  136     void VisitObjCInterfaceDecl(ObjCInterfaceDecl *D);
  726 void ASTDeclWriter::VisitObjCInterfaceDecl(ObjCInterfaceDecl *D) {
  735     ObjCInterfaceDecl::DefinitionData &Data = D->data();
 1722   T *First = D->getFirstDecl();
 1723   T *MostRecent = First->getMostRecentDecl();
 1724   T *DAsT = static_cast<T *>(D);
tools/clang/lib/StaticAnalyzer/Checkers/BasicObjCFoundationChecks.cpp
   53   if (const ObjCInterfaceDecl *ID = msg.getReceiverInterface())
   69 static FoundationClass findKnownClass(const ObjCInterfaceDecl *ID,
   85     if (const ObjCInterfaceDecl *Super = ID->getSuperClass())
  222   const ObjCInterfaceDecl *ID = msg.getReceiverInterface();
  621   const ObjCInterfaceDecl *Class = msg.getReceiverInterface();
  684     const ObjCInterfaceDecl *Class = MD->getClassInterface();
  697     const ObjCInterfaceDecl *Class = msg.getReceiverInterface();
  835   const ObjCInterfaceDecl *ID = PT->getInterfaceDecl();
 1016   const ObjCInterfaceDecl *ClassID = M.getReceiverInterface();
 1062   const ObjCInterfaceDecl *StaticClass;
 1198   if (const ObjCInterfaceDecl *Interface = M.getReceiverInterface()) {
tools/clang/lib/StaticAnalyzer/Checkers/CheckObjCDealloc.cpp
  173   bool classHasSeparateTeardown(const ObjCInterfaceDecl *ID) const;
  196   const ObjCInterfaceDecl *ID = D->getClassInterface();
  550     const ObjCInterfaceDecl *Interface = IvarDecl->getContainingInterface();
 1011     const ObjCInterfaceDecl *ID) const {
 1050   const ObjCInterfaceDecl *ID =
tools/clang/lib/StaticAnalyzer/Checkers/CheckObjCInstMethSignature.cpp
   82   const ObjCInterfaceDecl *D = ID->getClassInterface();
   83   const ObjCInterfaceDecl *C = D->getSuperClass();
tools/clang/lib/StaticAnalyzer/Checkers/DirectIvarAssignment.cpp
   62     const ObjCInterfaceDecl *InterfD;
   69                   const ObjCInterfaceDecl *InID, BugReporter &InBR,
   95                                                const ObjCInterfaceDecl *InterD,
  102   ObjCInterfaceDecl *NonConstInterD = const_cast<ObjCInterfaceDecl*>(InterD);
  119   const ObjCInterfaceDecl *InterD = D->getClassInterface();
tools/clang/lib/StaticAnalyzer/Checkers/DynamicTypeChecker.cpp
  146   const ObjCInterfaceDecl *Decl = ObjPtr->getInterfaceDecl();
tools/clang/lib/StaticAnalyzer/Checkers/DynamicTypePropagation.cpp
  368   const ObjCInterfaceDecl *ToI = NewTy->getInterfaceDecl();
  369   const ObjCInterfaceDecl *FromI = OldTy->getInterfaceDecl();
  666       const ObjCInterfaceDecl *InterfaceDecl = TrackedType->getInterfaceDecl();
  746   const ObjCInterfaceDecl *Interface = Method->getClassInterface();
tools/clang/lib/StaticAnalyzer/Checkers/IvarInvalidationChecker.cpp
  193       const ObjCInterfaceDecl *InterfaceD,
  205                                   const ObjCInterfaceDecl *InterfaceD,
  254   if (const ObjCInterfaceDecl *InterfD = dyn_cast<ObjCInterfaceDecl>(D)) {
  254   if (const ObjCInterfaceDecl *InterfD = dyn_cast<ObjCInterfaceDecl>(D)) {
  285   const ObjCInterfaceDecl *IvInterf = IvTy->getInterfaceDecl();
  301                         const ObjCInterfaceDecl *InterfaceD,
  366   const ObjCInterfaceDecl *InterfaceD = ImplD->getClassInterface();
  369   ObjCInterfaceDecl *IDecl = const_cast<ObjCInterfaceDecl *>(InterfaceD);
  381   ObjCInterfaceDecl::PropertyMap PropMap;
  382   ObjCInterfaceDecl::PropertyDeclOrder PropOrder;
  385   for (ObjCInterfaceDecl::PropertyMap::iterator
  531     const ObjCInterfaceDecl *InterfaceD, bool MissingDeclaration) const {
tools/clang/lib/StaticAnalyzer/Checkers/LocalizationChecker.cpp
  803   const ObjCInterfaceDecl *OD = msg.getReceiverInterface();
  907   ObjCInterfaceDecl *Cls = PT->getObjectType()->getInterface();
  976   const ObjCInterfaceDecl *OD = msg.getReceiverInterface();
 1107   const ObjCInterfaceDecl *OD = ME->getReceiverInterface();
 1303   const ObjCInterfaceDecl *OD = ME->getReceiverInterface();
tools/clang/lib/StaticAnalyzer/Checkers/NSAutoreleasePoolChecker.cpp
   48   const ObjCInterfaceDecl *OD = msg.getReceiverInterface();
tools/clang/lib/StaticAnalyzer/Checkers/NSErrorChecker.cpp
  292   const ObjCInterfaceDecl *ID = PT->getInterfaceDecl();
tools/clang/lib/StaticAnalyzer/Checkers/NoReturnFunctionChecker.cpp
  112   const ObjCInterfaceDecl *Receiver = Msg.getReceiverInterface();
tools/clang/lib/StaticAnalyzer/Checkers/NullabilityChecker.cpp
  391   const ObjCInterfaceDecl *ID = SelfType->getInterfaceDecl();
tools/clang/lib/StaticAnalyzer/Checkers/ObjCMissingSuperCallChecker.cpp
   90   const ObjCInterfaceDecl *ID = D->getClassInterface()->getSuperClass();
tools/clang/lib/StaticAnalyzer/Checkers/ObjCPropertyChecker.cpp
   57   if (const ObjCInterfaceDecl *IntD =
   58           dyn_cast<ObjCInterfaceDecl>(D->getDeclContext())) {
tools/clang/lib/StaticAnalyzer/Checkers/ObjCSelfInitChecker.cpp
  399   ObjCInterfaceDecl *ID = MD->getClassInterface()->getSuperClass();
tools/clang/lib/StaticAnalyzer/Checkers/ObjCUnusedIVarsChecker.cpp
  110   const ObjCInterfaceDecl *ID = D->getClassInterface();
tools/clang/lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountChecker.cpp
  407         const ObjCInterfaceDecl *D = ME->getReceiverInterface();
tools/clang/lib/StaticAnalyzer/Checkers/RetainCountChecker/RetainCountDiagnostics.cpp
  518         const ObjCInterfaceDecl *BoxClass = nullptr;
tools/clang/lib/StaticAnalyzer/Checkers/TrustNonnullChecker.cpp
   97     const ObjCInterfaceDecl *ID = Msg.getReceiverInterface();
  196   bool interfaceHasSuperclass(const ObjCInterfaceDecl *ID,
  201     if (const ObjCInterfaceDecl *Super = ID->getSuperClass())
tools/clang/lib/StaticAnalyzer/Core/CallEvent.cpp
 1103 bool ObjCMethodCall::canBeOverridenInSubclass(ObjCInterfaceDecl *IDecl,
 1223         if (ObjCInterfaceDecl *IDecl = ReceiverT->getInterfaceDecl())
 1255       if (ObjCInterfaceDecl *IDecl = ReceiverT->getInterfaceDecl()) {
 1270         using PrivateMethodKey = std::pair<const ObjCInterfaceDecl *, Selector>;
 1321     if (ObjCInterfaceDecl *IDecl = E->getReceiverInterface()) {
tools/clang/lib/StaticAnalyzer/Frontend/AnalysisConsumer.cpp
  713     } else if (const auto *OID = dyn_cast<ObjCInterfaceDecl>(DC)) {
  713     } else if (const auto *OID = dyn_cast<ObjCInterfaceDecl>(DC)) {
tools/clang/tools/extra/clang-tidy/google/AvoidNSObjectNewCheck.cpp
   40 static bool isInitMethodAvailable(const ObjCInterfaceDecl *ClassDecl) {
tools/clang/tools/extra/clang-tidy/objc/ForbiddenSubclassingCheck.cpp
   71   const auto *SubClass = Result.Nodes.getNodeAs<ObjCInterfaceDecl>(
   71   const auto *SubClass = Result.Nodes.getNodeAs<ObjCInterfaceDecl>(
   74   const auto *SuperClass = Result.Nodes.getNodeAs<ObjCInterfaceDecl>(
   74   const auto *SuperClass = Result.Nodes.getNodeAs<ObjCInterfaceDecl>(
tools/clang/tools/extra/clang-tidy/objc/MissingHashCheck.cpp
   23   const ObjCInterfaceDecl *InterfaceDecl = Node.getClassInterface();
tools/clang/tools/extra/clang-tidy/objc/SuperSelfCheck.cpp
   55   const ObjCInterfaceDecl *InterfaceDecl = Node.getClassInterface();
tools/clang/tools/libclang/CIndex.cpp
  656     auto *ID = cast<ObjCInterfaceDecl>(D);
 1109   ObjCInterfaceDecl *ID = CDecl->getClassInterface();
 1149 bool CursorVisitor::VisitObjCInterfaceDecl(ObjCInterfaceDecl *D) {
 1170   ObjCInterfaceDecl::protocol_loc_iterator PL = D->protocol_loc_begin();
 1171   for (ObjCInterfaceDecl::protocol_iterator I = D->protocol_begin(),
 1185   if (ObjCInterfaceDecl *ID = D->getClassInterface())
 4494       const ObjCInterfaceDecl *Super = getCursorObjCSuperClassRef(C).first;
 4498       const ObjCInterfaceDecl *Class = getCursorObjCClassRef(C).first;
 4776   if (!(isa<ObjCInterfaceDecl>(D) || isa<ObjCImplementationDecl>(D)))
 5578     } else if (const ObjCInterfaceDecl *ID
 5579                  = dyn_cast_or_null<ObjCInterfaceDecl>(getCursorDecl(cursor))) {
 5588         if (const ObjCInterfaceDecl *PrevID
 5589              = dyn_cast_or_null<ObjCInterfaceDecl>(getCursorDecl(*BestCursor))){
 5812       std::pair<const ObjCInterfaceDecl *, SourceLocation> P
 5824       std::pair<const ObjCInterfaceDecl *, SourceLocation> P
 6190       const ObjCInterfaceDecl *Class = getCursorObjCClassRef(C).first;
 6191       if (const ObjCInterfaceDecl *Def = Class->getDefinition())
 6393     if (const ObjCInterfaceDecl *Class
 6394                        = dyn_cast<ObjCInterfaceDecl>(Method->getDeclContext()))
 6421     const ObjCInterfaceDecl *IFace = cast<ObjCInterfaceDecl>(D);
 6421     const ObjCInterfaceDecl *IFace = cast<ObjCInterfaceDecl>(D);
 6423       if (const ObjCInterfaceDecl *Def = IFace->getDefinition())
 6436     if (const ObjCInterfaceDecl *Class
 6438       if (const ObjCInterfaceDecl *Def = Class->getDefinition())
 6474       if (const ObjCInterfaceDecl *IFD = ImplD->getClassInterface())
tools/clang/tools/libclang/CXCursor.cpp
  738 CXCursor cxcursor::MakeCursorObjCSuperClassRef(ObjCInterfaceDecl *Super, 
  747 std::pair<const ObjCInterfaceDecl *, SourceLocation>
  770 CXCursor cxcursor::MakeCursorObjCClassRef(const ObjCInterfaceDecl *Class, 
  782 std::pair<const ObjCInterfaceDecl *, SourceLocation>
tools/clang/tools/libclang/CXCursor.h
   61 CXCursor MakeCursorObjCSuperClassRef(ObjCInterfaceDecl *Super, 
   67 std::pair<const ObjCInterfaceDecl *, SourceLocation>
   81 CXCursor MakeCursorObjCClassRef(const ObjCInterfaceDecl *Class,
   87 std::pair<const ObjCInterfaceDecl *, SourceLocation>
tools/clang/tools/libclang/CXIndexDataConsumer.cpp
   68   bool VisitObjCInterfaceDecl(const ObjCInterfaceDecl *D) {
  167     if (auto *ObjCID = dyn_cast_or_null<ObjCInterfaceDecl>(ASTNode.OrigD)) {
  241   ObjCInterfaceDecl::protocol_loc_iterator LI = ProtList.loc_begin();
  242   for (ObjCInterfaceDecl::protocol_iterator
  318       if (const ObjCInterfaceDecl *InterD = ObjectTy->getInterface()) {
  657 bool CXIndexDataConsumer::handleObjCInterface(const ObjCInterfaceDecl *D) {
  678   if (ObjCInterfaceDecl *SuperD = D->getSuperClass()) {
  747   const ObjCInterfaceDecl *IFaceD = D->getClassInterface();
  780   const ObjCInterfaceDecl *IFaceD = CatD->getClassInterface();
 1198   if (const ObjCInterfaceDecl *ID = dyn_cast<ObjCInterfaceDecl>(D))
 1198   if (const ObjCInterfaceDecl *ID = dyn_cast<ObjCInterfaceDecl>(D))
 1217   if (isa<ObjCInterfaceDecl>(D))
tools/clang/tools/libclang/CXIndexDataConsumer.h
  147   ObjCInterfaceDeclInfo(const ObjCInterfaceDecl *D)
  391   bool handleObjCInterface(const ObjCInterfaceDecl *D);
tools/clang/tools/libclang/CXType.cpp
  235     if (const ObjCInterfaceDecl *ID = dyn_cast<ObjCInterfaceDecl>(D))
  235     if (const ObjCInterfaceDecl *ID = dyn_cast<ObjCInterfaceDecl>(D))
tools/clang/tools/libclang/CursorVisitor.h
  227   bool VisitObjCInterfaceDecl(ObjCInterfaceDecl *D);
tools/lldb/include/lldb/Symbol/ClangASTContext.h
   47                                                     clang::ObjCInterfaceDecl *);
  199   static CompilerType GetTypeForDecl(clang::ObjCInterfaceDecl *objc_decl);
  439                                         clang::ObjCInterfaceDecl *);
  933   static clang::ObjCInterfaceDecl *
tools/lldb/include/lldb/Symbol/ClangASTImporter.h
  144   bool CompleteObjCInterfaceDecl(clang::ObjCInterfaceDecl *interface_decl);
tools/lldb/include/lldb/Symbol/ClangExternalASTSourceCallbacks.h
   28                                                     clang::ObjCInterfaceDecl *);
   94   void CompleteType(clang::ObjCInterfaceDecl *objc_decl) override;
tools/lldb/source/Plugins/ExpressionParser/Clang/ASTUtils.h
  104   void CompleteType(clang::ObjCInterfaceDecl *Class) override {
  372   void CompleteType(clang::ObjCInterfaceDecl *Class) override {
tools/lldb/source/Plugins/ExpressionParser/Clang/ClangASTSource.cpp
  417 void ClangASTSource::CompleteType(clang::ObjCInterfaceDecl *interface_decl) {
  433       ObjCInterfaceDecl *complete_iface_decl =
  452     if (ObjCInterfaceDecl *original_iface_decl =
  453             dyn_cast<ObjCInterfaceDecl>(original_decl)) {
  454       ObjCInterfaceDecl *complete_iface_decl =
  476 clang::ObjCInterfaceDecl *ClangASTSource::GetCompleteObjCInterface(
  477     const clang::ObjCInterfaceDecl *interface_decl) {
  512   ObjCInterfaceDecl *complete_iface_decl(complete_interface_type->getDecl());
  523     if (auto *interface_decl = dyn_cast<ObjCInterfaceDecl>(decl_context)) {
  524       ObjCInterfaceDecl *complete_iface_decl =
  591   if (ObjCInterfaceDecl *original_iface_decl =
  592           dyn_cast<ObjCInterfaceDecl>(original_decl)) {
  593     ObjCInterfaceDecl *complete_iface_decl =
  721     dyn_cast<ObjCInterfaceDecl>(context.m_decl_context)) {
  722       ObjCInterfaceDecl *complete_iface_decl =
  761   } else if (isa<ObjCInterfaceDecl>(context.m_decl_context) && !HasMerger()) {
 1069     ObjCInterfaceDecl *original_interface_decl, const char *log_info) {
 1156     if (auto *interface_decl = dyn_cast<ObjCInterfaceDecl>(context.m_decl_context)) {
 1157       ObjCInterfaceDecl *complete_iface_decl =
 1176   const ObjCInterfaceDecl *interface_decl =
 1177       dyn_cast<ObjCInterfaceDecl>(decl_ctx);
 1192     ObjCInterfaceDecl *original_interface_decl =
 1193         dyn_cast<ObjCInterfaceDecl>(original_decl);
 1328       ObjCInterfaceDecl *found_interface_decl =
 1362     ObjCInterfaceDecl *complete_interface_decl = GetCompleteObjCInterface(
 1371     DeclFromUser<const ObjCInterfaceDecl> complete_iface_decl(
 1404       ObjCInterfaceDecl *interface_decl_from_modules =
 1405           dyn_cast<ObjCInterfaceDecl>(decls[0]);
 1445     ObjCInterfaceDecl *runtime_interface_decl =
 1446         dyn_cast<ObjCInterfaceDecl>(decls[0]);
 1458     DeclFromUser<const ObjCInterfaceDecl> &origin_iface_decl) {
 1517   DeclFromParser<const ObjCInterfaceDecl> parser_iface_decl(
 1518       cast<ObjCInterfaceDecl>(context.m_decl_context));
 1519   DeclFromUser<const ObjCInterfaceDecl> origin_iface_decl(
 1546     ObjCInterfaceDecl *complete_interface_decl = GetCompleteObjCInterface(
 1555     DeclFromUser<const ObjCInterfaceDecl> complete_iface_decl(
 1590     DeclFromUser<const ObjCInterfaceDecl> interface_decl_from_modules(
 1591         dyn_cast<ObjCInterfaceDecl>(decls[0]));
 1635     DeclFromUser<const ObjCInterfaceDecl> interface_decl_from_runtime(
 1636         dyn_cast<ObjCInterfaceDecl>(decls[0]));
 2238       ObjCInterfaceDecl *interface_decl = objc_object_type->getInterface();
tools/lldb/source/Plugins/ExpressionParser/Clang/ClangASTSource.h
  152   void CompleteType(clang::ObjCInterfaceDecl *Class) override;
  233     void CompleteType(clang::ObjCInterfaceDecl *Class) override {
  282   clang::ObjCInterfaceDecl *
  283   GetCompleteObjCInterface(const clang::ObjCInterfaceDecl *interface_decl);
  407       clang::ObjCInterfaceDecl *original_interface_decl, const char *log_info);
tools/lldb/source/Plugins/ExpressionParser/Clang/ClangExpressionDeclMap.cpp
 1000         ObjCInterfaceDecl *self_interface = method_decl->getClassInterface();
tools/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCDeclVendor.cpp
   51       const clang::ObjCInterfaceDecl *interface_decl =
   52           llvm::dyn_cast<clang::ObjCInterfaceDecl>(decl_ctx);
   57       clang::ObjCInterfaceDecl *non_const_interface_decl =
  101   void CompleteType(clang::ObjCInterfaceDecl *interface_decl) override {
  168 clang::ObjCInterfaceDecl *
  188   clang::ObjCInterfaceDecl *new_iface_decl = clang::ObjCInterfaceDecl::Create(
  188   clang::ObjCInterfaceDecl *new_iface_decl = clang::ObjCInterfaceDecl::Create(
  323   BuildMethod(clang::ObjCInterfaceDecl *interface_decl, const char *name,
  420 bool AppleObjCDeclVendor::FinishDecl(clang::ObjCInterfaceDecl *interface_decl) {
  448     clang::ObjCInterfaceDecl *superclass_decl = GetDeclForISA(isa);
  587       if (clang::ObjCInterfaceDecl *result_iface_decl =
  588               llvm::dyn_cast<clang::ObjCInterfaceDecl>(lookup_result[0])) {
  631     clang::ObjCInterfaceDecl *iface_decl = GetDeclForISA(isa);
tools/lldb/source/Plugins/LanguageRuntime/ObjC/AppleObjCRuntime/AppleObjCDeclVendor.h
   38   clang::ObjCInterfaceDecl *GetDeclForISA(ObjCLanguageRuntime::ObjCISA isa);
   39   bool FinishDecl(clang::ObjCInterfaceDecl *decl);
   47                          clang::ObjCInterfaceDecl *>
tools/lldb/source/Symbol/ClangASTContext.cpp
 1318   if (clang::ObjCInterfaceDecl *interface_decl =
 1319           llvm::dyn_cast<clang::ObjCInterfaceDecl>(decl))
 1337 CompilerType ClangASTContext::GetTypeForDecl(ObjCInterfaceDecl *decl) {
 1763   ObjCInterfaceDecl *decl = ObjCInterfaceDecl::Create(
 1763   ObjCInterfaceDecl *decl = ObjCInterfaceDecl::Create(
 2461   } else if (clang::ObjCInterfaceDecl *objc_interface_decl =
 2462                  llvm::dyn_cast<clang::ObjCInterfaceDecl>(decl)) {
 2672       clang::ObjCInterfaceDecl *class_interface_decl =
 2958   if (!llvm::isa<clang::ObjCInterfaceDecl>(decl_ctx))
 2961   clang::ObjCInterfaceDecl *result_iface_decl =
 2962       llvm::dyn_cast<clang::ObjCInterfaceDecl>(decl_ctx);
 3593       clang::ObjCInterfaceDecl *class_interface_decl =
 4559         clang::ObjCInterfaceDecl *class_interface_decl =
 4575           clang::ObjCInterfaceDecl *class_interface_decl =
 4669         clang::ObjCInterfaceDecl *class_interface_decl =
 4699           clang::ObjCInterfaceDecl *class_interface_decl =
 5488 static bool ObjCDeclHasIVars(clang::ObjCInterfaceDecl *class_interface_decl,
 5587         clang::ObjCInterfaceDecl *class_interface_decl =
 5592           clang::ObjCInterfaceDecl *superclass_interface_decl =
 5877       clang::ObjCInterfaceDecl *class_interface_decl =
 5892         clang::ObjCInterfaceDecl *class_interface_decl =
 5909                     clang::ObjCInterfaceDecl *class_interface_decl, size_t idx,
 5914       clang::ObjCInterfaceDecl::ivar_iterator ivar_pos,
 6026       clang::ObjCInterfaceDecl *class_interface_decl =
 6045         clang::ObjCInterfaceDecl *class_interface_decl =
 6114         clang::ObjCInterfaceDecl *class_interface_decl =
 6127         clang::ObjCInterfaceDecl *class_interface_decl =
 6262         clang::ObjCInterfaceDecl *class_interface_decl =
 6266           clang::ObjCInterfaceDecl *superclass_interface_decl =
 6284         clang::ObjCInterfaceDecl *class_interface_decl =
 6288           clang::ObjCInterfaceDecl *superclass_interface_decl =
 6733         clang::ObjCInterfaceDecl *class_interface_decl =
 6740           clang::ObjCInterfaceDecl *superclass_interface_decl =
 6777             clang::ObjCInterfaceDecl::ivar_iterator ivar_pos,
 7257           clang::ObjCInterfaceDecl *class_interface_decl =
 7261             clang::ObjCInterfaceDecl::ivar_iterator ivar_pos,
 7263             clang::ObjCInterfaceDecl *superclass_interface_decl =
 7487           clang::ObjCInterfaceDecl *class_interface_decl =
 7491             clang::ObjCInterfaceDecl::ivar_iterator ivar_pos,
 7493             clang::ObjCInterfaceDecl *superclass_interface_decl =
 7855 clang::ObjCInterfaceDecl *
 7928     clang::ObjCInterfaceDecl *class_interface_decl =
 8357     clang::ObjCInterfaceDecl *class_interface_decl =
 8359     clang::ObjCInterfaceDecl *super_interface_decl =
 8383   clang::ObjCInterfaceDecl *class_interface_decl = GetAsObjCInterfaceDecl(type);
 8567   clang::ObjCInterfaceDecl *class_interface_decl = GetAsObjCInterfaceDecl(type);
 8583   clang::ObjCInterfaceDecl *class_interface_decl = GetAsObjCInterfaceDecl(type);
 8724       clang::ObjCInterfaceDecl *class_interface_decl =
 8782       clang::ObjCInterfaceDecl *interface_decl = object_type->getInterface();
 9659         clang::ObjCInterfaceDecl *class_interface_decl =
 9768         clang::ObjCInterfaceDecl *class_interface_decl =
 9839     void *baton, clang::ObjCInterfaceDecl *decl) {
tools/lldb/source/Symbol/ClangASTImporter.cpp
  325     if (!isa<TagDecl>(to) && !isa<ObjCInterfaceDecl>(to))
  439       clang::ObjCInterfaceDecl *class_interface_decl =
  515       clang::ObjCInterfaceDecl *class_interface_decl =
  610   if (ObjCInterfaceDecl *interface_decl = dyn_cast<ObjCInterfaceDecl>(decl)) {
  610   if (ObjCInterfaceDecl *interface_decl = dyn_cast<ObjCInterfaceDecl>(decl)) {
  677     clang::ObjCInterfaceDecl *interface_decl) {
  694   if (ObjCInterfaceDecl *super_class = interface_decl->getSuperClass())
  740     if (ObjCInterfaceDecl *objc_interface_decl =
  750       ObjCInterfaceDecl *origin_interface_decl =
  751           llvm::dyn_cast<ObjCInterfaceDecl>(decl_origin.decl);
  785     if (ObjCInterfaceDecl *objc_interface_decl =
  996   if (ObjCInterfaceDecl *to_objc_interface = dyn_cast<ObjCInterfaceDecl>(to)) {
  996   if (ObjCInterfaceDecl *to_objc_interface = dyn_cast<ObjCInterfaceDecl>(to)) {
  998       ObjCInterfaceDecl *to_superclass = to_objc_interface->getSuperClass();
 1003       ObjCInterfaceDecl *from_objc_interface =
 1004           dyn_cast<ObjCInterfaceDecl>(from);
 1009       ObjCInterfaceDecl *from_superclass = from_objc_interface->getSuperClass();
 1023       ObjCInterfaceDecl *imported_from_superclass =
 1024           dyn_cast<ObjCInterfaceDecl>(*imported_from_superclass_decl);
 1177       if (ObjCInterfaceDecl *to_interface_decl =
 1178               llvm::dyn_cast<ObjCInterfaceDecl>(to_container_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>