Lines Matching refs:D
213 void dumpDecl(const Decl *D);
227 void dumpName(const NamedDecl *D);
413 void VisitLabelDecl(const LabelDecl *D);
414 void VisitTypedefDecl(const TypedefDecl *D);
415 void VisitEnumDecl(const EnumDecl *D);
416 void VisitRecordDecl(const RecordDecl *D);
417 void VisitEnumConstantDecl(const EnumConstantDecl *D);
418 void VisitIndirectFieldDecl(const IndirectFieldDecl *D);
419 void VisitFunctionDecl(const FunctionDecl *D);
420 void VisitFieldDecl(const FieldDecl *D);
421 void VisitVarDecl(const VarDecl *D);
422 void VisitFileScopeAsmDecl(const FileScopeAsmDecl *D);
423 void VisitImportDecl(const ImportDecl *D);
426 void VisitNamespaceDecl(const NamespaceDecl *D);
427 void VisitUsingDirectiveDecl(const UsingDirectiveDecl *D);
428 void VisitNamespaceAliasDecl(const NamespaceAliasDecl *D);
429 void VisitTypeAliasDecl(const TypeAliasDecl *D);
430 void VisitTypeAliasTemplateDecl(const TypeAliasTemplateDecl *D);
431 void VisitCXXRecordDecl(const CXXRecordDecl *D);
432 void VisitStaticAssertDecl(const StaticAssertDecl *D);
434 void VisitTemplateDeclSpecialization(const SpecializationDecl *D,
438 void VisitTemplateDecl(const TemplateDecl *D, bool DumpExplicitInst);
439 void VisitFunctionTemplateDecl(const FunctionTemplateDecl *D);
440 void VisitClassTemplateDecl(const ClassTemplateDecl *D);
442 const ClassTemplateSpecializationDecl *D);
444 const ClassTemplatePartialSpecializationDecl *D);
446 const ClassScopeFunctionSpecializationDecl *D);
447 void VisitVarTemplateDecl(const VarTemplateDecl *D);
449 const VarTemplateSpecializationDecl *D);
451 const VarTemplatePartialSpecializationDecl *D);
452 void VisitTemplateTypeParmDecl(const TemplateTypeParmDecl *D);
453 void VisitNonTypeTemplateParmDecl(const NonTypeTemplateParmDecl *D);
454 void VisitTemplateTemplateParmDecl(const TemplateTemplateParmDecl *D);
455 void VisitUsingDecl(const UsingDecl *D);
456 void VisitUnresolvedUsingTypenameDecl(const UnresolvedUsingTypenameDecl *D);
457 void VisitUnresolvedUsingValueDecl(const UnresolvedUsingValueDecl *D);
458 void VisitUsingShadowDecl(const UsingShadowDecl *D);
459 void VisitLinkageSpecDecl(const LinkageSpecDecl *D);
460 void VisitAccessSpecDecl(const AccessSpecDecl *D);
461 void VisitFriendDecl(const FriendDecl *D);
464 void VisitObjCIvarDecl(const ObjCIvarDecl *D);
465 void VisitObjCMethodDecl(const ObjCMethodDecl *D);
466 void VisitObjCCategoryDecl(const ObjCCategoryDecl *D);
467 void VisitObjCCategoryImplDecl(const ObjCCategoryImplDecl *D);
468 void VisitObjCProtocolDecl(const ObjCProtocolDecl *D);
469 void VisitObjCInterfaceDecl(const ObjCInterfaceDecl *D);
470 void VisitObjCImplementationDecl(const ObjCImplementationDecl *D);
471 void VisitObjCCompatibleAliasDecl(const ObjCCompatibleAliasDecl *D);
472 void VisitObjCPropertyDecl(const ObjCPropertyDecl *D);
473 void VisitObjCPropertyImplDecl(const ObjCPropertyImplDecl *D);
474 void VisitBlockDecl(const BlockDecl *D);
683 void ASTDumper::dumpBareDeclRef(const Decl *D) { in dumpBareDeclRef() argument
686 OS << D->getDeclKindName(); in dumpBareDeclRef()
688 dumpPointer(D); in dumpBareDeclRef()
690 if (const NamedDecl *ND = dyn_cast<NamedDecl>(D)) { in dumpBareDeclRef()
695 if (const ValueDecl *VD = dyn_cast<ValueDecl>(D)) in dumpBareDeclRef()
699 void ASTDumper::dumpDeclRef(const Decl *D, const char *Label) { in dumpDeclRef() argument
700 if (!D) in dumpDeclRef()
706 dumpBareDeclRef(D); in dumpDeclRef()
729 for (auto *D : DC->noload_decls()) in dumpDeclContext() local
730 dumpDecl(D); in dumpDeclContext()
777 std::function<void(Decl *)> DumpWithPrev = [&](Decl *D) { in dumpLookups() argument
778 if (Decl *Prev = D->getPreviousDecl()) in dumpLookups()
780 dumpDecl(D); in dumpLookups()
824 static void dumpPreviousDeclImpl(raw_ostream &OS, const Mergeable<T> *D) { in dumpPreviousDeclImpl() argument
825 const T *First = D->getFirstDecl(); in dumpPreviousDeclImpl()
826 if (First != D) in dumpPreviousDeclImpl()
831 static void dumpPreviousDeclImpl(raw_ostream &OS, const Redeclarable<T> *D) { in dumpPreviousDeclImpl() argument
832 const T *Prev = D->getPreviousDecl(); in dumpPreviousDeclImpl()
839 static void dumpPreviousDecl(raw_ostream &OS, const Decl *D) { in dumpPreviousDecl() argument
840 switch (D->getKind()) { in dumpPreviousDecl()
843 return dumpPreviousDeclImpl(OS, cast<DERIVED##Decl>(D)); in dumpPreviousDecl()
961 void ASTDumper::dumpDecl(const Decl *D) { in dumpDecl() argument
963 if (!D) { in dumpDecl()
971 OS << D->getDeclKindName() << "Decl"; in dumpDecl()
973 dumpPointer(D); in dumpDecl()
974 if (D->getLexicalDeclContext() != D->getDeclContext()) in dumpDecl()
975 OS << " parent " << cast<Decl>(D->getDeclContext()); in dumpDecl()
976 dumpPreviousDecl(OS, D); in dumpDecl()
977 dumpSourceRange(D->getSourceRange()); in dumpDecl()
979 dumpLocation(D->getLocation()); in dumpDecl()
980 if (Module *M = D->getOwningModule()) in dumpDecl()
982 if (const NamedDecl *ND = dyn_cast<NamedDecl>(D)) in dumpDecl()
985 if (D->isImplicit()) in dumpDecl()
987 if (D->isUsed()) in dumpDecl()
989 else if (D->isThisDeclarationReferenced()) in dumpDecl()
991 if (D->isInvalidDecl()) in dumpDecl()
993 if (const FunctionDecl *FD = dyn_cast<FunctionDecl>(D)) in dumpDecl()
998 ConstDeclVisitor<ASTDumper>::Visit(D); in dumpDecl()
1000 for (Decl::attr_iterator I = D->attr_begin(), E = D->attr_end(); I != E; in dumpDecl()
1005 D->getASTContext().getLocalCommentForDeclUncached(D)) in dumpDecl()
1009 if (!isa<FunctionDecl>(*D) && !isa<ObjCMethodDecl>(*D) && in dumpDecl()
1010 hasNodes(dyn_cast<DeclContext>(D))) in dumpDecl()
1011 dumpDeclContext(cast<DeclContext>(D)); in dumpDecl()
1015 void ASTDumper::VisitLabelDecl(const LabelDecl *D) { in VisitLabelDecl() argument
1016 dumpName(D); in VisitLabelDecl()
1019 void ASTDumper::VisitTypedefDecl(const TypedefDecl *D) { in VisitTypedefDecl() argument
1020 dumpName(D); in VisitTypedefDecl()
1021 dumpType(D->getUnderlyingType()); in VisitTypedefDecl()
1022 if (D->isModulePrivate()) in VisitTypedefDecl()
1026 void ASTDumper::VisitEnumDecl(const EnumDecl *D) { in VisitEnumDecl() argument
1027 if (D->isScoped()) { in VisitEnumDecl()
1028 if (D->isScopedUsingClassTag()) in VisitEnumDecl()
1033 dumpName(D); in VisitEnumDecl()
1034 if (D->isModulePrivate()) in VisitEnumDecl()
1036 if (D->isFixed()) in VisitEnumDecl()
1037 dumpType(D->getIntegerType()); in VisitEnumDecl()
1040 void ASTDumper::VisitRecordDecl(const RecordDecl *D) { in VisitRecordDecl() argument
1041 OS << ' ' << D->getKindName(); in VisitRecordDecl()
1042 dumpName(D); in VisitRecordDecl()
1043 if (D->isModulePrivate()) in VisitRecordDecl()
1045 if (D->isCompleteDefinition()) in VisitRecordDecl()
1049 void ASTDumper::VisitEnumConstantDecl(const EnumConstantDecl *D) { in VisitEnumConstantDecl() argument
1050 dumpName(D); in VisitEnumConstantDecl()
1051 dumpType(D->getType()); in VisitEnumConstantDecl()
1052 if (const Expr *Init = D->getInitExpr()) in VisitEnumConstantDecl()
1056 void ASTDumper::VisitIndirectFieldDecl(const IndirectFieldDecl *D) { in VisitIndirectFieldDecl() argument
1057 dumpName(D); in VisitIndirectFieldDecl()
1058 dumpType(D->getType()); in VisitIndirectFieldDecl()
1060 for (auto *Child : D->chain()) in VisitIndirectFieldDecl()
1064 void ASTDumper::VisitFunctionDecl(const FunctionDecl *D) { in VisitFunctionDecl() argument
1065 dumpName(D); in VisitFunctionDecl()
1066 dumpType(D->getType()); in VisitFunctionDecl()
1068 StorageClass SC = D->getStorageClass(); in VisitFunctionDecl()
1071 if (D->isInlineSpecified()) in VisitFunctionDecl()
1073 if (D->isVirtualAsWritten()) in VisitFunctionDecl()
1075 if (D->isModulePrivate()) in VisitFunctionDecl()
1078 if (D->isPure()) in VisitFunctionDecl()
1080 else if (D->isDeletedAsWritten()) in VisitFunctionDecl()
1083 if (const FunctionProtoType *FPT = D->getType()->getAs<FunctionProtoType>()) { in VisitFunctionDecl()
1097 D->getTemplateSpecializationInfo()) in VisitFunctionDecl()
1101 I = D->getDeclsInPrototypeScope().begin(), in VisitFunctionDecl()
1102 E = D->getDeclsInPrototypeScope().end(); I != E; ++I) in VisitFunctionDecl()
1105 if (!D->param_begin() && D->getNumParams()) in VisitFunctionDecl()
1106 dumpChild([=] { OS << "<<NULL params x " << D->getNumParams() << ">>"; }); in VisitFunctionDecl()
1108 for (FunctionDecl::param_const_iterator I = D->param_begin(), in VisitFunctionDecl()
1109 E = D->param_end(); in VisitFunctionDecl()
1113 if (const CXXConstructorDecl *C = dyn_cast<CXXConstructorDecl>(D)) in VisitFunctionDecl()
1119 if (D->doesThisDeclarationHaveABody()) in VisitFunctionDecl()
1120 dumpStmt(D->getBody()); in VisitFunctionDecl()
1123 void ASTDumper::VisitFieldDecl(const FieldDecl *D) { in VisitFieldDecl() argument
1124 dumpName(D); in VisitFieldDecl()
1125 dumpType(D->getType()); in VisitFieldDecl()
1126 if (D->isMutable()) in VisitFieldDecl()
1128 if (D->isModulePrivate()) in VisitFieldDecl()
1131 if (D->isBitField()) in VisitFieldDecl()
1132 dumpStmt(D->getBitWidth()); in VisitFieldDecl()
1133 if (Expr *Init = D->getInClassInitializer()) in VisitFieldDecl()
1137 void ASTDumper::VisitVarDecl(const VarDecl *D) { in VisitVarDecl() argument
1138 dumpName(D); in VisitVarDecl()
1139 dumpType(D->getType()); in VisitVarDecl()
1140 StorageClass SC = D->getStorageClass(); in VisitVarDecl()
1143 switch (D->getTLSKind()) { in VisitVarDecl()
1148 if (D->isModulePrivate()) in VisitVarDecl()
1150 if (D->isNRVOVariable()) in VisitVarDecl()
1152 if (D->hasInit()) { in VisitVarDecl()
1153 switch (D->getInitStyle()) { in VisitVarDecl()
1158 dumpStmt(D->getInit()); in VisitVarDecl()
1162 void ASTDumper::VisitFileScopeAsmDecl(const FileScopeAsmDecl *D) { in VisitFileScopeAsmDecl() argument
1163 dumpStmt(D->getAsmString()); in VisitFileScopeAsmDecl()
1166 void ASTDumper::VisitImportDecl(const ImportDecl *D) { in VisitImportDecl() argument
1167 OS << ' ' << D->getImportedModule()->getFullModuleName(); in VisitImportDecl()
1174 void ASTDumper::VisitNamespaceDecl(const NamespaceDecl *D) { in VisitNamespaceDecl() argument
1175 dumpName(D); in VisitNamespaceDecl()
1176 if (D->isInline()) in VisitNamespaceDecl()
1178 if (!D->isOriginalNamespace()) in VisitNamespaceDecl()
1179 dumpDeclRef(D->getOriginalNamespace(), "original"); in VisitNamespaceDecl()
1182 void ASTDumper::VisitUsingDirectiveDecl(const UsingDirectiveDecl *D) { in VisitUsingDirectiveDecl() argument
1184 dumpBareDeclRef(D->getNominatedNamespace()); in VisitUsingDirectiveDecl()
1187 void ASTDumper::VisitNamespaceAliasDecl(const NamespaceAliasDecl *D) { in VisitNamespaceAliasDecl() argument
1188 dumpName(D); in VisitNamespaceAliasDecl()
1189 dumpDeclRef(D->getAliasedNamespace()); in VisitNamespaceAliasDecl()
1192 void ASTDumper::VisitTypeAliasDecl(const TypeAliasDecl *D) { in VisitTypeAliasDecl() argument
1193 dumpName(D); in VisitTypeAliasDecl()
1194 dumpType(D->getUnderlyingType()); in VisitTypeAliasDecl()
1197 void ASTDumper::VisitTypeAliasTemplateDecl(const TypeAliasTemplateDecl *D) { in VisitTypeAliasTemplateDecl() argument
1198 dumpName(D); in VisitTypeAliasTemplateDecl()
1199 dumpTemplateParameters(D->getTemplateParameters()); in VisitTypeAliasTemplateDecl()
1200 dumpDecl(D->getTemplatedDecl()); in VisitTypeAliasTemplateDecl()
1203 void ASTDumper::VisitCXXRecordDecl(const CXXRecordDecl *D) { in VisitCXXRecordDecl() argument
1204 VisitRecordDecl(D); in VisitCXXRecordDecl()
1205 if (!D->isCompleteDefinition()) in VisitCXXRecordDecl()
1208 for (const auto &I : D->bases()) { in VisitCXXRecordDecl()
1220 void ASTDumper::VisitStaticAssertDecl(const StaticAssertDecl *D) { in VisitStaticAssertDecl() argument
1221 dumpStmt(D->getAssertExpr()); in VisitStaticAssertDecl()
1222 dumpStmt(D->getMessage()); in VisitStaticAssertDecl()
1226 void ASTDumper::VisitTemplateDeclSpecialization(const SpecializationDecl *D, in VisitTemplateDeclSpecialization() argument
1230 for (auto *RedeclWithBadType : D->redecls()) { in VisitTemplateDeclSpecialization()
1264 dumpDeclRef(D); in VisitTemplateDeclSpecialization()
1268 void ASTDumper::VisitTemplateDecl(const TemplateDecl *D, in VisitTemplateDecl() argument
1270 dumpName(D); in VisitTemplateDecl()
1271 dumpTemplateParameters(D->getTemplateParameters()); in VisitTemplateDecl()
1273 dumpDecl(D->getTemplatedDecl()); in VisitTemplateDecl()
1275 for (auto *Child : D->specializations()) in VisitTemplateDecl()
1277 !D->isCanonicalDecl()); in VisitTemplateDecl()
1280 void ASTDumper::VisitFunctionTemplateDecl(const FunctionTemplateDecl *D) { in VisitFunctionTemplateDecl() argument
1284 VisitTemplateDecl(D, true); in VisitFunctionTemplateDecl()
1287 void ASTDumper::VisitClassTemplateDecl(const ClassTemplateDecl *D) { in VisitClassTemplateDecl() argument
1288 VisitTemplateDecl(D, false); in VisitClassTemplateDecl()
1292 const ClassTemplateSpecializationDecl *D) { in VisitClassTemplateSpecializationDecl() argument
1293 VisitCXXRecordDecl(D); in VisitClassTemplateSpecializationDecl()
1294 dumpTemplateArgumentList(D->getTemplateArgs()); in VisitClassTemplateSpecializationDecl()
1298 const ClassTemplatePartialSpecializationDecl *D) { in VisitClassTemplatePartialSpecializationDecl() argument
1299 VisitClassTemplateSpecializationDecl(D); in VisitClassTemplatePartialSpecializationDecl()
1300 dumpTemplateParameters(D->getTemplateParameters()); in VisitClassTemplatePartialSpecializationDecl()
1304 const ClassScopeFunctionSpecializationDecl *D) { in VisitClassScopeFunctionSpecializationDecl() argument
1305 dumpDeclRef(D->getSpecialization()); in VisitClassScopeFunctionSpecializationDecl()
1306 if (D->hasExplicitTemplateArgs()) in VisitClassScopeFunctionSpecializationDecl()
1307 dumpTemplateArgumentListInfo(D->templateArgs()); in VisitClassScopeFunctionSpecializationDecl()
1310 void ASTDumper::VisitVarTemplateDecl(const VarTemplateDecl *D) { in VisitVarTemplateDecl() argument
1311 VisitTemplateDecl(D, false); in VisitVarTemplateDecl()
1315 const VarTemplateSpecializationDecl *D) { in VisitVarTemplateSpecializationDecl() argument
1316 dumpTemplateArgumentList(D->getTemplateArgs()); in VisitVarTemplateSpecializationDecl()
1317 VisitVarDecl(D); in VisitVarTemplateSpecializationDecl()
1321 const VarTemplatePartialSpecializationDecl *D) { in VisitVarTemplatePartialSpecializationDecl() argument
1322 dumpTemplateParameters(D->getTemplateParameters()); in VisitVarTemplatePartialSpecializationDecl()
1323 VisitVarTemplateSpecializationDecl(D); in VisitVarTemplatePartialSpecializationDecl()
1326 void ASTDumper::VisitTemplateTypeParmDecl(const TemplateTypeParmDecl *D) { in VisitTemplateTypeParmDecl() argument
1327 if (D->wasDeclaredWithTypename()) in VisitTemplateTypeParmDecl()
1331 if (D->isParameterPack()) in VisitTemplateTypeParmDecl()
1333 dumpName(D); in VisitTemplateTypeParmDecl()
1334 if (D->hasDefaultArgument()) in VisitTemplateTypeParmDecl()
1335 dumpTemplateArgument(D->getDefaultArgument()); in VisitTemplateTypeParmDecl()
1338 void ASTDumper::VisitNonTypeTemplateParmDecl(const NonTypeTemplateParmDecl *D) { in VisitNonTypeTemplateParmDecl() argument
1339 dumpType(D->getType()); in VisitNonTypeTemplateParmDecl()
1340 if (D->isParameterPack()) in VisitNonTypeTemplateParmDecl()
1342 dumpName(D); in VisitNonTypeTemplateParmDecl()
1343 if (D->hasDefaultArgument()) in VisitNonTypeTemplateParmDecl()
1344 dumpTemplateArgument(D->getDefaultArgument()); in VisitNonTypeTemplateParmDecl()
1348 const TemplateTemplateParmDecl *D) { in VisitTemplateTemplateParmDecl() argument
1349 if (D->isParameterPack()) in VisitTemplateTemplateParmDecl()
1351 dumpName(D); in VisitTemplateTemplateParmDecl()
1352 dumpTemplateParameters(D->getTemplateParameters()); in VisitTemplateTemplateParmDecl()
1353 if (D->hasDefaultArgument()) in VisitTemplateTemplateParmDecl()
1354 dumpTemplateArgumentLoc(D->getDefaultArgument()); in VisitTemplateTemplateParmDecl()
1357 void ASTDumper::VisitUsingDecl(const UsingDecl *D) { in VisitUsingDecl() argument
1359 D->getQualifier()->print(OS, D->getASTContext().getPrintingPolicy()); in VisitUsingDecl()
1360 OS << D->getNameAsString(); in VisitUsingDecl()
1364 const UnresolvedUsingTypenameDecl *D) { in VisitUnresolvedUsingTypenameDecl() argument
1366 D->getQualifier()->print(OS, D->getASTContext().getPrintingPolicy()); in VisitUnresolvedUsingTypenameDecl()
1367 OS << D->getNameAsString(); in VisitUnresolvedUsingTypenameDecl()
1370 void ASTDumper::VisitUnresolvedUsingValueDecl(const UnresolvedUsingValueDecl *D) { in VisitUnresolvedUsingValueDecl() argument
1372 D->getQualifier()->print(OS, D->getASTContext().getPrintingPolicy()); in VisitUnresolvedUsingValueDecl()
1373 OS << D->getNameAsString(); in VisitUnresolvedUsingValueDecl()
1374 dumpType(D->getType()); in VisitUnresolvedUsingValueDecl()
1377 void ASTDumper::VisitUsingShadowDecl(const UsingShadowDecl *D) { in VisitUsingShadowDecl() argument
1379 dumpBareDeclRef(D->getTargetDecl()); in VisitUsingShadowDecl()
1382 void ASTDumper::VisitLinkageSpecDecl(const LinkageSpecDecl *D) { in VisitLinkageSpecDecl() argument
1383 switch (D->getLanguage()) { in VisitLinkageSpecDecl()
1389 void ASTDumper::VisitAccessSpecDecl(const AccessSpecDecl *D) { in VisitAccessSpecDecl() argument
1391 dumpAccessSpecifier(D->getAccess()); in VisitAccessSpecDecl()
1394 void ASTDumper::VisitFriendDecl(const FriendDecl *D) { in VisitFriendDecl() argument
1395 if (TypeSourceInfo *T = D->getFriendType()) in VisitFriendDecl()
1398 dumpDecl(D->getFriendDecl()); in VisitFriendDecl()
1405 void ASTDumper::VisitObjCIvarDecl(const ObjCIvarDecl *D) { in VisitObjCIvarDecl() argument
1406 dumpName(D); in VisitObjCIvarDecl()
1407 dumpType(D->getType()); in VisitObjCIvarDecl()
1408 if (D->getSynthesize()) in VisitObjCIvarDecl()
1411 switch (D->getAccessControl()) { in VisitObjCIvarDecl()
1430 void ASTDumper::VisitObjCMethodDecl(const ObjCMethodDecl *D) { in VisitObjCMethodDecl() argument
1431 if (D->isInstanceMethod()) in VisitObjCMethodDecl()
1435 dumpName(D); in VisitObjCMethodDecl()
1436 dumpType(D->getReturnType()); in VisitObjCMethodDecl()
1438 if (D->isThisDeclarationADefinition()) { in VisitObjCMethodDecl()
1439 dumpDeclContext(D); in VisitObjCMethodDecl()
1441 for (ObjCMethodDecl::param_const_iterator I = D->param_begin(), in VisitObjCMethodDecl()
1442 E = D->param_end(); in VisitObjCMethodDecl()
1447 if (D->isVariadic()) in VisitObjCMethodDecl()
1450 if (D->hasBody()) in VisitObjCMethodDecl()
1451 dumpStmt(D->getBody()); in VisitObjCMethodDecl()
1454 void ASTDumper::VisitObjCCategoryDecl(const ObjCCategoryDecl *D) { in VisitObjCCategoryDecl() argument
1455 dumpName(D); in VisitObjCCategoryDecl()
1456 dumpDeclRef(D->getClassInterface()); in VisitObjCCategoryDecl()
1457 dumpDeclRef(D->getImplementation()); in VisitObjCCategoryDecl()
1458 for (ObjCCategoryDecl::protocol_iterator I = D->protocol_begin(), in VisitObjCCategoryDecl()
1459 E = D->protocol_end(); in VisitObjCCategoryDecl()
1464 void ASTDumper::VisitObjCCategoryImplDecl(const ObjCCategoryImplDecl *D) { in VisitObjCCategoryImplDecl() argument
1465 dumpName(D); in VisitObjCCategoryImplDecl()
1466 dumpDeclRef(D->getClassInterface()); in VisitObjCCategoryImplDecl()
1467 dumpDeclRef(D->getCategoryDecl()); in VisitObjCCategoryImplDecl()
1470 void ASTDumper::VisitObjCProtocolDecl(const ObjCProtocolDecl *D) { in VisitObjCProtocolDecl() argument
1471 dumpName(D); in VisitObjCProtocolDecl()
1473 for (auto *Child : D->protocols()) in VisitObjCProtocolDecl()
1477 void ASTDumper::VisitObjCInterfaceDecl(const ObjCInterfaceDecl *D) { in VisitObjCInterfaceDecl() argument
1478 dumpName(D); in VisitObjCInterfaceDecl()
1479 dumpDeclRef(D->getSuperClass(), "super"); in VisitObjCInterfaceDecl()
1481 dumpDeclRef(D->getImplementation()); in VisitObjCInterfaceDecl()
1482 for (auto *Child : D->protocols()) in VisitObjCInterfaceDecl()
1486 void ASTDumper::VisitObjCImplementationDecl(const ObjCImplementationDecl *D) { in VisitObjCImplementationDecl() argument
1487 dumpName(D); in VisitObjCImplementationDecl()
1488 dumpDeclRef(D->getSuperClass(), "super"); in VisitObjCImplementationDecl()
1489 dumpDeclRef(D->getClassInterface()); in VisitObjCImplementationDecl()
1490 for (ObjCImplementationDecl::init_const_iterator I = D->init_begin(), in VisitObjCImplementationDecl()
1491 E = D->init_end(); in VisitObjCImplementationDecl()
1496 void ASTDumper::VisitObjCCompatibleAliasDecl(const ObjCCompatibleAliasDecl *D) { in VisitObjCCompatibleAliasDecl() argument
1497 dumpName(D); in VisitObjCCompatibleAliasDecl()
1498 dumpDeclRef(D->getClassInterface()); in VisitObjCCompatibleAliasDecl()
1501 void ASTDumper::VisitObjCPropertyDecl(const ObjCPropertyDecl *D) { in VisitObjCPropertyDecl() argument
1502 dumpName(D); in VisitObjCPropertyDecl()
1503 dumpType(D->getType()); in VisitObjCPropertyDecl()
1505 if (D->getPropertyImplementation() == ObjCPropertyDecl::Required) in VisitObjCPropertyDecl()
1507 else if (D->getPropertyImplementation() == ObjCPropertyDecl::Optional) in VisitObjCPropertyDecl()
1510 ObjCPropertyDecl::PropertyAttributeKind Attrs = D->getPropertyAttributes(); in VisitObjCPropertyDecl()
1533 dumpDeclRef(D->getGetterMethodDecl(), "getter"); in VisitObjCPropertyDecl()
1535 dumpDeclRef(D->getSetterMethodDecl(), "setter"); in VisitObjCPropertyDecl()
1539 void ASTDumper::VisitObjCPropertyImplDecl(const ObjCPropertyImplDecl *D) { in VisitObjCPropertyImplDecl() argument
1540 dumpName(D->getPropertyDecl()); in VisitObjCPropertyImplDecl()
1541 if (D->getPropertyImplementation() == ObjCPropertyImplDecl::Synthesize) in VisitObjCPropertyImplDecl()
1545 dumpDeclRef(D->getPropertyDecl()); in VisitObjCPropertyImplDecl()
1546 dumpDeclRef(D->getPropertyIvarDecl()); in VisitObjCPropertyImplDecl()
1549 void ASTDumper::VisitBlockDecl(const BlockDecl *D) { in VisitBlockDecl() argument
1550 for (auto I : D->params()) in VisitBlockDecl()
1553 if (D->isVariadic()) in VisitBlockDecl()
1556 if (D->capturesCXXThis()) in VisitBlockDecl()
1559 for (const auto &I : D->captures()) { in VisitBlockDecl()
1574 dumpStmt(D->getBody()); in VisitBlockDecl()
2328 ASTDumper D(OS, Traits, SM); in dump() local
2329 D.dumpFullComment(FC); in dump()
2334 ASTDumper D(llvm::errs(), nullptr, nullptr, /*ShowColors*/true); in dumpColor() local
2335 D.dumpFullComment(FC); in dumpColor()