Lines Matching refs:D
167 void dump(const Decl *D, bool Ref = false) { in dump() argument
174 Prev = D; in dump()
177 void dumpRef(const Decl *D) { dump(D, true); } in dumpRef() argument
201 void dumpDecl(const Decl *D);
220 void dumpName(const NamedDecl *D);
237 void VisitLabelDecl(const LabelDecl *D);
238 void VisitTypedefDecl(const TypedefDecl *D);
239 void VisitEnumDecl(const EnumDecl *D);
240 void VisitRecordDecl(const RecordDecl *D);
241 void VisitEnumConstantDecl(const EnumConstantDecl *D);
242 void VisitIndirectFieldDecl(const IndirectFieldDecl *D);
243 void VisitFunctionDecl(const FunctionDecl *D);
244 void VisitFieldDecl(const FieldDecl *D);
245 void VisitVarDecl(const VarDecl *D);
246 void VisitFileScopeAsmDecl(const FileScopeAsmDecl *D);
247 void VisitImportDecl(const ImportDecl *D);
250 void VisitNamespaceDecl(const NamespaceDecl *D);
251 void VisitUsingDirectiveDecl(const UsingDirectiveDecl *D);
252 void VisitNamespaceAliasDecl(const NamespaceAliasDecl *D);
253 void VisitTypeAliasDecl(const TypeAliasDecl *D);
254 void VisitTypeAliasTemplateDecl(const TypeAliasTemplateDecl *D);
255 void VisitCXXRecordDecl(const CXXRecordDecl *D);
256 void VisitStaticAssertDecl(const StaticAssertDecl *D);
259 const SpecializationDecl *D,
263 void VisitTemplateDecl(const TemplateDecl *D, bool DumpExplicitInst);
264 void VisitFunctionTemplateDecl(const FunctionTemplateDecl *D);
265 void VisitClassTemplateDecl(const ClassTemplateDecl *D);
267 const ClassTemplateSpecializationDecl *D);
269 const ClassTemplatePartialSpecializationDecl *D);
271 const ClassScopeFunctionSpecializationDecl *D);
272 void VisitVarTemplateDecl(const VarTemplateDecl *D);
274 const VarTemplateSpecializationDecl *D);
276 const VarTemplatePartialSpecializationDecl *D);
277 void VisitTemplateTypeParmDecl(const TemplateTypeParmDecl *D);
278 void VisitNonTypeTemplateParmDecl(const NonTypeTemplateParmDecl *D);
279 void VisitTemplateTemplateParmDecl(const TemplateTemplateParmDecl *D);
280 void VisitUsingDecl(const UsingDecl *D);
281 void VisitUnresolvedUsingTypenameDecl(const UnresolvedUsingTypenameDecl *D);
282 void VisitUnresolvedUsingValueDecl(const UnresolvedUsingValueDecl *D);
283 void VisitUsingShadowDecl(const UsingShadowDecl *D);
284 void VisitLinkageSpecDecl(const LinkageSpecDecl *D);
285 void VisitAccessSpecDecl(const AccessSpecDecl *D);
286 void VisitFriendDecl(const FriendDecl *D);
289 void VisitObjCIvarDecl(const ObjCIvarDecl *D);
290 void VisitObjCMethodDecl(const ObjCMethodDecl *D);
291 void VisitObjCCategoryDecl(const ObjCCategoryDecl *D);
292 void VisitObjCCategoryImplDecl(const ObjCCategoryImplDecl *D);
293 void VisitObjCProtocolDecl(const ObjCProtocolDecl *D);
294 void VisitObjCInterfaceDecl(const ObjCInterfaceDecl *D);
295 void VisitObjCImplementationDecl(const ObjCImplementationDecl *D);
296 void VisitObjCCompatibleAliasDecl(const ObjCCompatibleAliasDecl *D);
297 void VisitObjCPropertyDecl(const ObjCPropertyDecl *D);
298 void VisitObjCPropertyImplDecl(const ObjCPropertyImplDecl *D);
299 void VisitBlockDecl(const BlockDecl *D);
513 void ASTDumper::dumpBareDeclRef(const Decl *D) { in dumpBareDeclRef() argument
516 OS << D->getDeclKindName(); in dumpBareDeclRef()
518 dumpPointer(D); in dumpBareDeclRef()
520 if (const NamedDecl *ND = dyn_cast<NamedDecl>(D)) { in dumpBareDeclRef()
525 if (const ValueDecl *VD = dyn_cast<ValueDecl>(D)) in dumpBareDeclRef()
529 void ASTDumper::dumpDeclRef(const Decl *D, const char *Label) { in dumpDeclRef() argument
530 if (!D) in dumpDeclRef()
536 dumpBareDeclRef(D); in dumpDeclRef()
559 for (auto *D : DC->noload_decls()) in dumpDeclContext() local
560 Children.dump(D); in dumpDeclContext()
643 static void dumpPreviousDeclImpl(raw_ostream &OS, const Mergeable<T> *D) { in dumpPreviousDeclImpl() argument
644 const T *First = D->getFirstDecl(); in dumpPreviousDeclImpl()
645 if (First != D) in dumpPreviousDeclImpl()
650 static void dumpPreviousDeclImpl(raw_ostream &OS, const Redeclarable<T> *D) { in dumpPreviousDeclImpl() argument
651 const T *Prev = D->getPreviousDecl(); in dumpPreviousDeclImpl()
658 static void dumpPreviousDecl(raw_ostream &OS, const Decl *D) { in dumpPreviousDecl() argument
659 switch (D->getKind()) { in dumpPreviousDecl()
662 return dumpPreviousDeclImpl(OS, cast<DERIVED##Decl>(D)); in dumpPreviousDecl()
783 void ASTDumper::dumpDecl(const Decl *D) { in dumpDecl() argument
786 if (!D) { in dumpDecl()
794 OS << D->getDeclKindName() << "Decl"; in dumpDecl()
796 dumpPointer(D); in dumpDecl()
797 if (D->getLexicalDeclContext() != D->getDeclContext()) in dumpDecl()
798 OS << " parent " << cast<Decl>(D->getDeclContext()); in dumpDecl()
799 dumpPreviousDecl(OS, D); in dumpDecl()
800 dumpSourceRange(D->getSourceRange()); in dumpDecl()
802 dumpLocation(D->getLocation()); in dumpDecl()
803 if (Module *M = D->getOwningModule()) in dumpDecl()
805 if (const NamedDecl *ND = dyn_cast<NamedDecl>(D)) in dumpDecl()
808 if (D->isImplicit()) in dumpDecl()
810 if (D->isUsed()) in dumpDecl()
812 else if (D->isReferenced()) in dumpDecl()
814 if (D->isInvalidDecl()) in dumpDecl()
817 bool HasAttrs = D->hasAttrs(); in dumpDecl()
819 D->getASTContext().getLocalCommentForDeclUncached(D); in dumpDecl()
821 bool HasDeclContext = !isa<FunctionDecl>(*D) && !isa<ObjCMethodDecl>(*D) && in dumpDecl()
822 hasNodes(dyn_cast<DeclContext>(D)); in dumpDecl()
825 ConstDeclVisitor<ASTDumper>::Visit(D); in dumpDecl()
828 for (Decl::attr_iterator I = D->attr_begin(), E = D->attr_end(); in dumpDecl()
841 dumpDeclContext(cast<DeclContext>(D)); in dumpDecl()
844 void ASTDumper::VisitLabelDecl(const LabelDecl *D) { in VisitLabelDecl() argument
845 dumpName(D); in VisitLabelDecl()
848 void ASTDumper::VisitTypedefDecl(const TypedefDecl *D) { in VisitTypedefDecl() argument
849 dumpName(D); in VisitTypedefDecl()
850 dumpType(D->getUnderlyingType()); in VisitTypedefDecl()
851 if (D->isModulePrivate()) in VisitTypedefDecl()
855 void ASTDumper::VisitEnumDecl(const EnumDecl *D) { in VisitEnumDecl() argument
856 if (D->isScoped()) { in VisitEnumDecl()
857 if (D->isScopedUsingClassTag()) in VisitEnumDecl()
862 dumpName(D); in VisitEnumDecl()
863 if (D->isModulePrivate()) in VisitEnumDecl()
865 if (D->isFixed()) in VisitEnumDecl()
866 dumpType(D->getIntegerType()); in VisitEnumDecl()
869 void ASTDumper::VisitRecordDecl(const RecordDecl *D) { in VisitRecordDecl() argument
870 OS << ' ' << D->getKindName(); in VisitRecordDecl()
871 dumpName(D); in VisitRecordDecl()
872 if (D->isModulePrivate()) in VisitRecordDecl()
874 if (D->isCompleteDefinition()) in VisitRecordDecl()
878 void ASTDumper::VisitEnumConstantDecl(const EnumConstantDecl *D) { in VisitEnumConstantDecl() argument
879 dumpName(D); in VisitEnumConstantDecl()
880 dumpType(D->getType()); in VisitEnumConstantDecl()
881 if (const Expr *Init = D->getInitExpr()) { in VisitEnumConstantDecl()
887 void ASTDumper::VisitIndirectFieldDecl(const IndirectFieldDecl *D) { in VisitIndirectFieldDecl() argument
888 dumpName(D); in VisitIndirectFieldDecl()
889 dumpType(D->getType()); in VisitIndirectFieldDecl()
892 for (auto *Child : D->chain()) in VisitIndirectFieldDecl()
896 void ASTDumper::VisitFunctionDecl(const FunctionDecl *D) { in VisitFunctionDecl() argument
897 dumpName(D); in VisitFunctionDecl()
898 dumpType(D->getType()); in VisitFunctionDecl()
900 StorageClass SC = D->getStorageClass(); in VisitFunctionDecl()
903 if (D->isInlineSpecified()) in VisitFunctionDecl()
905 if (D->isVirtualAsWritten()) in VisitFunctionDecl()
907 if (D->isModulePrivate()) in VisitFunctionDecl()
910 if (D->isPure()) in VisitFunctionDecl()
912 else if (D->isDeletedAsWritten()) in VisitFunctionDecl()
915 if (const FunctionProtoType *FPT = D->getType()->getAs<FunctionProtoType>()) { in VisitFunctionDecl()
930 D->getTemplateSpecializationInfo(); in VisitFunctionDecl()
933 bool HasNamedDecls = D->getDeclsInPrototypeScope().begin() != in VisitFunctionDecl()
934 D->getDeclsInPrototypeScope().end(); in VisitFunctionDecl()
936 bool HasFunctionDecls = D->param_begin() != D->param_end(); in VisitFunctionDecl()
938 const CXXConstructorDecl *C = dyn_cast<CXXConstructorDecl>(D); in VisitFunctionDecl()
941 bool HasDeclarationBody = D->doesThisDeclarationHaveABody(); in VisitFunctionDecl()
953 I = D->getDeclsInPrototypeScope().begin(), in VisitFunctionDecl()
954 E = D->getDeclsInPrototypeScope().end(); I != E; ++I) { in VisitFunctionDecl()
961 for (FunctionDecl::param_const_iterator I = D->param_begin(), in VisitFunctionDecl()
962 E = D->param_end(); in VisitFunctionDecl()
982 dumpStmt(D->getBody()); in VisitFunctionDecl()
986 void ASTDumper::VisitFieldDecl(const FieldDecl *D) { in VisitFieldDecl() argument
987 dumpName(D); in VisitFieldDecl()
988 dumpType(D->getType()); in VisitFieldDecl()
989 if (D->isMutable()) in VisitFieldDecl()
991 if (D->isModulePrivate()) in VisitFieldDecl()
995 bool IsBitField = D->isBitField(); in VisitFieldDecl()
996 Expr *Init = D->getInClassInitializer(); in VisitFieldDecl()
1002 dumpStmt(D->getBitWidth()); in VisitFieldDecl()
1011 void ASTDumper::VisitVarDecl(const VarDecl *D) { in VisitVarDecl() argument
1012 dumpName(D); in VisitVarDecl()
1013 dumpType(D->getType()); in VisitVarDecl()
1014 StorageClass SC = D->getStorageClass(); in VisitVarDecl()
1017 switch (D->getTLSKind()) { in VisitVarDecl()
1022 if (D->isModulePrivate()) in VisitVarDecl()
1024 if (D->isNRVOVariable()) in VisitVarDecl()
1026 if (D->hasInit()) { in VisitVarDecl()
1028 dumpStmt(D->getInit()); in VisitVarDecl()
1032 void ASTDumper::VisitFileScopeAsmDecl(const FileScopeAsmDecl *D) { in VisitFileScopeAsmDecl() argument
1034 dumpStmt(D->getAsmString()); in VisitFileScopeAsmDecl()
1037 void ASTDumper::VisitImportDecl(const ImportDecl *D) { in VisitImportDecl() argument
1038 OS << ' ' << D->getImportedModule()->getFullModuleName(); in VisitImportDecl()
1045 void ASTDumper::VisitNamespaceDecl(const NamespaceDecl *D) { in VisitNamespaceDecl() argument
1046 dumpName(D); in VisitNamespaceDecl()
1047 if (D->isInline()) in VisitNamespaceDecl()
1049 if (!D->isOriginalNamespace()) in VisitNamespaceDecl()
1050 dumpDeclRef(D->getOriginalNamespace(), "original"); in VisitNamespaceDecl()
1053 void ASTDumper::VisitUsingDirectiveDecl(const UsingDirectiveDecl *D) { in VisitUsingDirectiveDecl() argument
1055 dumpBareDeclRef(D->getNominatedNamespace()); in VisitUsingDirectiveDecl()
1058 void ASTDumper::VisitNamespaceAliasDecl(const NamespaceAliasDecl *D) { in VisitNamespaceAliasDecl() argument
1059 dumpName(D); in VisitNamespaceAliasDecl()
1060 dumpDeclRef(D->getAliasedNamespace()); in VisitNamespaceAliasDecl()
1063 void ASTDumper::VisitTypeAliasDecl(const TypeAliasDecl *D) { in VisitTypeAliasDecl() argument
1064 dumpName(D); in VisitTypeAliasDecl()
1065 dumpType(D->getUnderlyingType()); in VisitTypeAliasDecl()
1068 void ASTDumper::VisitTypeAliasTemplateDecl(const TypeAliasTemplateDecl *D) { in VisitTypeAliasTemplateDecl() argument
1069 dumpName(D); in VisitTypeAliasTemplateDecl()
1070 dumpTemplateParameters(D->getTemplateParameters()); in VisitTypeAliasTemplateDecl()
1071 dumpDecl(D->getTemplatedDecl()); in VisitTypeAliasTemplateDecl()
1074 void ASTDumper::VisitCXXRecordDecl(const CXXRecordDecl *D) { in VisitCXXRecordDecl() argument
1075 VisitRecordDecl(D); in VisitCXXRecordDecl()
1076 if (!D->isCompleteDefinition()) in VisitCXXRecordDecl()
1079 for (const auto &I : D->bases()) { in VisitCXXRecordDecl()
1090 void ASTDumper::VisitStaticAssertDecl(const StaticAssertDecl *D) { in VisitStaticAssertDecl() argument
1091 dumpStmt(D->getAssertExpr()); in VisitStaticAssertDecl()
1093 dumpStmt(D->getMessage()); in VisitStaticAssertDecl()
1098 const SpecializationDecl *D, in VisitTemplateDeclSpecialization() argument
1102 for (auto *RedeclWithBadType : D->redecls()) { in VisitTemplateDeclSpecialization()
1133 Children.dumpRef(D); in VisitTemplateDeclSpecialization()
1137 void ASTDumper::VisitTemplateDecl(const TemplateDecl *D, in VisitTemplateDecl() argument
1139 dumpName(D); in VisitTemplateDecl()
1140 dumpTemplateParameters(D->getTemplateParameters()); in VisitTemplateDecl()
1143 Children.dump(D->getTemplatedDecl()); in VisitTemplateDecl()
1145 for (auto *Child : D->specializations()) in VisitTemplateDecl()
1147 !D->isCanonicalDecl()); in VisitTemplateDecl()
1150 void ASTDumper::VisitFunctionTemplateDecl(const FunctionTemplateDecl *D) { in VisitFunctionTemplateDecl() argument
1154 VisitTemplateDecl(D, true); in VisitFunctionTemplateDecl()
1157 void ASTDumper::VisitClassTemplateDecl(const ClassTemplateDecl *D) { in VisitClassTemplateDecl() argument
1158 VisitTemplateDecl(D, false); in VisitClassTemplateDecl()
1162 const ClassTemplateSpecializationDecl *D) { in VisitClassTemplateSpecializationDecl() argument
1163 VisitCXXRecordDecl(D); in VisitClassTemplateSpecializationDecl()
1164 dumpTemplateArgumentList(D->getTemplateArgs()); in VisitClassTemplateSpecializationDecl()
1168 const ClassTemplatePartialSpecializationDecl *D) { in VisitClassTemplatePartialSpecializationDecl() argument
1169 VisitClassTemplateSpecializationDecl(D); in VisitClassTemplatePartialSpecializationDecl()
1170 dumpTemplateParameters(D->getTemplateParameters()); in VisitClassTemplatePartialSpecializationDecl()
1174 const ClassScopeFunctionSpecializationDecl *D) { in VisitClassScopeFunctionSpecializationDecl() argument
1175 dumpDeclRef(D->getSpecialization()); in VisitClassScopeFunctionSpecializationDecl()
1176 if (D->hasExplicitTemplateArgs()) in VisitClassScopeFunctionSpecializationDecl()
1177 dumpTemplateArgumentListInfo(D->templateArgs()); in VisitClassScopeFunctionSpecializationDecl()
1180 void ASTDumper::VisitVarTemplateDecl(const VarTemplateDecl *D) { in VisitVarTemplateDecl() argument
1181 VisitTemplateDecl(D, false); in VisitVarTemplateDecl()
1185 const VarTemplateSpecializationDecl *D) { in VisitVarTemplateSpecializationDecl() argument
1186 dumpTemplateArgumentList(D->getTemplateArgs()); in VisitVarTemplateSpecializationDecl()
1187 VisitVarDecl(D); in VisitVarTemplateSpecializationDecl()
1191 const VarTemplatePartialSpecializationDecl *D) { in VisitVarTemplatePartialSpecializationDecl() argument
1192 dumpTemplateParameters(D->getTemplateParameters()); in VisitVarTemplatePartialSpecializationDecl()
1193 VisitVarTemplateSpecializationDecl(D); in VisitVarTemplatePartialSpecializationDecl()
1196 void ASTDumper::VisitTemplateTypeParmDecl(const TemplateTypeParmDecl *D) { in VisitTemplateTypeParmDecl() argument
1197 if (D->wasDeclaredWithTypename()) in VisitTemplateTypeParmDecl()
1201 if (D->isParameterPack()) in VisitTemplateTypeParmDecl()
1203 dumpName(D); in VisitTemplateTypeParmDecl()
1204 if (D->hasDefaultArgument()) { in VisitTemplateTypeParmDecl()
1206 dumpTemplateArgument(D->getDefaultArgument()); in VisitTemplateTypeParmDecl()
1210 void ASTDumper::VisitNonTypeTemplateParmDecl(const NonTypeTemplateParmDecl *D) { in VisitNonTypeTemplateParmDecl() argument
1211 dumpType(D->getType()); in VisitNonTypeTemplateParmDecl()
1212 if (D->isParameterPack()) in VisitNonTypeTemplateParmDecl()
1214 dumpName(D); in VisitNonTypeTemplateParmDecl()
1215 if (D->hasDefaultArgument()) { in VisitNonTypeTemplateParmDecl()
1217 dumpTemplateArgument(D->getDefaultArgument()); in VisitNonTypeTemplateParmDecl()
1222 const TemplateTemplateParmDecl *D) { in VisitTemplateTemplateParmDecl() argument
1223 if (D->isParameterPack()) in VisitTemplateTemplateParmDecl()
1225 dumpName(D); in VisitTemplateTemplateParmDecl()
1226 dumpTemplateParameters(D->getTemplateParameters()); in VisitTemplateTemplateParmDecl()
1227 if (D->hasDefaultArgument()) { in VisitTemplateTemplateParmDecl()
1229 dumpTemplateArgumentLoc(D->getDefaultArgument()); in VisitTemplateTemplateParmDecl()
1233 void ASTDumper::VisitUsingDecl(const UsingDecl *D) { in VisitUsingDecl() argument
1235 D->getQualifier()->print(OS, D->getASTContext().getPrintingPolicy()); in VisitUsingDecl()
1236 OS << D->getNameAsString(); in VisitUsingDecl()
1240 const UnresolvedUsingTypenameDecl *D) { in VisitUnresolvedUsingTypenameDecl() argument
1242 D->getQualifier()->print(OS, D->getASTContext().getPrintingPolicy()); in VisitUnresolvedUsingTypenameDecl()
1243 OS << D->getNameAsString(); in VisitUnresolvedUsingTypenameDecl()
1246 void ASTDumper::VisitUnresolvedUsingValueDecl(const UnresolvedUsingValueDecl *D) { in VisitUnresolvedUsingValueDecl() argument
1248 D->getQualifier()->print(OS, D->getASTContext().getPrintingPolicy()); in VisitUnresolvedUsingValueDecl()
1249 OS << D->getNameAsString(); in VisitUnresolvedUsingValueDecl()
1250 dumpType(D->getType()); in VisitUnresolvedUsingValueDecl()
1253 void ASTDumper::VisitUsingShadowDecl(const UsingShadowDecl *D) { in VisitUsingShadowDecl() argument
1255 dumpBareDeclRef(D->getTargetDecl()); in VisitUsingShadowDecl()
1258 void ASTDumper::VisitLinkageSpecDecl(const LinkageSpecDecl *D) { in VisitLinkageSpecDecl() argument
1259 switch (D->getLanguage()) { in VisitLinkageSpecDecl()
1265 void ASTDumper::VisitAccessSpecDecl(const AccessSpecDecl *D) { in VisitAccessSpecDecl() argument
1267 dumpAccessSpecifier(D->getAccess()); in VisitAccessSpecDecl()
1270 void ASTDumper::VisitFriendDecl(const FriendDecl *D) { in VisitFriendDecl() argument
1272 if (TypeSourceInfo *T = D->getFriendType()) in VisitFriendDecl()
1275 dumpDecl(D->getFriendDecl()); in VisitFriendDecl()
1282 void ASTDumper::VisitObjCIvarDecl(const ObjCIvarDecl *D) { in VisitObjCIvarDecl() argument
1283 dumpName(D); in VisitObjCIvarDecl()
1284 dumpType(D->getType()); in VisitObjCIvarDecl()
1285 if (D->getSynthesize()) in VisitObjCIvarDecl()
1288 switch (D->getAccessControl()) { in VisitObjCIvarDecl()
1307 void ASTDumper::VisitObjCMethodDecl(const ObjCMethodDecl *D) { in VisitObjCMethodDecl() argument
1308 if (D->isInstanceMethod()) in VisitObjCMethodDecl()
1312 dumpName(D); in VisitObjCMethodDecl()
1313 dumpType(D->getReturnType()); in VisitObjCMethodDecl()
1316 bool IsVariadic = D->isVariadic(); in VisitObjCMethodDecl()
1317 bool HasBody = D->hasBody(); in VisitObjCMethodDecl()
1320 if (D->isThisDeclarationADefinition()) { in VisitObjCMethodDecl()
1322 dumpDeclContext(D); in VisitObjCMethodDecl()
1324 for (ObjCMethodDecl::param_const_iterator I = D->param_begin(), in VisitObjCMethodDecl()
1325 E = D->param_end(); in VisitObjCMethodDecl()
1343 dumpStmt(D->getBody()); in VisitObjCMethodDecl()
1347 void ASTDumper::VisitObjCCategoryDecl(const ObjCCategoryDecl *D) { in VisitObjCCategoryDecl() argument
1348 dumpName(D); in VisitObjCCategoryDecl()
1349 dumpDeclRef(D->getClassInterface()); in VisitObjCCategoryDecl()
1350 if (D->protocol_begin() == D->protocol_end()) in VisitObjCCategoryDecl()
1352 dumpDeclRef(D->getImplementation()); in VisitObjCCategoryDecl()
1353 for (ObjCCategoryDecl::protocol_iterator I = D->protocol_begin(), in VisitObjCCategoryDecl()
1354 E = D->protocol_end(); in VisitObjCCategoryDecl()
1362 void ASTDumper::VisitObjCCategoryImplDecl(const ObjCCategoryImplDecl *D) { in VisitObjCCategoryImplDecl() argument
1363 dumpName(D); in VisitObjCCategoryImplDecl()
1364 dumpDeclRef(D->getClassInterface()); in VisitObjCCategoryImplDecl()
1366 dumpDeclRef(D->getCategoryDecl()); in VisitObjCCategoryImplDecl()
1369 void ASTDumper::VisitObjCProtocolDecl(const ObjCProtocolDecl *D) { in VisitObjCProtocolDecl() argument
1370 dumpName(D); in VisitObjCProtocolDecl()
1373 for (auto *Child : D->protocols()) in VisitObjCProtocolDecl()
1377 void ASTDumper::VisitObjCInterfaceDecl(const ObjCInterfaceDecl *D) { in VisitObjCInterfaceDecl() argument
1378 dumpName(D); in VisitObjCInterfaceDecl()
1379 dumpDeclRef(D->getSuperClass(), "super"); in VisitObjCInterfaceDecl()
1382 Children.dumpRef(D->getImplementation()); in VisitObjCInterfaceDecl()
1383 for (auto *Child : D->protocols()) in VisitObjCInterfaceDecl()
1387 void ASTDumper::VisitObjCImplementationDecl(const ObjCImplementationDecl *D) { in VisitObjCImplementationDecl() argument
1388 dumpName(D); in VisitObjCImplementationDecl()
1389 dumpDeclRef(D->getSuperClass(), "super"); in VisitObjCImplementationDecl()
1390 if (D->init_begin() == D->init_end()) in VisitObjCImplementationDecl()
1392 dumpDeclRef(D->getClassInterface()); in VisitObjCImplementationDecl()
1393 for (ObjCImplementationDecl::init_const_iterator I = D->init_begin(), in VisitObjCImplementationDecl()
1394 E = D->init_end(); in VisitObjCImplementationDecl()
1402 void ASTDumper::VisitObjCCompatibleAliasDecl(const ObjCCompatibleAliasDecl *D) { in VisitObjCCompatibleAliasDecl() argument
1403 dumpName(D); in VisitObjCCompatibleAliasDecl()
1405 dumpDeclRef(D->getClassInterface()); in VisitObjCCompatibleAliasDecl()
1408 void ASTDumper::VisitObjCPropertyDecl(const ObjCPropertyDecl *D) { in VisitObjCPropertyDecl() argument
1409 dumpName(D); in VisitObjCPropertyDecl()
1410 dumpType(D->getType()); in VisitObjCPropertyDecl()
1412 if (D->getPropertyImplementation() == ObjCPropertyDecl::Required) in VisitObjCPropertyDecl()
1414 else if (D->getPropertyImplementation() == ObjCPropertyDecl::Optional) in VisitObjCPropertyDecl()
1417 ObjCPropertyDecl::PropertyAttributeKind Attrs = D->getPropertyAttributes(); in VisitObjCPropertyDecl()
1442 dumpDeclRef(D->getGetterMethodDecl(), "getter"); in VisitObjCPropertyDecl()
1446 dumpDeclRef(D->getSetterMethodDecl(), "setter"); in VisitObjCPropertyDecl()
1451 void ASTDumper::VisitObjCPropertyImplDecl(const ObjCPropertyImplDecl *D) { in VisitObjCPropertyImplDecl() argument
1452 dumpName(D->getPropertyDecl()); in VisitObjCPropertyImplDecl()
1453 if (D->getPropertyImplementation() == ObjCPropertyImplDecl::Synthesize) in VisitObjCPropertyImplDecl()
1457 dumpDeclRef(D->getPropertyDecl()); in VisitObjCPropertyImplDecl()
1459 dumpDeclRef(D->getPropertyIvarDecl()); in VisitObjCPropertyImplDecl()
1462 void ASTDumper::VisitBlockDecl(const BlockDecl *D) { in VisitBlockDecl() argument
1463 for (auto I : D->params()) in VisitBlockDecl()
1466 if (D->isVariadic()) { in VisitBlockDecl()
1471 if (D->capturesCXXThis()) { in VisitBlockDecl()
1475 for (const auto &I : D->captures()) { in VisitBlockDecl()
1490 dumpStmt(D->getBody()); in VisitBlockDecl()
2215 ASTDumper D(OS, Traits, SM); in dump() local
2216 D.dumpFullComment(FC); in dump()
2221 ASTDumper D(llvm::errs(), nullptr, nullptr, /*ShowColors*/true); in dumpColor() local
2222 D.dumpFullComment(FC); in dumpColor()