Lines Matching refs:D

61     void prettyPrintAttributes(Decl *D, raw_ostream &out,
73 void VisitTranslationUnitDecl(TranslationUnitDecl *D);
74 void VisitTypedefDecl(TypedefDecl *D);
75 void VisitTypeAliasDecl(TypeAliasDecl *D);
76 void VisitEnumDecl(EnumDecl *D);
77 void VisitRecordDecl(RecordDecl *D);
78 void VisitEnumConstantDecl(EnumConstantDecl *D);
79 void VisitEmptyDecl(EmptyDecl *D);
80 void VisitFunctionDecl(FunctionDecl *D);
81 void VisitFriendDecl(FriendDecl *D);
82 void VisitFieldDecl(FieldDecl *D);
83 void VisitVarDecl(VarDecl *D);
84 void VisitLabelDecl(LabelDecl *D);
85 void VisitParmVarDecl(ParmVarDecl *D);
86 void VisitFileScopeAsmDecl(FileScopeAsmDecl *D);
87 void VisitTopLevelStmtDecl(TopLevelStmtDecl *D);
88 void VisitImportDecl(ImportDecl *D);
89 void VisitStaticAssertDecl(StaticAssertDecl *D);
90 void VisitNamespaceDecl(NamespaceDecl *D);
91 void VisitUsingDirectiveDecl(UsingDirectiveDecl *D);
92 void VisitNamespaceAliasDecl(NamespaceAliasDecl *D);
93 void VisitCXXRecordDecl(CXXRecordDecl *D);
94 void VisitLinkageSpecDecl(LinkageSpecDecl *D);
95 void VisitTemplateDecl(const TemplateDecl *D);
96 void VisitFunctionTemplateDecl(FunctionTemplateDecl *D);
97 void VisitClassTemplateDecl(ClassTemplateDecl *D);
99 ClassTemplateSpecializationDecl *D);
101 ClassTemplatePartialSpecializationDecl *D);
102 void VisitObjCMethodDecl(ObjCMethodDecl *D);
103 void VisitObjCImplementationDecl(ObjCImplementationDecl *D);
104 void VisitObjCInterfaceDecl(ObjCInterfaceDecl *D);
105 void VisitObjCProtocolDecl(ObjCProtocolDecl *D);
106 void VisitObjCCategoryImplDecl(ObjCCategoryImplDecl *D);
107 void VisitObjCCategoryDecl(ObjCCategoryDecl *D);
108 void VisitObjCCompatibleAliasDecl(ObjCCompatibleAliasDecl *D);
109 void VisitObjCPropertyDecl(ObjCPropertyDecl *D);
110 void VisitObjCPropertyImplDecl(ObjCPropertyImplDecl *D);
111 void VisitUnresolvedUsingTypenameDecl(UnresolvedUsingTypenameDecl *D);
112 void VisitUnresolvedUsingValueDecl(UnresolvedUsingValueDecl *D);
113 void VisitUsingDecl(UsingDecl *D);
114 void VisitUsingEnumDecl(UsingEnumDecl *D);
115 void VisitUsingShadowDecl(UsingShadowDecl *D);
116 void VisitOMPThreadPrivateDecl(OMPThreadPrivateDecl *D);
117 void VisitOMPAllocateDecl(OMPAllocateDecl *D);
118 void VisitOMPRequiresDecl(OMPRequiresDecl *D);
119 void VisitOMPDeclareReductionDecl(OMPDeclareReductionDecl *D);
120 void VisitOMPDeclareMapperDecl(OMPDeclareMapperDecl *D);
121 void VisitOMPCapturedExprDecl(OMPCapturedExprDecl *D);
124 void VisitHLSLBufferDecl(HLSLBufferDecl *D);
133 inline void prettyPrintAttributes(Decl *D) { in prettyPrintAttributes() argument
134 prettyPrintAttributes(D, Out); in prettyPrintAttributes()
137 void prettyPrintPragmas(Decl *D);
196 static QualType getDeclType(Decl* D) { in getDeclType() argument
197 if (TypedefNameDecl* TDD = dyn_cast<TypedefNameDecl>(D)) in getDeclType()
199 if (ValueDecl* VD = dyn_cast<ValueDecl>(D)) in getDeclType()
299 void DeclPrinter::prettyPrintAttributes(Decl *D, llvm::raw_ostream &Out, in prettyPrintAttributes() argument
304 if (D->hasAttrs()) { in prettyPrintAttributes()
305 AttrVec &Attrs = D->getAttrs(); in prettyPrintAttributes()
318 if (const FunctionDecl *FD = dyn_cast<FunctionDecl>(D); in prettyPrintAttributes()
326 else if (const VarDecl *VD = dyn_cast<VarDecl>(D); in prettyPrintAttributes()
338 void DeclPrinter::prettyPrintPragmas(Decl *D) { in prettyPrintPragmas() argument
342 if (D->hasAttrs()) { in prettyPrintPragmas()
343 AttrVec &Attrs = D->getAttrs(); in prettyPrintPragmas()
474 for (DeclContext::decl_iterator D = DC->decls_begin(), DEnd = DC->decls_end(); in VisitDeclContext() local
475 D != DEnd; ++D) { in VisitDeclContext()
479 if (isa<ObjCIvarDecl>(*D)) in VisitDeclContext()
483 if (D->isImplicit()) in VisitDeclContext()
488 if (auto FD = dyn_cast<FunctionDecl>(*D)) in VisitDeclContext()
505 QualType CurDeclType = getDeclType(*D); in VisitDeclContext()
510 Decls.push_back(*D); in VisitDeclContext()
521 if (isa<TagDecl>(*D) && !cast<TagDecl>(*D)->isFreeStanding()) { in VisitDeclContext()
522 Decls.push_back(*D); in VisitDeclContext()
526 if (isa<AccessSpecDecl>(*D)) { in VisitDeclContext()
529 Print(D->getAccess()); in VisitDeclContext()
536 Visit(*D); in VisitDeclContext()
540 if (isa<OMPThreadPrivateDecl>(*D) || isa<OMPDeclareReductionDecl>(*D) || in VisitDeclContext()
541 isa<OMPDeclareMapperDecl>(*D) || isa<OMPRequiresDecl>(*D) || in VisitDeclContext()
542 isa<OMPAllocateDecl>(*D)) in VisitDeclContext()
544 else if (isa<ObjCMethodDecl>(*D) && cast<ObjCMethodDecl>(*D)->hasBody()) in VisitDeclContext()
546 else if (auto FD = dyn_cast<FunctionDecl>(*D)) { in VisitDeclContext()
551 } else if (auto TD = dyn_cast<FunctionTemplateDecl>(*D)) { in VisitDeclContext()
558 ObjCCategoryDecl, HLSLBufferDecl>(*D)) in VisitDeclContext()
560 else if (isa<EnumConstantDecl>(*D)) { in VisitDeclContext()
561 DeclContext::decl_iterator Next = D; in VisitDeclContext()
571 ((isa<FunctionDecl>(*D) && in VisitDeclContext()
572 cast<FunctionDecl>(*D)->doesThisDeclarationHaveABody()) || in VisitDeclContext()
573 (isa<FunctionTemplateDecl>(*D) && in VisitDeclContext()
574 cast<FunctionTemplateDecl>(*D)->getTemplatedDecl()->doesThisDeclarationHaveABody()))) in VisitDeclContext()
581 if (D->hasAttr<OMPDeclareTargetDeclAttr>()) in VisitDeclContext()
592 void DeclPrinter::VisitTranslationUnitDecl(TranslationUnitDecl *D) { in VisitTranslationUnitDecl() argument
593 VisitDeclContext(D, false); in VisitTranslationUnitDecl()
596 void DeclPrinter::VisitTypedefDecl(TypedefDecl *D) { in VisitTypedefDecl() argument
600 if (D->isModulePrivate()) in VisitTypedefDecl()
603 QualType Ty = D->getTypeSourceInfo()->getType(); in VisitTypedefDecl()
604 Ty.print(Out, Policy, D->getName(), Indentation); in VisitTypedefDecl()
605 prettyPrintAttributes(D); in VisitTypedefDecl()
608 void DeclPrinter::VisitTypeAliasDecl(TypeAliasDecl *D) { in VisitTypeAliasDecl() argument
609 Out << "using " << *D; in VisitTypeAliasDecl()
610 prettyPrintAttributes(D); in VisitTypeAliasDecl()
611 Out << " = " << D->getTypeSourceInfo()->getType().getAsString(Policy); in VisitTypeAliasDecl()
614 void DeclPrinter::VisitEnumDecl(EnumDecl *D) { in VisitEnumDecl() argument
615 if (!Policy.SuppressSpecifiers && D->isModulePrivate()) in VisitEnumDecl()
618 if (D->isScoped()) { in VisitEnumDecl()
619 if (D->isScopedUsingClassTag()) in VisitEnumDecl()
625 prettyPrintAttributes(D); in VisitEnumDecl()
627 if (D->getDeclName()) in VisitEnumDecl()
628 Out << ' ' << D->getDeclName(); in VisitEnumDecl()
630 if (D->isFixed()) in VisitEnumDecl()
631 Out << " : " << D->getIntegerType().stream(Policy); in VisitEnumDecl()
633 if (D->isCompleteDefinition()) { in VisitEnumDecl()
635 VisitDeclContext(D); in VisitEnumDecl()
640 void DeclPrinter::VisitRecordDecl(RecordDecl *D) { in VisitRecordDecl() argument
641 if (!Policy.SuppressSpecifiers && D->isModulePrivate()) in VisitRecordDecl()
643 Out << D->getKindName(); in VisitRecordDecl()
645 prettyPrintAttributes(D); in VisitRecordDecl()
647 if (D->getIdentifier()) in VisitRecordDecl()
648 Out << ' ' << *D; in VisitRecordDecl()
650 if (D->isCompleteDefinition()) { in VisitRecordDecl()
652 VisitDeclContext(D); in VisitRecordDecl()
657 void DeclPrinter::VisitEnumConstantDecl(EnumConstantDecl *D) { in VisitEnumConstantDecl() argument
658 Out << *D; in VisitEnumConstantDecl()
659 prettyPrintAttributes(D); in VisitEnumConstantDecl()
660 if (Expr *Init = D->getInitExpr()) { in VisitEnumConstantDecl()
682 void DeclPrinter::VisitFunctionDecl(FunctionDecl *D) { in VisitFunctionDecl() argument
683 if (!D->getDescribedFunctionTemplate() && in VisitFunctionDecl()
684 !D->isFunctionTemplateSpecialization()) in VisitFunctionDecl()
685 prettyPrintPragmas(D); in VisitFunctionDecl()
687 if (D->isFunctionTemplateSpecialization()) in VisitFunctionDecl()
689 else if (!D->getDescribedFunctionTemplate()) { in VisitFunctionDecl()
690 for (unsigned I = 0, NumTemplateParams = D->getNumTemplateParameterLists(); in VisitFunctionDecl()
692 printTemplateParameters(D->getTemplateParameterList(I)); in VisitFunctionDecl()
698 prettyPrintAttributes(D, LSAS, AttrPrintLoc::Left); in VisitFunctionDecl()
711 CXXConstructorDecl *CDecl = dyn_cast<CXXConstructorDecl>(D); in VisitFunctionDecl()
712 CXXConversionDecl *ConversionDecl = dyn_cast<CXXConversionDecl>(D); in VisitFunctionDecl()
713 CXXDeductionGuideDecl *GuideDecl = dyn_cast<CXXDeductionGuideDecl>(D); in VisitFunctionDecl()
715 switch (D->getStorageClass()) { in VisitFunctionDecl()
724 if (D->isInlineSpecified()) Out << "inline "; in VisitFunctionDecl()
725 if (D->isVirtualAsWritten()) Out << "virtual "; in VisitFunctionDecl()
726 if (D->isModulePrivate()) Out << "__module_private__ "; in VisitFunctionDecl()
727 if (D->isConstexprSpecified() && !D->isExplicitlyDefaulted()) in VisitFunctionDecl()
729 if (D->isConsteval()) Out << "consteval "; in VisitFunctionDecl()
730 else if (D->isImmediateFunction()) in VisitFunctionDecl()
732 ExplicitSpecifier ExplicitSpec = ExplicitSpecifier::getFromDecl(D); in VisitFunctionDecl()
742 Proto += D->getQualifiedNameAsString(); in VisitFunctionDecl()
746 if (const NestedNameSpecifier *NS = D->getQualifier()) { in VisitFunctionDecl()
750 D->getNameInfo().printName(OS, Policy); in VisitFunctionDecl()
755 if (D->isFunctionTemplateSpecialization()) { in VisitFunctionDecl()
758 const auto *TArgAsWritten = D->getTemplateSpecializationArgsAsWritten(); in VisitFunctionDecl()
762 D->getTemplateSpecializationArgs()) in VisitFunctionDecl()
766 QualType Ty = D->getType(); in VisitFunctionDecl()
774 if (D->hasWrittenPrototype()) in VisitFunctionDecl()
781 for (unsigned i = 0, e = D->getNumParams(); i != e; ++i) { in VisitFunctionDecl()
783 ParamPrinter.VisitParmVarDecl(D->getParamDecl(i)); in VisitFunctionDecl()
787 if (D->getNumParams()) POut << ", "; in VisitFunctionDecl()
789 } else if (!D->getNumParams() && !Context.getLangOpts().CPlusPlus) { in VisitFunctionDecl()
794 } else if (D->doesThisDeclarationHaveABody() && !D->hasPrototype()) { in VisitFunctionDecl()
795 for (unsigned i = 0, e = D->getNumParams(); i != e; ++i) { in VisitFunctionDecl()
798 Proto += D->getParamDecl(i)->getNameAsString(); in VisitFunctionDecl()
851 } else if (!ConversionDecl && !isa<CXXDestructorDecl>(D)) { in VisitFunctionDecl()
863 if (Expr *TrailingRequiresClause = D->getTrailingRequiresClause()) { in VisitFunctionDecl()
872 prettyPrintAttributes(D, Out, AttrPrintLoc::Right); in VisitFunctionDecl()
874 if (D->isPureVirtual()) in VisitFunctionDecl()
876 else if (D->isDeletedAsWritten()) in VisitFunctionDecl()
878 else if (D->isExplicitlyDefaulted()) in VisitFunctionDecl()
880 else if (D->doesThisDeclarationHaveABody()) { in VisitFunctionDecl()
882 if (!D->hasPrototype() && D->getNumParams()) { in VisitFunctionDecl()
888 for (unsigned i = 0, e = D->getNumParams(); i != e; ++i) { in VisitFunctionDecl()
890 ParamPrinter.VisitParmVarDecl(D->getParamDecl(i)); in VisitFunctionDecl()
896 if (D->getBody()) in VisitFunctionDecl()
897 D->getBody()->printPrettyControlled(Out, nullptr, SubPolicy, Indentation, "\n", in VisitFunctionDecl()
900 if (!Policy.TerseOutput && isa<CXXConstructorDecl>(*D)) in VisitFunctionDecl()
906 void DeclPrinter::VisitFriendDecl(FriendDecl *D) { in VisitFriendDecl() argument
907 if (TypeSourceInfo *TSI = D->getFriendType()) { in VisitFriendDecl()
908 unsigned NumTPLists = D->getFriendTypeNumTemplateParameterLists(); in VisitFriendDecl()
910 printTemplateParameters(D->getFriendTypeTemplateParameterList(i)); in VisitFriendDecl()
915 dyn_cast<FunctionDecl>(D->getFriendDecl())) { in VisitFriendDecl()
920 dyn_cast<FunctionTemplateDecl>(D->getFriendDecl())) { in VisitFriendDecl()
925 dyn_cast<ClassTemplateDecl>(D->getFriendDecl())) { in VisitFriendDecl()
931 void DeclPrinter::VisitFieldDecl(FieldDecl *D) { in VisitFieldDecl() argument
933 if (!Policy.SuppressSpecifiers && D->isMutable()) in VisitFieldDecl()
935 if (!Policy.SuppressSpecifiers && D->isModulePrivate()) in VisitFieldDecl()
938 Out << D->getASTContext().getUnqualifiedObjCPointerType(D->getType()). in VisitFieldDecl()
939 stream(Policy, D->getName(), Indentation); in VisitFieldDecl()
941 if (D->isBitField()) { in VisitFieldDecl()
943 D->getBitWidth()->printPretty(Out, nullptr, Policy, Indentation, "\n", in VisitFieldDecl()
947 Expr *Init = D->getInClassInitializer(); in VisitFieldDecl()
949 if (D->getInClassInitStyle() == ICIS_ListInit) in VisitFieldDecl()
955 prettyPrintAttributes(D); in VisitFieldDecl()
958 void DeclPrinter::VisitLabelDecl(LabelDecl *D) { in VisitLabelDecl() argument
959 Out << *D << ":"; in VisitLabelDecl()
962 void DeclPrinter::VisitVarDecl(VarDecl *D) { in VisitVarDecl() argument
963 prettyPrintPragmas(D); in VisitVarDecl()
965 if (const auto *Param = dyn_cast<ParmVarDecl>(D); in VisitVarDecl()
973 prettyPrintAttributes(D, LeftSideStream, AttrPrintLoc::Left); in VisitVarDecl()
986 QualType T = D->getTypeSourceInfo() in VisitVarDecl()
987 ? D->getTypeSourceInfo()->getType() in VisitVarDecl()
988 : D->getASTContext().getUnqualifiedObjCPointerType(D->getType()); in VisitVarDecl()
991 StorageClass SC = D->getStorageClass(); in VisitVarDecl()
995 switch (D->getTSCSpec()) { in VisitVarDecl()
1009 if (D->isModulePrivate()) in VisitVarDecl()
1012 if (D->isConstexpr()) { in VisitVarDecl()
1020 Name = (isa<ParmVarDecl>(D) && Policy.CleanUglifiedParameters && in VisitVarDecl()
1021 D->getIdentifier()) in VisitVarDecl()
1022 ? D->getIdentifier()->deuglifiedName() in VisitVarDecl()
1023 : D->getName(); in VisitVarDecl()
1029 prettyPrintAttributes(D, Out, AttrPrintLoc::Right); in VisitVarDecl()
1031 Expr *Init = D->getInit(); in VisitVarDecl()
1034 if (D->isCXXForRangeDecl()) { in VisitVarDecl()
1039 if (D->getInitStyle() == VarDecl::CallInit && in VisitVarDecl()
1046 if ((D->getInitStyle() == VarDecl::CallInit) && !isa<ParenListExpr>(Init)) in VisitVarDecl()
1048 else if (D->getInitStyle() == VarDecl::CInit) { in VisitVarDecl()
1055 if ((D->getInitStyle() == VarDecl::CallInit) && !isa<ParenListExpr>(Init)) in VisitVarDecl()
1061 void DeclPrinter::VisitParmVarDecl(ParmVarDecl *D) { in VisitParmVarDecl() argument
1062 VisitVarDecl(D); in VisitParmVarDecl()
1065 void DeclPrinter::VisitFileScopeAsmDecl(FileScopeAsmDecl *D) { in VisitFileScopeAsmDecl() argument
1067 D->getAsmString()->printPretty(Out, nullptr, Policy, Indentation, "\n", in VisitFileScopeAsmDecl()
1072 void DeclPrinter::VisitTopLevelStmtDecl(TopLevelStmtDecl *D) { in VisitTopLevelStmtDecl() argument
1073 assert(D->getStmt()); in VisitTopLevelStmtDecl()
1074 D->getStmt()->printPretty(Out, nullptr, Policy, Indentation, "\n", &Context); in VisitTopLevelStmtDecl()
1077 void DeclPrinter::VisitImportDecl(ImportDecl *D) { in VisitImportDecl() argument
1078 Out << "@import " << D->getImportedModule()->getFullModuleName() in VisitImportDecl()
1082 void DeclPrinter::VisitStaticAssertDecl(StaticAssertDecl *D) { in VisitStaticAssertDecl() argument
1084 D->getAssertExpr()->printPretty(Out, nullptr, Policy, Indentation, "\n", in VisitStaticAssertDecl()
1086 if (Expr *E = D->getMessage()) { in VisitStaticAssertDecl()
1096 void DeclPrinter::VisitNamespaceDecl(NamespaceDecl *D) { in VisitNamespaceDecl() argument
1097 if (D->isInline()) in VisitNamespaceDecl()
1101 if (D->getDeclName()) in VisitNamespaceDecl()
1102 Out << D->getDeclName() << ' '; in VisitNamespaceDecl()
1105 VisitDeclContext(D); in VisitNamespaceDecl()
1109 void DeclPrinter::VisitUsingDirectiveDecl(UsingDirectiveDecl *D) { in VisitUsingDirectiveDecl() argument
1111 if (D->getQualifier()) in VisitUsingDirectiveDecl()
1112 D->getQualifier()->print(Out, Policy); in VisitUsingDirectiveDecl()
1113 Out << *D->getNominatedNamespaceAsWritten(); in VisitUsingDirectiveDecl()
1116 void DeclPrinter::VisitNamespaceAliasDecl(NamespaceAliasDecl *D) { in VisitNamespaceAliasDecl() argument
1117 Out << "namespace " << *D << " = "; in VisitNamespaceAliasDecl()
1118 if (D->getQualifier()) in VisitNamespaceAliasDecl()
1119 D->getQualifier()->print(Out, Policy); in VisitNamespaceAliasDecl()
1120 Out << *D->getAliasedNamespace(); in VisitNamespaceAliasDecl()
1123 void DeclPrinter::VisitEmptyDecl(EmptyDecl *D) { in VisitEmptyDecl() argument
1124 prettyPrintAttributes(D); in VisitEmptyDecl()
1127 void DeclPrinter::VisitCXXRecordDecl(CXXRecordDecl *D) { in VisitCXXRecordDecl() argument
1129 if (!Policy.SuppressSpecifiers && D->isModulePrivate()) in VisitCXXRecordDecl()
1131 Out << D->getKindName(); in VisitCXXRecordDecl()
1133 prettyPrintAttributes(D); in VisitCXXRecordDecl()
1135 if (D->getIdentifier()) { in VisitCXXRecordDecl()
1137 if (auto *NNS = D->getQualifier()) in VisitCXXRecordDecl()
1139 Out << *D; in VisitCXXRecordDecl()
1141 if (auto S = dyn_cast<ClassTemplateSpecializationDecl>(D)) { in VisitCXXRecordDecl()
1153 if (D->hasDefinition()) { in VisitCXXRecordDecl()
1154 if (D->hasAttr<FinalAttr>()) { in VisitCXXRecordDecl()
1159 if (D->isCompleteDefinition()) { in VisitCXXRecordDecl()
1161 if (D->getNumBases()) { in VisitCXXRecordDecl()
1163 for (CXXRecordDecl::base_class_iterator Base = D->bases_begin(), in VisitCXXRecordDecl()
1164 BaseEnd = D->bases_end(); Base != BaseEnd; ++Base) { in VisitCXXRecordDecl()
1165 if (Base != D->bases_begin()) in VisitCXXRecordDecl()
1189 VisitDeclContext(D); in VisitCXXRecordDecl()
1195 void DeclPrinter::VisitLinkageSpecDecl(LinkageSpecDecl *D) { in VisitLinkageSpecDecl() argument
1197 if (D->getLanguage() == LinkageSpecLanguageIDs::C) in VisitLinkageSpecDecl()
1200 assert(D->getLanguage() == LinkageSpecLanguageIDs::CXX && in VisitLinkageSpecDecl()
1206 if (D->hasBraces()) { in VisitLinkageSpecDecl()
1208 VisitDeclContext(D); in VisitLinkageSpecDecl()
1211 Visit(*D->decls_begin()); in VisitLinkageSpecDecl()
1280 void DeclPrinter::VisitTemplateDecl(const TemplateDecl *D) { in VisitTemplateDecl() argument
1281 printTemplateParameters(D->getTemplateParameters()); in VisitTemplateDecl()
1284 dyn_cast<TemplateTemplateParmDecl>(D)) { in VisitTemplateDecl()
1298 } else if (auto *TD = D->getTemplatedDecl()) in VisitTemplateDecl()
1300 else if (const auto *Concept = dyn_cast<ConceptDecl>(D)) { in VisitTemplateDecl()
1307 void DeclPrinter::VisitFunctionTemplateDecl(FunctionTemplateDecl *D) { in VisitFunctionTemplateDecl() argument
1308 prettyPrintPragmas(D->getTemplatedDecl()); in VisitFunctionTemplateDecl()
1310 if (const FunctionDecl *FD = D->getTemplatedDecl()) { in VisitFunctionTemplateDecl()
1315 VisitRedeclarableTemplateDecl(D); in VisitFunctionTemplateDecl()
1318 if (D->getTemplatedDecl()->hasAttr<OMPDeclareTargetDeclAttr>()) in VisitFunctionTemplateDecl()
1324 !isa<CXXDeductionGuideDecl>(D->getTemplatedDecl())) { in VisitFunctionTemplateDecl()
1325 FunctionDecl *PrevDecl = D->getTemplatedDecl(); in VisitFunctionTemplateDecl()
1329 for (auto *I : D->specializations()) in VisitFunctionTemplateDecl()
1340 void DeclPrinter::VisitClassTemplateDecl(ClassTemplateDecl *D) { in VisitClassTemplateDecl() argument
1341 VisitRedeclarableTemplateDecl(D); in VisitClassTemplateDecl()
1344 for (auto *I : D->specializations()) in VisitClassTemplateDecl()
1346 if (D->isThisDeclarationADefinition()) in VisitClassTemplateDecl()
1356 ClassTemplateSpecializationDecl *D) { in VisitClassTemplateSpecializationDecl() argument
1358 VisitCXXRecordDecl(D); in VisitClassTemplateSpecializationDecl()
1362 ClassTemplatePartialSpecializationDecl *D) { in VisitClassTemplatePartialSpecializationDecl() argument
1363 printTemplateParameters(D->getTemplateParameters()); in VisitClassTemplatePartialSpecializationDecl()
1364 VisitCXXRecordDecl(D); in VisitClassTemplatePartialSpecializationDecl()
1748 void DeclPrinter::VisitUsingDecl(UsingDecl *D) { in VisitUsingDecl() argument
1749 if (!D->isAccessDeclaration()) in VisitUsingDecl()
1751 if (D->hasTypename()) in VisitUsingDecl()
1753 D->getQualifier()->print(Out, Policy); in VisitUsingDecl()
1757 for (const auto *Shadow : D->shadows()) { in VisitUsingDecl()
1765 Out << *D; in VisitUsingDecl()
1768 void DeclPrinter::VisitUsingEnumDecl(UsingEnumDecl *D) { in VisitUsingEnumDecl() argument
1769 Out << "using enum " << D->getEnumDecl(); in VisitUsingEnumDecl()
1773 DeclPrinter::VisitUnresolvedUsingTypenameDecl(UnresolvedUsingTypenameDecl *D) { in VisitUnresolvedUsingTypenameDecl() argument
1775 D->getQualifier()->print(Out, Policy); in VisitUnresolvedUsingTypenameDecl()
1776 Out << D->getDeclName(); in VisitUnresolvedUsingTypenameDecl()
1779 void DeclPrinter::VisitUnresolvedUsingValueDecl(UnresolvedUsingValueDecl *D) { in VisitUnresolvedUsingValueDecl() argument
1780 if (!D->isAccessDeclaration()) in VisitUnresolvedUsingValueDecl()
1782 D->getQualifier()->print(Out, Policy); in VisitUnresolvedUsingValueDecl()
1783 Out << D->getDeclName(); in VisitUnresolvedUsingValueDecl()
1786 void DeclPrinter::VisitUsingShadowDecl(UsingShadowDecl *D) { in VisitUsingShadowDecl() argument
1790 void DeclPrinter::VisitOMPThreadPrivateDecl(OMPThreadPrivateDecl *D) { in VisitOMPThreadPrivateDecl() argument
1792 if (!D->varlist_empty()) { in VisitOMPThreadPrivateDecl()
1793 for (OMPThreadPrivateDecl::varlist_iterator I = D->varlist_begin(), in VisitOMPThreadPrivateDecl()
1794 E = D->varlist_end(); in VisitOMPThreadPrivateDecl()
1796 Out << (I == D->varlist_begin() ? '(' : ','); in VisitOMPThreadPrivateDecl()
1804 void DeclPrinter::VisitHLSLBufferDecl(HLSLBufferDecl *D) { in VisitHLSLBufferDecl() argument
1805 if (D->isCBuffer()) in VisitHLSLBufferDecl()
1810 Out << *D; in VisitHLSLBufferDecl()
1812 prettyPrintAttributes(D); in VisitHLSLBufferDecl()
1815 VisitDeclContext(D); in VisitHLSLBufferDecl()
1819 void DeclPrinter::VisitOMPAllocateDecl(OMPAllocateDecl *D) { in VisitOMPAllocateDecl() argument
1821 if (!D->varlist_empty()) { in VisitOMPAllocateDecl()
1822 for (OMPAllocateDecl::varlist_iterator I = D->varlist_begin(), in VisitOMPAllocateDecl()
1823 E = D->varlist_end(); in VisitOMPAllocateDecl()
1825 Out << (I == D->varlist_begin() ? '(' : ','); in VisitOMPAllocateDecl()
1831 if (!D->clauselist_empty()) { in VisitOMPAllocateDecl()
1833 for (OMPClause *C : D->clauselists()) { in VisitOMPAllocateDecl()
1840 void DeclPrinter::VisitOMPRequiresDecl(OMPRequiresDecl *D) { in VisitOMPRequiresDecl() argument
1842 if (!D->clauselist_empty()) { in VisitOMPRequiresDecl()
1844 for (auto I = D->clauselist_begin(), E = D->clauselist_end(); I != E; ++I) in VisitOMPRequiresDecl()
1849 void DeclPrinter::VisitOMPDeclareReductionDecl(OMPDeclareReductionDecl *D) { in VisitOMPDeclareReductionDecl() argument
1850 if (!D->isInvalidDecl()) { in VisitOMPDeclareReductionDecl()
1852 if (D->getDeclName().getNameKind() == DeclarationName::CXXOperatorName) { in VisitOMPDeclareReductionDecl()
1854 getOperatorSpelling(D->getDeclName().getCXXOverloadedOperator()); in VisitOMPDeclareReductionDecl()
1858 assert(D->getDeclName().isIdentifier()); in VisitOMPDeclareReductionDecl()
1859 D->printName(Out, Policy); in VisitOMPDeclareReductionDecl()
1862 D->getType().print(Out, Policy); in VisitOMPDeclareReductionDecl()
1864 D->getCombiner()->printPretty(Out, nullptr, Policy, 0, "\n", &Context); in VisitOMPDeclareReductionDecl()
1866 if (auto *Init = D->getInitializer()) { in VisitOMPDeclareReductionDecl()
1868 switch (D->getInitializerKind()) { in VisitOMPDeclareReductionDecl()
1879 if (D->getInitializerKind() == OMPDeclareReductionInitKind::Direct) in VisitOMPDeclareReductionDecl()
1886 void DeclPrinter::VisitOMPDeclareMapperDecl(OMPDeclareMapperDecl *D) { in VisitOMPDeclareMapperDecl() argument
1887 if (!D->isInvalidDecl()) { in VisitOMPDeclareMapperDecl()
1889 D->printName(Out, Policy); in VisitOMPDeclareMapperDecl()
1891 D->getType().print(Out, Policy); in VisitOMPDeclareMapperDecl()
1893 Out << D->getVarName(); in VisitOMPDeclareMapperDecl()
1895 if (!D->clauselist_empty()) { in VisitOMPDeclareMapperDecl()
1897 for (auto *C : D->clauselists()) { in VisitOMPDeclareMapperDecl()
1905 void DeclPrinter::VisitOMPCapturedExprDecl(OMPCapturedExprDecl *D) { in VisitOMPCapturedExprDecl() argument
1906 D->getInit()->printPretty(Out, nullptr, Policy, Indentation, "\n", &Context); in VisitOMPCapturedExprDecl()