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

Declarations

gen/tools/clang/include/clang/AST/DeclNodes.inc
  143 OBJCIMPLEMENTATION(ObjCImplementation, ObjCImplDecl)
tools/clang/include/clang/AST/ASTContext.h
  108 class ObjCImplementationDecl;
tools/clang/include/clang/AST/DeclBase.h
   59 class ObjCImplementationDecl;
tools/clang/include/clang/AST/DeclObjC.h
   51 class ObjCImplementationDecl;
tools/clang/include/clang/Sema/Sema.h
  147   class ObjCImplementationDecl;
tools/clang/lib/CodeGen/CGObjCRuntime.h
   45   class ObjCImplementationDecl;
tools/clang/lib/CodeGen/CodeGenFunction.h
   69 class ObjCImplementationDecl;
tools/clang/lib/CodeGen/CodeGenModule.h
   57 class ObjCImplementationDecl;

References

include/llvm/ADT/STLExtras.h
   75       typename std::add_pointer<typename std::add_const<T>::type>::type;
include/llvm/Support/Casting.h
   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;
  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;
tools/clang/include/clang/AST/ASTContext.h
 2216   getASTObjCImplementationLayout(const ObjCImplementationDecl *D) const;
 2256                                 const ObjCImplementationDecl *ID,
 2698   ObjCImplementationDecl *getObjCImplementation(ObjCInterfaceDecl *D);
 2711                              ObjCImplementationDecl *ImplD);
 2989                 const ObjCImplementationDecl *Impl) const;
tools/clang/include/clang/AST/ASTNodeTraverser.h
  569   void VisitObjCImplementationDecl(const ObjCImplementationDecl *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);
  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/DeclBase.h
 2058       while (*Current && !isa<SpecificDecl>(*Current))
 2063     using value_type = SpecificDecl *;
 2086     value_type operator*() const { return cast<SpecificDecl>(*Current); }
 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);
 2536   static ::clang::DeclContext *doit(const FromTy *Val) {
 2537     return FromTy::castToDeclContext(Val);
tools/clang/include/clang/AST/DeclObjC.h
 1348   ObjCImplementationDecl *getImplementation() const;
 1349   void setImplementation(ObjCImplementationDecl *ImplD);
 2593   static ObjCImplementationDecl *Create(ASTContext &C, DeclContext *DC,
 2602   static ObjCImplementationDecl *CreateDeserialized(ASTContext &C, unsigned ID);
 2621     const auto *ConstThis = this;
 2724 raw_ostream &operator<<(raw_ostream &OS, const ObjCImplementationDecl &ID);
tools/clang/include/clang/AST/JSONNodeDumper.h
  252   void VisitObjCImplementationDecl(const ObjCImplementationDecl *D);
tools/clang/include/clang/AST/LexicallyOrderedRecursiveASTVisitor.h
   66   bool TraverseObjCImplementationDecl(ObjCImplementationDecl *D) {
   70     bool Result = BaseType::TraverseObjCImplementationDecl(D);
   89       if (!isa<ObjCImplementationDecl>(Child) &&
tools/clang/include/clang/AST/TextNodeDumper.h
  343   void VisitObjCImplementationDecl(const ObjCImplementationDecl *D);
tools/clang/include/clang/ASTMatchers/ASTMatchers.h
  110   const T *getNodeAs(StringRef ID) const {
  111     return MyBoundNodes.getNodeAs<T>(ID);
 1343 extern const internal::VariadicDynCastAllOfMatcher<Decl, ObjCImplementationDecl>
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>());
  596 inline Matcher<T> makeMatcher(MatcherInterface<T> *Implementation) {
  596 inline Matcher<T> makeMatcher(MatcherInterface<T> *Implementation) {
 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/Sema/Sema.h
 3782   void CheckImplementationIvars(ObjCImplementationDecl *ImpDecl,
 3817                                            const ObjCImplementationDecl *ImplD);
 3867   void DiagnoseOwningPropertyGetterSynthesis(const ObjCImplementationDecl *D);
 3870                                           const ObjCImplementationDecl *ImplD,
 6290   void SetIvarInitializers(ObjCImplementationDecl *ObjCImplementation);
tools/clang/include/clang/StaticAnalyzer/Core/Checker.h
   33     ((const CHECKER *)checker)->checkASTDecl(cast<DECL>(D), mgr, BR);
   37     return isa<DECL>(D);
tools/clang/lib/ARCMigrate/ObjCMT.cpp
   52                                   const ObjCImplementationDecl *ImpDecl);
   85                                    const ObjCImplementationDecl *ImplD);
  181     if (const ObjCImplementationDecl *Impl = dyn_cast<ObjCImplementationDecl>(D))
  181     if (const ObjCImplementationDecl *Impl = dyn_cast<ObjCImplementationDecl>(D))
  611                                       const ObjCImplementationDecl *ImpDecl,
  843                                             const ObjCImplementationDecl *ImpDecl) {
 1711     const ObjCImplementationDecl *ImplD) {
 1876       else if (const ObjCImplementationDecl *ImpDecl =
 1877                dyn_cast<ObjCImplementationDecl>(*D)) {
 1941       if (const ObjCImplementationDecl *
 1942             ImplD = dyn_cast<ObjCImplementationDecl>(*D)) {
tools/clang/lib/ARCMigrate/TransEmptyStatementsAndDealloc.cpp
  200   typedef DeclContext::specific_decl_iterator<ObjCImplementationDecl>
tools/clang/lib/ARCMigrate/TransProperties.cpp
   48   ObjCImplementationDecl *CurImplD;
   90   void doTransform(ObjCImplementationDecl *D) {
tools/clang/lib/ARCMigrate/Transforms.cpp
  327   bool TraverseObjCImplementationDecl(ObjCImplementationDecl *D) {
  334     return base::TraverseObjCImplementationDecl(D);
  524   typedef DeclContext::specific_decl_iterator<ObjCImplementationDecl>
tools/clang/lib/ARCMigrate/Transforms.h
   61   ObjCImplementationDecl *ImpD;
   65                             ObjCImplementationDecl *D)
   69   ObjCImplementationDecl *getImplementationDecl() { return ImpD; }
tools/clang/lib/AST/ASTContext.cpp
 2574   if (ObjCImplementationDecl *ImplDecl = OI->getImplementation())
 2600 ObjCImplementationDecl *ASTContext::getObjCImplementation(ObjCInterfaceDecl *D) {
 2604     return cast<ObjCImplementationDecl>(I->second);
 2620                            ObjCImplementationDecl *ImplD) {
 2705                                         const ObjCImplementationDecl *D) const {
 6498     const auto *OID = cast<ObjCImplementationDecl>(Container);
 6498     const auto *OID = cast<ObjCImplementationDecl>(Container);
tools/clang/lib/AST/ASTImporter.cpp
  162     Expected<T *> import(T *From) {
  162     Expected<T *> import(T *From) {
  166       return cast_or_null<T>(*ToOrErr);
  170     Expected<T *> import(const T *From) {
  170     Expected<T *> import(const T *From) {
  217           -> decltype(ToDeclT::Create(std::forward<Args>(args)...)) {
  218         return ToDeclT::Create(std::forward<Args>(args)...);
  229     LLVM_NODISCARD bool GetImportedOrCreateDecl(ToDeclT *&ToD, FromDeclT *FromD,
  229     LLVM_NODISCARD bool GetImportedOrCreateDecl(ToDeclT *&ToD, FromDeclT *FromD,
  234       CallOverloadedCreateFun<ToDeclT> OC;
  256     GetImportedOrCreateSpecialDecl(ToDeclT *&ToD, CreateFunT CreateFun,
  257                                    FromDeclT *FromD, Args &&... args) {
  262       ToD = cast_or_null<ToDeclT>(Importer.GetAlreadyImportedOrNull(FromD));
  492     ExpectedDecl VisitObjCImplementationDecl(ObjCImplementationDecl *D);
 4554     if (Expected<ObjCImplementationDecl *> ToImplOrErr =
 4699 ASTNodeImporter::VisitObjCImplementationDecl(ObjCImplementationDecl *D) {
 4710   ObjCImplementationDecl *Impl = Iface->getImplementation();
tools/clang/lib/AST/DeclObjC.cpp
  497   if (const auto *ImplD = D->getImplementation()) {
  750   if (ObjCImplementationDecl *ImpDecl = getImplementation())
  917       if (ObjCImplementationDecl *ImplD = Ctx.getObjCImplementation(IFD))
  926     } else if (auto *ImplD = dyn_cast<ObjCImplementationDecl>(CtxD)) {
  926     } else if (auto *ImplD = dyn_cast<ObjCImplementationDecl>(CtxD)) {
  956   if (auto *ImplD = dyn_cast<ObjCImplementationDecl>(CtxD)) {
  956   if (auto *ImplD = dyn_cast<ObjCImplementationDecl>(CtxD)) {
 1548 ObjCImplementationDecl *ObjCInterfaceDecl::getImplementation() const {
 1561 void ObjCInterfaceDecl::setImplementation(ObjCImplementationDecl *ImplD) {
 1625   if (ObjCImplementationDecl *ImplDecl = getImplementation()) {
 1771       if (auto *IM = dyn_cast<ObjCImplementationDecl>(DC))
 1771       if (auto *IM = dyn_cast<ObjCImplementationDecl>(DC))
 1806     return cast<ObjCImplementationDecl>(DC)->getClassInterface();
 2081   if (auto *ImplD = dyn_cast_or_null<ObjCImplementationDecl>(this)) {
 2081   if (auto *ImplD = dyn_cast_or_null<ObjCImplementationDecl>(this)) {
 2147 ObjCImplementationDecl *
 2158   return new (C, DC) ObjCImplementationDecl(DC, ClassInterface, SuperDecl,
 2163 ObjCImplementationDecl *
 2165   return new (C, ID) ObjCImplementationDecl(nullptr, nullptr, nullptr,
 2181 ObjCImplementationDecl::init_const_iterator
 2187                                const ObjCImplementationDecl &ID) {
tools/clang/lib/AST/DeclPrinter.cpp
   90     void VisitObjCImplementationDecl(ObjCImplementationDecl *D);
  458              isa<ObjCImplementationDecl>(*D) ||
 1304 void DeclPrinter::VisitObjCImplementationDecl(ObjCImplementationDecl *OID) {
tools/clang/lib/AST/JSONNodeDumper.cpp
  974     const ObjCImplementationDecl *D) {
tools/clang/lib/AST/Mangle.cpp
  353     else if (const auto *OID = dyn_cast<ObjCImplementationDecl>(OCD))
  353     else if (const auto *OID = dyn_cast<ObjCImplementationDecl>(OCD))
tools/clang/lib/AST/RecordLayoutBuilder.cpp
 3179                                           const ObjCImplementationDecl *ID,
 3220                           const ObjCImplementationDecl *Impl) const {
tools/clang/lib/AST/TextNodeDumper.cpp
 1879     const ObjCImplementationDecl *D) {
tools/clang/lib/ASTMatchers/ASTMatchersInternal.cpp
  629 const internal::VariadicDynCastAllOfMatcher<Decl, ObjCImplementationDecl>
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
  755   const ObjCImplementationDecl *ImplDecl =
tools/clang/lib/CodeGen/Address.h
  108 template <class U> inline U cast(CodeGen::Address addr) {
tools/clang/lib/CodeGen/CGDebugInfo.cpp
  283   if (const auto *OID = dyn_cast<ObjCImplementationDecl>(DC)) {
  283   if (const auto *OID = dyn_cast<ObjCImplementationDecl>(DC)) {
 2573     if (ObjCImplementationDecl *ImpD = ID->getImplementation()) {
tools/clang/lib/CodeGen/CGObjC.cpp
  953 void CodeGenFunction::GenerateObjCGetter(ObjCImplementationDecl *IMP,
 1022 CodeGenFunction::generateObjCGetterBody(const ObjCImplementationDecl *classImpl,
 1311 CodeGenFunction::generateObjCSetterBody(const ObjCImplementationDecl *classImpl,
 1489 void CodeGenFunction::GenerateObjCSetter(ObjCImplementationDecl *IMP,
 1535                                   ObjCImplementationDecl *impl) {
 1570 void CodeGenFunction::GenerateObjCCtorDtorMethod(ObjCImplementationDecl *IMP,
tools/clang/lib/CodeGen/CGObjCGNU.cpp
  610   void GenerateClass(const ObjCImplementationDecl *ClassDecl) override;
 1687   void GenerateClass(const ObjCImplementationDecl *OID) override {
 3374 void CGObjCGNU::GenerateClass(const ObjCImplementationDecl *OID) {
tools/clang/lib/CodeGen/CGObjCMac.cpp
  963   llvm::Constant *BuildIvarLayout(const ObjCImplementationDecl *OI,
  969   llvm::Constant *BuildStrongIvarLayout(const ObjCImplementationDecl *OI,
  975   llvm::Constant *BuildWeakIvarLayout(const ObjCImplementationDecl *OI,
 1230   llvm::Constant *EmitClassExtension(const ObjCImplementationDecl *ID,
 1253   llvm::Constant *EmitIvarList(const ObjCImplementationDecl *ID,
 1263   llvm::Constant *EmitMetaClass(const ObjCImplementationDecl *ID,
 1346   void GenerateClass(const ObjCImplementationDecl *ClassDecl) override;
 1433                                               const ObjCImplementationDecl *ID);
 1455   llvm::Constant *EmitIvarList(const ObjCImplementationDecl *ID);
 1545   void GetClassSizeInfo(const ObjCImplementationDecl *OID,
 1632   void GenerateClass(const ObjCImplementationDecl *ClassDecl) override;
 3486                             const ObjCImplementationDecl *ID) {
 3519 void CGObjCMac::GenerateClass(const ObjCImplementationDecl *ID) {
 3620 llvm::Constant *CGObjCMac::EmitMetaClass(const ObjCImplementationDecl *ID,
 3731 CGObjCMac::EmitClassExtension(const ObjCImplementationDecl *ID,
 3781 llvm::Constant *CGObjCMac::EmitIvarList(const ObjCImplementationDecl *ID,
 5066     if (ObjCImplementationDecl *IMP = ID->getImplementation())
 5419 CGObjCCommonMac::BuildIvarLayout(const ObjCImplementationDecl *OMD,
 6092     if (ObjCImplementationDecl *IMP = ID->getImplementation())
 6204   const ObjCImplementationDecl *ID) {
 6336 void CGObjCNonFragileABIMac::GetClassSizeInfo(const ObjCImplementationDecl *OID,
 6372 void CGObjCNonFragileABIMac::GenerateClass(const ObjCImplementationDecl *ID) {
 6804   const ObjCImplementationDecl *ID) {
tools/clang/lib/CodeGen/CGObjCRuntime.cpp
   37                                               const ObjCImplementationDecl *OID,
tools/clang/lib/CodeGen/CGObjCRuntime.h
   82                                  const ObjCImplementationDecl *OID,
  153   virtual void GenerateClass(const ObjCImplementationDecl *OID) = 0;
tools/clang/lib/CodeGen/CodeGenFunction.h
 1738   void GenerateObjCGetter(ObjCImplementationDecl *IMP,
 1740   void generateObjCGetterBody(const ObjCImplementationDecl *classImpl,
 1745   void GenerateObjCCtorDtorMethod(ObjCImplementationDecl *IMP,
 1750   void GenerateObjCSetter(ObjCImplementationDecl *IMP,
 1752   void generateObjCSetterBody(const ObjCImplementationDecl *classImpl,
tools/clang/lib/CodeGen/CodeGenModule.cpp
 5103                                                     ObjCImplementationDecl *D) {
 5125 static bool needsDestructMethod(ObjCImplementationDecl *impl) {
 5136                                    ObjCImplementationDecl *D) {
 5138   for (ObjCImplementationDecl::init_iterator B = D->init_begin(),
 5150 void CodeGenModule::EmitObjCIvarInitializations(ObjCImplementationDecl *D) {
 5333     auto *OMD = cast<ObjCImplementationDecl>(D);
 5333     auto *OMD = cast<ObjCImplementationDecl>(D);
tools/clang/lib/CodeGen/CodeGenModule.h
 1404   void EmitObjCPropertyImplementations(const ObjCImplementationDecl *D);
 1405   void EmitObjCIvarInitializations(ObjCImplementationDecl *D);
tools/clang/lib/Frontend/Rewrite/RewriteModernObjC.cpp
  111     SmallVector<ObjCImplementationDecl *, 8> ClassImplementation;
  320                                  ObjCImplementationDecl *IMD,
  449     void RewriteObjCClassMetaData(ObjCImplementationDecl *IDecl,
  908 static bool mustSynthesizeSetterGetterMethod(ObjCImplementationDecl *IMP,
  917                                           ObjCImplementationDecl *IMD,
 1332   ObjCImplementationDecl *IMD = dyn_cast<ObjCImplementationDecl>(OID);
 1332   ObjCImplementationDecl *IMD = dyn_cast<ObjCImplementationDecl>(OID);
 4002     ObjCImplementationDecl *OIMP = ClassImplementation[i];
 5733       ObjCImplementationDecl *CI = cast<ObjCImplementationDecl>(D);
 5733       ObjCImplementationDecl *CI = cast<ObjCImplementationDecl>(D);
 6997 void RewriteModernObjC::RewriteObjCClassMetaData(ObjCImplementationDecl *IDecl,
 7162     ObjCImplementationDecl *IDecl = ClassImplementation[i];
tools/clang/lib/Frontend/Rewrite/RewriteObjC.cpp
  109     SmallVector<ObjCImplementationDecl *, 8> ClassImplementation;
  268                                  ObjCImplementationDecl *IMD,
  339     virtual void RewriteObjCClassMetaData(ObjCImplementationDecl *IDecl,
  531     void RewriteObjCClassMetaData(ObjCImplementationDecl *IDecl,
  767                                           ObjCImplementationDecl *IMD,
 1164   ObjCImplementationDecl *IMD = dyn_cast<ObjCImplementationDecl>(OID);
 1164   ObjCImplementationDecl *IMD = dyn_cast<ObjCImplementationDecl>(OID);
 4831       ObjCImplementationDecl *CI = cast<ObjCImplementationDecl>(D);
 4831       ObjCImplementationDecl *CI = cast<ObjCImplementationDecl>(D);
 5259 void RewriteObjCFragileABI::RewriteObjCClassMetaData(ObjCImplementationDecl *IDecl,
tools/clang/lib/Index/IndexDecl.cpp
  428   bool VisitObjCImplementationDecl(const ObjCImplementationDecl *D) {
tools/clang/lib/Index/IndexSymbol.cpp
  194         ClsD = cast<ObjCImplementationDecl>(D)->getClassInterface();
tools/clang/lib/Sema/SemaAccess.cpp
 1921         if (ObjCImplementationDecl *IMPD
 1922               = dyn_cast<ObjCImplementationDecl>(Impl))
tools/clang/lib/Sema/SemaCodeComplete.cpp
  188   ObjCImplementationDecl *ObjCImplementation;
 6272   if (ObjCImplementationDecl *Impl = IFace->getImplementation())
 7296   if (!Container || (!isa<ObjCImplementationDecl>(Container) &&
 7309   if (ObjCImplementationDecl *ClassImpl =
 7310           dyn_cast<ObjCImplementationDecl>(Container))
 7335   if (!Container || (!isa<ObjCImplementationDecl>(Container) &&
 7341   if (ObjCImplementationDecl *ClassImpl =
 7342           dyn_cast<ObjCImplementationDecl>(Container))
 8167     if (ObjCImplementationDecl *Impl = dyn_cast<ObjCImplementationDecl>(D)) {
 8167     if (ObjCImplementationDecl *Impl = dyn_cast<ObjCImplementationDecl>(D)) {
tools/clang/lib/Sema/SemaDecl.cpp
16299   if (ObjCImplementationDecl *IMPDecl =
16300       dyn_cast<ObjCImplementationDecl>(EnclosingDecl)) {
16418         ResetObjCLayout(cast<ObjCImplementationDecl>(DC)->getClassInterface());
16804     } else if (ObjCImplementationDecl *IMPDecl =
16805                   dyn_cast<ObjCImplementationDecl>(EnclosingDecl)) {
tools/clang/lib/Sema/SemaDeclCXX.cpp
15788 void Sema::SetIvarInitializers(ObjCImplementationDecl *ObjCImplementation) {
tools/clang/lib/Sema/SemaDeclObjC.cpp
   66           !isa<ObjCImplementationDecl>(method->getDeclContext()))
 2054   ObjCImplementationDecl* IMPDecl =
 2055     ObjCImplementationDecl::Create(Context, CurContext, IDecl, SDecl,
 2110 void Sema::CheckImplementationIvars(ObjCImplementationDecl *ImpDecl,
 2331       !isa<ObjCImplementationDecl>(MethodImpl->getDeclContext()) &&
 2423       !isa<ObjCImplementationDecl>(MethodImpl->getDeclContext()) &&
 3744 static void DiagnoseWeakIvars(Sema &S, ObjCImplementationDecl *ID) {
 3813   } else if (auto *ImplDecl = dyn_cast<ObjCImplementationDecl>(OCD)) {
 3813   } else if (auto *ImplDecl = dyn_cast<ObjCImplementationDecl>(OCD)) {
 3904   bool checkIdenticalMethods = isa<ObjCImplementationDecl>(ClassDecl);
 3985   if (ObjCImplementationDecl *IC=dyn_cast<ObjCImplementationDecl>(ClassDecl)) {
 3985   if (ObjCImplementationDecl *IC=dyn_cast<ObjCImplementationDecl>(ClassDecl)) {
 4282   void searchFrom(const ObjCImplementationDecl *impl) {
 4383         isa<ObjCImplementationDecl>(ObjCMethod->getDeclContext()))
 5051                                           const ObjCImplementationDecl *ImplD) {
tools/clang/lib/Sema/SemaExprMember.cpp
 1370         if (auto *Implementation = dyn_cast<ObjCImplementationDecl>(D))
 1370         if (auto *Implementation = dyn_cast<ObjCImplementationDecl>(D))
 1416         if (ObjCImplementationDecl *IMPD =
 1417               dyn_cast<ObjCImplementationDecl>(ObjCImpDecl))
tools/clang/lib/Sema/SemaObjCProperty.cpp
 1068   ObjCImplementationDecl *IC = nullptr;
 1070   if ((IC = dyn_cast<ObjCImplementationDecl>(ClassImpDecl))) {
 1930   ObjCImplementationDecl *IC=dyn_cast_or_null<ObjCImplementationDecl>(D);
 1930   ObjCImplementationDecl *IC=dyn_cast_or_null<ObjCImplementationDecl>(D);
 2206 void Sema::DiagnoseOwningPropertyGetterSynthesis(const ObjCImplementationDecl *D) {
 2264                                             const ObjCImplementationDecl *ImplD,
tools/clang/lib/Serialization/ASTReaderDecl.cpp
  443     void VisitObjCImplementationDecl(ObjCImplementationDecl *D);
 1297 void ASTDeclReader::VisitObjCImplementationDecl(ObjCImplementationDecl *D) {
 3801     D = ObjCImplementationDecl::CreateDeserialized(Context, ID);
tools/clang/lib/Serialization/ASTWriterDecl.cpp
  143     void VisitObjCImplementationDecl(ObjCImplementationDecl *D);
  866 void ASTDeclWriter::VisitObjCImplementationDecl(ObjCImplementationDecl *D) {
tools/clang/lib/StaticAnalyzer/Checkers/CheckObjCDealloc.cpp
   93     : public Checker<check::ASTDecl<ObjCImplementationDecl>,
  113   void checkASTDecl(const ObjCImplementationDecl *D, AnalysisManager& Mgr,
  189 void ObjCDeallocChecker::checkASTDecl(const ObjCImplementationDecl *D,
tools/clang/lib/StaticAnalyzer/Checkers/CheckObjCInstMethSignature.cpp
   42                                const ObjCImplementationDecl *ID,
   78 static void CheckObjCInstMethSignature(const ObjCImplementationDecl *ID,
  128                                       check::ASTDecl<ObjCImplementationDecl> > {
  130   void checkASTDecl(const ObjCImplementationDecl *D, AnalysisManager& mgr,
tools/clang/lib/StaticAnalyzer/Checkers/DirectIvarAssignment.cpp
   52   public Checker<check::ASTDecl<ObjCImplementationDecl> > {
   90   void checkASTDecl(const ObjCImplementationDecl *D, AnalysisManager& Mgr,
  116 void DirectIvarAssignment::checkASTDecl(const ObjCImplementationDecl *D,
tools/clang/lib/StaticAnalyzer/Checkers/IvarInvalidationChecker.cpp
  223   void visit(const ObjCImplementationDecl *D) const;
  359 visit(const ObjCImplementationDecl *ImplD) const {
  726   public Checker<check::ASTDecl<ObjCImplementationDecl> > {
  730   void checkASTDecl(const ObjCImplementationDecl *D, AnalysisManager& Mgr,
tools/clang/lib/StaticAnalyzer/Checkers/LocalizationChecker.cpp
 1036     : public Checker<check::ASTDecl<ObjCImplementationDecl>> {
 1067   void checkASTDecl(const ObjCImplementationDecl *D, AnalysisManager &Mgr,
 1073     const ObjCImplementationDecl *D, AnalysisManager &Mgr,
tools/clang/lib/StaticAnalyzer/Checkers/ObjCMissingSuperCallChecker.cpp
   65                                       check::ASTDecl<ObjCImplementationDecl> > {
   69   void checkASTDecl(const ObjCImplementationDecl *D, AnalysisManager &Mgr,
   72   bool isCheckableClass(const ObjCImplementationDecl *D,
   88 bool ObjCSuperCallChecker::isCheckableClass(const ObjCImplementationDecl *D,
  165 void ObjCSuperCallChecker::checkASTDecl(const ObjCImplementationDecl *D,
tools/clang/lib/StaticAnalyzer/Checkers/ObjCUnusedIVarsChecker.cpp
   82   if (const ObjCImplementationDecl *ID = dyn_cast<ObjCImplementationDecl>(D)) {
   82   if (const ObjCImplementationDecl *ID = dyn_cast<ObjCImplementationDecl>(D)) {
  106 static void checkObjCUnusedIvar(const ObjCImplementationDecl *D,
  176                                       check::ASTDecl<ObjCImplementationDecl> > {
  178   void checkASTDecl(const ObjCImplementationDecl *D, AnalysisManager& mgr,
tools/clang/lib/StaticAnalyzer/Frontend/AnalysisConsumer.cpp
  711     if (const auto *OID = dyn_cast<ObjCImplementationDecl>(DC)) {
  711     if (const auto *OID = dyn_cast<ObjCImplementationDecl>(DC)) {
tools/clang/tools/extra/clang-tidy/objc/MissingHashCheck.cpp
   55   const auto *ID = Result.Nodes.getNodeAs<ObjCImplementationDecl>("impl");
   55   const auto *ID = Result.Nodes.getNodeAs<ObjCImplementationDecl>("impl");
tools/clang/tools/libclang/CIndex.cpp
 1192 bool CursorVisitor::VisitObjCImplementationDecl(ObjCImplementationDecl *D) {
 4776   if (!(isa<ObjCInterfaceDecl>(D) || isa<ObjCImplementationDecl>(D)))
 6395       if (ObjCImplementationDecl *ClassImpl = Class->getImplementation())
 6425     } else if (ObjCImplementationDecl *Impl = IFace->getImplementation())
tools/clang/tools/libclang/CXIndexDataConsumer.cpp
   78   bool VisitObjCImplementationDecl(const ObjCImplementationDecl *D) {
  706                                               const ObjCImplementationDecl *D) {
 1035   if (const ObjCImplementationDecl *
 1036                ImplD = dyn_cast<ObjCImplementationDecl>(D)) {
tools/clang/tools/libclang/CXIndexDataConsumer.h
  392   bool handleObjCImplementation(const ObjCImplementationDecl *D);
tools/clang/tools/libclang/CursorVisitor.h
  230   bool VisitObjCImplementationDecl(ObjCImplementationDecl *D);
tools/clang/unittests/Tooling/ASTSelectionTest.cpp
  118           typename std::enable_if<std::is_base_of<Decl, T>::value, T>::type
  118           typename std::enable_if<std::is_base_of<Decl, T>::value, T>::type
  120   checkNodeImpl(isa<T>(DeclNode.Node.get<Decl>()), DeclNode, SelectionKind,
  404         const auto &Impl = checkNode<ObjCImplementationDecl>(
  436         const auto &Impl = checkNode<ObjCImplementationDecl>(
  486         const auto &Impl = checkNode<ObjCImplementationDecl>(
  532                          checkNode<ObjCImplementationDecl>(
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>
 2157     { typedef _Tp type; };