Lines Matching refs:D
62 void VisitTranslationUnitDecl(TranslationUnitDecl *D);
63 void VisitTypedefDecl(TypedefDecl *D);
64 void VisitTypeAliasDecl(TypeAliasDecl *D);
65 void VisitEnumDecl(EnumDecl *D);
66 void VisitRecordDecl(RecordDecl *D);
67 void VisitEnumConstantDecl(EnumConstantDecl *D);
68 void VisitEmptyDecl(EmptyDecl *D);
69 void VisitFunctionDecl(FunctionDecl *D);
70 void VisitFriendDecl(FriendDecl *D);
71 void VisitFieldDecl(FieldDecl *D);
72 void VisitVarDecl(VarDecl *D);
73 void VisitLabelDecl(LabelDecl *D);
74 void VisitParmVarDecl(ParmVarDecl *D);
75 void VisitFileScopeAsmDecl(FileScopeAsmDecl *D);
76 void VisitTopLevelStmtDecl(TopLevelStmtDecl *D);
77 void VisitImportDecl(ImportDecl *D);
78 void VisitStaticAssertDecl(StaticAssertDecl *D);
79 void VisitNamespaceDecl(NamespaceDecl *D);
80 void VisitUsingDirectiveDecl(UsingDirectiveDecl *D);
81 void VisitNamespaceAliasDecl(NamespaceAliasDecl *D);
82 void VisitCXXRecordDecl(CXXRecordDecl *D);
83 void VisitLinkageSpecDecl(LinkageSpecDecl *D);
84 void VisitTemplateDecl(const TemplateDecl *D);
85 void VisitFunctionTemplateDecl(FunctionTemplateDecl *D);
86 void VisitClassTemplateDecl(ClassTemplateDecl *D);
88 ClassTemplateSpecializationDecl *D);
90 ClassTemplatePartialSpecializationDecl *D);
91 void VisitObjCMethodDecl(ObjCMethodDecl *D);
92 void VisitObjCImplementationDecl(ObjCImplementationDecl *D);
93 void VisitObjCInterfaceDecl(ObjCInterfaceDecl *D);
94 void VisitObjCProtocolDecl(ObjCProtocolDecl *D);
95 void VisitObjCCategoryImplDecl(ObjCCategoryImplDecl *D);
96 void VisitObjCCategoryDecl(ObjCCategoryDecl *D);
97 void VisitObjCCompatibleAliasDecl(ObjCCompatibleAliasDecl *D);
98 void VisitObjCPropertyDecl(ObjCPropertyDecl *D);
99 void VisitObjCPropertyImplDecl(ObjCPropertyImplDecl *D);
100 void VisitUnresolvedUsingTypenameDecl(UnresolvedUsingTypenameDecl *D);
101 void VisitUnresolvedUsingValueDecl(UnresolvedUsingValueDecl *D);
102 void VisitUsingDecl(UsingDecl *D);
103 void VisitUsingEnumDecl(UsingEnumDecl *D);
104 void VisitUsingShadowDecl(UsingShadowDecl *D);
105 void VisitOMPThreadPrivateDecl(OMPThreadPrivateDecl *D);
106 void VisitOMPAllocateDecl(OMPAllocateDecl *D);
107 void VisitOMPRequiresDecl(OMPRequiresDecl *D);
108 void VisitOMPDeclareReductionDecl(OMPDeclareReductionDecl *D);
109 void VisitOMPDeclareMapperDecl(OMPDeclareMapperDecl *D);
110 void VisitOMPCapturedExprDecl(OMPCapturedExprDecl *D);
113 void VisitHLSLBufferDecl(HLSLBufferDecl *D);
123 prettyPrintAttributes(const Decl *D,
125 void prettyPrintPragmas(Decl *D);
184 static QualType getDeclType(Decl* D) { in getDeclType() argument
185 if (TypedefNameDecl* TDD = dyn_cast<TypedefNameDecl>(D)) in getDeclType()
187 if (ValueDecl* VD = dyn_cast<ValueDecl>(D)) in getDeclType()
242 const Decl *D) { in getPosAsWritten() argument
244 SourceLocation DLoc = D->getLocation(); in getPosAsWritten()
245 const ASTContext &C = D->getASTContext(); in getPosAsWritten()
256 bool DeclPrinter::prettyPrintAttributes(const Decl *D, in prettyPrintAttributes() argument
260 if (D->hasAttrs()) { in prettyPrintAttributes()
261 const AttrVec &Attrs = D->getAttrs(); in prettyPrintAttributes()
274 AttrPosAsWritten APos = getPosAsWritten(A, D); in prettyPrintAttributes()
292 void DeclPrinter::prettyPrintPragmas(Decl *D) { in prettyPrintPragmas() argument
296 if (D->hasAttrs()) { in prettyPrintPragmas()
297 AttrVec &Attrs = D->getAttrs(); in prettyPrintPragmas()
428 for (DeclContext::decl_iterator D = DC->decls_begin(), DEnd = DC->decls_end(); in VisitDeclContext() local
429 D != DEnd; ++D) { in VisitDeclContext()
433 if (isa<ObjCIvarDecl>(*D)) in VisitDeclContext()
437 if (D->isImplicit()) in VisitDeclContext()
442 if (auto FD = dyn_cast<FunctionDecl>(*D)) in VisitDeclContext()
459 QualType CurDeclType = getDeclType(*D); in VisitDeclContext()
464 Decls.push_back(*D); in VisitDeclContext()
475 if (isa<TagDecl>(*D) && !cast<TagDecl>(*D)->isFreeStanding()) { in VisitDeclContext()
476 Decls.push_back(*D); in VisitDeclContext()
480 if (isa<AccessSpecDecl>(*D)) { in VisitDeclContext()
483 Print(D->getAccess()); in VisitDeclContext()
490 Visit(*D); in VisitDeclContext()
494 if (isa<OMPThreadPrivateDecl>(*D) || isa<OMPDeclareReductionDecl>(*D) || in VisitDeclContext()
495 isa<OMPDeclareMapperDecl>(*D) || isa<OMPRequiresDecl>(*D) || in VisitDeclContext()
496 isa<OMPAllocateDecl>(*D)) in VisitDeclContext()
498 else if (isa<ObjCMethodDecl>(*D) && cast<ObjCMethodDecl>(*D)->hasBody()) in VisitDeclContext()
500 else if (auto FD = dyn_cast<FunctionDecl>(*D)) { in VisitDeclContext()
505 } else if (auto TD = dyn_cast<FunctionTemplateDecl>(*D)) { in VisitDeclContext()
512 ObjCCategoryDecl, HLSLBufferDecl>(*D)) in VisitDeclContext()
514 else if (isa<EnumConstantDecl>(*D)) { in VisitDeclContext()
515 DeclContext::decl_iterator Next = D; in VisitDeclContext()
525 ((isa<FunctionDecl>(*D) && in VisitDeclContext()
526 cast<FunctionDecl>(*D)->doesThisDeclarationHaveABody()) || in VisitDeclContext()
527 (isa<FunctionTemplateDecl>(*D) && in VisitDeclContext()
528 cast<FunctionTemplateDecl>(*D)->getTemplatedDecl()->doesThisDeclarationHaveABody()))) in VisitDeclContext()
535 if (D->hasAttr<OMPDeclareTargetDeclAttr>()) in VisitDeclContext()
546 void DeclPrinter::VisitTranslationUnitDecl(TranslationUnitDecl *D) { in VisitTranslationUnitDecl() argument
547 VisitDeclContext(D, false); in VisitTranslationUnitDecl()
550 void DeclPrinter::VisitTypedefDecl(TypedefDecl *D) { in VisitTypedefDecl() argument
554 if (D->isModulePrivate()) in VisitTypedefDecl()
557 QualType Ty = D->getTypeSourceInfo()->getType(); in VisitTypedefDecl()
558 Ty.print(Out, Policy, D->getName(), Indentation); in VisitTypedefDecl()
559 prettyPrintAttributes(D); in VisitTypedefDecl()
562 void DeclPrinter::VisitTypeAliasDecl(TypeAliasDecl *D) { in VisitTypeAliasDecl() argument
563 Out << "using " << *D; in VisitTypeAliasDecl()
564 prettyPrintAttributes(D); in VisitTypeAliasDecl()
565 Out << " = " << D->getTypeSourceInfo()->getType().getAsString(Policy); in VisitTypeAliasDecl()
568 void DeclPrinter::VisitEnumDecl(EnumDecl *D) { in VisitEnumDecl() argument
569 if (!Policy.SuppressSpecifiers && D->isModulePrivate()) in VisitEnumDecl()
572 if (D->isScoped()) { in VisitEnumDecl()
573 if (D->isScopedUsingClassTag()) in VisitEnumDecl()
579 prettyPrintAttributes(D); in VisitEnumDecl()
581 if (D->getDeclName()) in VisitEnumDecl()
582 Out << ' ' << D->getDeclName(); in VisitEnumDecl()
584 if (D->isFixed()) in VisitEnumDecl()
585 Out << " : " << D->getIntegerType().stream(Policy); in VisitEnumDecl()
587 if (D->isCompleteDefinition()) { in VisitEnumDecl()
589 VisitDeclContext(D); in VisitEnumDecl()
594 void DeclPrinter::VisitRecordDecl(RecordDecl *D) { in VisitRecordDecl() argument
595 if (!Policy.SuppressSpecifiers && D->isModulePrivate()) in VisitRecordDecl()
597 Out << D->getKindName(); in VisitRecordDecl()
599 prettyPrintAttributes(D); in VisitRecordDecl()
601 if (D->getIdentifier()) in VisitRecordDecl()
602 Out << ' ' << *D; in VisitRecordDecl()
604 if (D->isCompleteDefinition()) { in VisitRecordDecl()
606 VisitDeclContext(D); in VisitRecordDecl()
611 void DeclPrinter::VisitEnumConstantDecl(EnumConstantDecl *D) { in VisitEnumConstantDecl() argument
612 Out << *D; in VisitEnumConstantDecl()
613 prettyPrintAttributes(D); in VisitEnumConstantDecl()
614 if (Expr *Init = D->getInitExpr()) { in VisitEnumConstantDecl()
646 void DeclPrinter::VisitFunctionDecl(FunctionDecl *D) { in VisitFunctionDecl() argument
647 if (!D->getDescribedFunctionTemplate() && in VisitFunctionDecl()
648 !D->isFunctionTemplateSpecialization()) { in VisitFunctionDecl()
649 prettyPrintPragmas(D); in VisitFunctionDecl()
650 prettyPrintAttributes(D, AttrPosAsWritten::Left); in VisitFunctionDecl()
653 if (D->isFunctionTemplateSpecialization()) in VisitFunctionDecl()
655 else if (!D->getDescribedFunctionTemplate()) { in VisitFunctionDecl()
656 for (unsigned I = 0, NumTemplateParams = D->getNumTemplateParameterLists(); in VisitFunctionDecl()
658 printTemplateParameters(D->getTemplateParameterList(I)); in VisitFunctionDecl()
661 CXXConstructorDecl *CDecl = dyn_cast<CXXConstructorDecl>(D); in VisitFunctionDecl()
662 CXXConversionDecl *ConversionDecl = dyn_cast<CXXConversionDecl>(D); in VisitFunctionDecl()
663 CXXDeductionGuideDecl *GuideDecl = dyn_cast<CXXDeductionGuideDecl>(D); in VisitFunctionDecl()
665 switch (D->getStorageClass()) { in VisitFunctionDecl()
674 if (D->isInlineSpecified()) Out << "inline "; in VisitFunctionDecl()
675 if (D->isVirtualAsWritten()) Out << "virtual "; in VisitFunctionDecl()
676 if (D->isModulePrivate()) Out << "__module_private__ "; in VisitFunctionDecl()
677 if (D->isConstexprSpecified() && !D->isExplicitlyDefaulted()) in VisitFunctionDecl()
679 if (D->isConsteval()) Out << "consteval "; in VisitFunctionDecl()
680 else if (D->isImmediateFunction()) in VisitFunctionDecl()
682 ExplicitSpecifier ExplicitSpec = ExplicitSpecifier::getFromDecl(D); in VisitFunctionDecl()
692 Proto += D->getQualifiedNameAsString(); in VisitFunctionDecl()
696 if (const NestedNameSpecifier *NS = D->getQualifier()) { in VisitFunctionDecl()
700 D->getNameInfo().printName(OS, Policy); in VisitFunctionDecl()
705 if (D->isFunctionTemplateSpecialization()) { in VisitFunctionDecl()
708 const auto *TArgAsWritten = D->getTemplateSpecializationArgsAsWritten(); in VisitFunctionDecl()
712 D->getTemplateSpecializationArgs()) in VisitFunctionDecl()
716 QualType Ty = D->getType(); in VisitFunctionDecl()
724 if (D->hasWrittenPrototype()) in VisitFunctionDecl()
731 for (unsigned i = 0, e = D->getNumParams(); i != e; ++i) { in VisitFunctionDecl()
733 ParamPrinter.VisitParmVarDecl(D->getParamDecl(i)); in VisitFunctionDecl()
737 if (D->getNumParams()) POut << ", "; in VisitFunctionDecl()
739 } else if (!D->getNumParams() && !Context.getLangOpts().CPlusPlus) { in VisitFunctionDecl()
744 } else if (D->doesThisDeclarationHaveABody() && !D->hasPrototype()) { in VisitFunctionDecl()
745 for (unsigned i = 0, e = D->getNumParams(); i != e; ++i) { in VisitFunctionDecl()
748 Proto += D->getParamDecl(i)->getNameAsString(); in VisitFunctionDecl()
801 } else if (!ConversionDecl && !isa<CXXDestructorDecl>(D)) { in VisitFunctionDecl()
817 if (Expr *TrailingRequiresClause = D->getTrailingRequiresClause()) { in VisitFunctionDecl()
826 prettyPrintAttributes(D, AttrPosAsWritten::Right); in VisitFunctionDecl()
828 if (D->isPureVirtual()) in VisitFunctionDecl()
830 else if (D->isDeletedAsWritten()) { in VisitFunctionDecl()
832 if (const StringLiteral *M = D->getDeletedMessage()) { in VisitFunctionDecl()
837 } else if (D->isExplicitlyDefaulted()) in VisitFunctionDecl()
839 else if (D->doesThisDeclarationHaveABody()) { in VisitFunctionDecl()
841 if (!D->hasPrototype() && D->getNumParams()) { in VisitFunctionDecl()
847 for (unsigned i = 0, e = D->getNumParams(); i != e; ++i) { in VisitFunctionDecl()
849 ParamPrinter.VisitParmVarDecl(D->getParamDecl(i)); in VisitFunctionDecl()
855 if (D->getBody()) in VisitFunctionDecl()
856 D->getBody()->printPrettyControlled(Out, nullptr, SubPolicy, Indentation, "\n", in VisitFunctionDecl()
859 if (!Policy.TerseOutput && isa<CXXConstructorDecl>(*D)) in VisitFunctionDecl()
865 void DeclPrinter::VisitFriendDecl(FriendDecl *D) { in VisitFriendDecl() argument
866 if (TypeSourceInfo *TSI = D->getFriendType()) { in VisitFriendDecl()
867 unsigned NumTPLists = D->getFriendTypeNumTemplateParameterLists(); in VisitFriendDecl()
869 printTemplateParameters(D->getFriendTypeTemplateParameterList(i)); in VisitFriendDecl()
874 dyn_cast<FunctionDecl>(D->getFriendDecl())) { in VisitFriendDecl()
879 dyn_cast<FunctionTemplateDecl>(D->getFriendDecl())) { in VisitFriendDecl()
884 dyn_cast<ClassTemplateDecl>(D->getFriendDecl())) { in VisitFriendDecl()
890 void DeclPrinter::VisitFieldDecl(FieldDecl *D) { in VisitFieldDecl() argument
892 if (!Policy.SuppressSpecifiers && D->isMutable()) in VisitFieldDecl()
894 if (!Policy.SuppressSpecifiers && D->isModulePrivate()) in VisitFieldDecl()
897 Out << D->getASTContext().getUnqualifiedObjCPointerType(D->getType()). in VisitFieldDecl()
898 stream(Policy, D->getName(), Indentation); in VisitFieldDecl()
900 if (D->isBitField()) { in VisitFieldDecl()
902 D->getBitWidth()->printPretty(Out, nullptr, Policy, Indentation, "\n", in VisitFieldDecl()
906 Expr *Init = D->getInClassInitializer(); in VisitFieldDecl()
908 if (D->getInClassInitStyle() == ICIS_ListInit) in VisitFieldDecl()
914 prettyPrintAttributes(D); in VisitFieldDecl()
917 void DeclPrinter::VisitLabelDecl(LabelDecl *D) { in VisitLabelDecl() argument
918 Out << *D << ":"; in VisitLabelDecl()
921 void DeclPrinter::VisitVarDecl(VarDecl *D) { in VisitVarDecl() argument
922 prettyPrintPragmas(D); in VisitVarDecl()
924 prettyPrintAttributes(D, AttrPosAsWritten::Left); in VisitVarDecl()
926 if (const auto *Param = dyn_cast<ParmVarDecl>(D); in VisitVarDecl()
930 QualType T = D->getTypeSourceInfo() in VisitVarDecl()
931 ? D->getTypeSourceInfo()->getType() in VisitVarDecl()
932 : D->getASTContext().getUnqualifiedObjCPointerType(D->getType()); in VisitVarDecl()
935 StorageClass SC = D->getStorageClass(); in VisitVarDecl()
939 switch (D->getTSCSpec()) { in VisitVarDecl()
953 if (D->isModulePrivate()) in VisitVarDecl()
956 if (D->isConstexpr()) { in VisitVarDecl()
966 printDeclType(T, (isa<ParmVarDecl>(D) && Policy.CleanUglifiedParameters && in VisitVarDecl()
967 D->getIdentifier()) in VisitVarDecl()
968 ? D->getIdentifier()->deuglifiedName() in VisitVarDecl()
969 : D->getName()); in VisitVarDecl()
971 prettyPrintAttributes(D, AttrPosAsWritten::Right); in VisitVarDecl()
973 Expr *Init = D->getInit(); in VisitVarDecl()
976 if (D->isCXXForRangeDecl()) { in VisitVarDecl()
981 if (D->getInitStyle() == VarDecl::CallInit && in VisitVarDecl()
988 if ((D->getInitStyle() == VarDecl::CallInit) && !isa<ParenListExpr>(Init)) in VisitVarDecl()
990 else if (D->getInitStyle() == VarDecl::CInit) { in VisitVarDecl()
997 if ((D->getInitStyle() == VarDecl::CallInit) && !isa<ParenListExpr>(Init)) in VisitVarDecl()
1003 void DeclPrinter::VisitParmVarDecl(ParmVarDecl *D) { in VisitParmVarDecl() argument
1004 VisitVarDecl(D); in VisitParmVarDecl()
1007 void DeclPrinter::VisitFileScopeAsmDecl(FileScopeAsmDecl *D) { in VisitFileScopeAsmDecl() argument
1009 D->getAsmString()->printPretty(Out, nullptr, Policy, Indentation, "\n", in VisitFileScopeAsmDecl()
1014 void DeclPrinter::VisitTopLevelStmtDecl(TopLevelStmtDecl *D) { in VisitTopLevelStmtDecl() argument
1015 assert(D->getStmt()); in VisitTopLevelStmtDecl()
1016 D->getStmt()->printPretty(Out, nullptr, Policy, Indentation, "\n", &Context); in VisitTopLevelStmtDecl()
1019 void DeclPrinter::VisitImportDecl(ImportDecl *D) { in VisitImportDecl() argument
1020 Out << "@import " << D->getImportedModule()->getFullModuleName() in VisitImportDecl()
1024 void DeclPrinter::VisitStaticAssertDecl(StaticAssertDecl *D) { in VisitStaticAssertDecl() argument
1026 D->getAssertExpr()->printPretty(Out, nullptr, Policy, Indentation, "\n", in VisitStaticAssertDecl()
1028 if (Expr *E = D->getMessage()) { in VisitStaticAssertDecl()
1038 void DeclPrinter::VisitNamespaceDecl(NamespaceDecl *D) { in VisitNamespaceDecl() argument
1039 if (D->isInline()) in VisitNamespaceDecl()
1043 if (D->getDeclName()) in VisitNamespaceDecl()
1044 Out << D->getDeclName() << ' '; in VisitNamespaceDecl()
1047 VisitDeclContext(D); in VisitNamespaceDecl()
1051 void DeclPrinter::VisitUsingDirectiveDecl(UsingDirectiveDecl *D) { in VisitUsingDirectiveDecl() argument
1053 if (D->getQualifier()) in VisitUsingDirectiveDecl()
1054 D->getQualifier()->print(Out, Policy); in VisitUsingDirectiveDecl()
1055 Out << *D->getNominatedNamespaceAsWritten(); in VisitUsingDirectiveDecl()
1058 void DeclPrinter::VisitNamespaceAliasDecl(NamespaceAliasDecl *D) { in VisitNamespaceAliasDecl() argument
1059 Out << "namespace " << *D << " = "; in VisitNamespaceAliasDecl()
1060 if (D->getQualifier()) in VisitNamespaceAliasDecl()
1061 D->getQualifier()->print(Out, Policy); in VisitNamespaceAliasDecl()
1062 Out << *D->getAliasedNamespace(); in VisitNamespaceAliasDecl()
1065 void DeclPrinter::VisitEmptyDecl(EmptyDecl *D) { in VisitEmptyDecl() argument
1066 prettyPrintAttributes(D); in VisitEmptyDecl()
1069 void DeclPrinter::VisitCXXRecordDecl(CXXRecordDecl *D) { in VisitCXXRecordDecl() argument
1071 if (!Policy.SuppressSpecifiers && D->isModulePrivate()) in VisitCXXRecordDecl()
1074 Out << D->getKindName() << ' '; in VisitCXXRecordDecl()
1078 if (prettyPrintAttributes(D, AttrPosAsWritten::Left)) in VisitCXXRecordDecl()
1081 if (D->getIdentifier()) { in VisitCXXRecordDecl()
1082 if (auto *NNS = D->getQualifier()) in VisitCXXRecordDecl()
1084 Out << *D; in VisitCXXRecordDecl()
1086 if (auto *S = dyn_cast<ClassTemplateSpecializationDecl>(D)) { in VisitCXXRecordDecl()
1098 prettyPrintAttributes(D, AttrPosAsWritten::Right); in VisitCXXRecordDecl()
1100 if (D->isCompleteDefinition()) { in VisitCXXRecordDecl()
1103 if (D->getNumBases()) { in VisitCXXRecordDecl()
1105 for (CXXRecordDecl::base_class_iterator Base = D->bases_begin(), in VisitCXXRecordDecl()
1106 BaseEnd = D->bases_end(); Base != BaseEnd; ++Base) { in VisitCXXRecordDecl()
1107 if (Base != D->bases_begin()) in VisitCXXRecordDecl()
1132 VisitDeclContext(D); in VisitCXXRecordDecl()
1138 void DeclPrinter::VisitLinkageSpecDecl(LinkageSpecDecl *D) { in VisitLinkageSpecDecl() argument
1140 if (D->getLanguage() == LinkageSpecLanguageIDs::C) in VisitLinkageSpecDecl()
1143 assert(D->getLanguage() == LinkageSpecLanguageIDs::CXX && in VisitLinkageSpecDecl()
1149 if (D->hasBraces()) { in VisitLinkageSpecDecl()
1151 VisitDeclContext(D); in VisitLinkageSpecDecl()
1154 Visit(*D->decls_begin()); in VisitLinkageSpecDecl()
1234 void DeclPrinter::VisitTemplateDecl(const TemplateDecl *D) { in VisitTemplateDecl() argument
1235 printTemplateParameters(D->getTemplateParameters()); in VisitTemplateDecl()
1238 dyn_cast<TemplateTemplateParmDecl>(D)) { in VisitTemplateDecl()
1255 } else if (auto *TD = D->getTemplatedDecl()) in VisitTemplateDecl()
1257 else if (const auto *Concept = dyn_cast<ConceptDecl>(D)) { in VisitTemplateDecl()
1264 void DeclPrinter::VisitFunctionTemplateDecl(FunctionTemplateDecl *D) { in VisitFunctionTemplateDecl() argument
1265 prettyPrintPragmas(D->getTemplatedDecl()); in VisitFunctionTemplateDecl()
1267 if (const FunctionDecl *FD = D->getTemplatedDecl()) { in VisitFunctionTemplateDecl()
1272 VisitRedeclarableTemplateDecl(D); in VisitFunctionTemplateDecl()
1275 if (D->getTemplatedDecl()->hasAttr<OMPDeclareTargetDeclAttr>()) in VisitFunctionTemplateDecl()
1281 !isa<CXXDeductionGuideDecl>(D->getTemplatedDecl())) { in VisitFunctionTemplateDecl()
1282 FunctionDecl *PrevDecl = D->getTemplatedDecl(); in VisitFunctionTemplateDecl()
1286 for (auto *I : D->specializations()) in VisitFunctionTemplateDecl()
1297 void DeclPrinter::VisitClassTemplateDecl(ClassTemplateDecl *D) { in VisitClassTemplateDecl() argument
1298 VisitRedeclarableTemplateDecl(D); in VisitClassTemplateDecl()
1301 for (auto *I : D->specializations()) in VisitClassTemplateDecl()
1303 if (D->isThisDeclarationADefinition()) in VisitClassTemplateDecl()
1313 ClassTemplateSpecializationDecl *D) { in VisitClassTemplateSpecializationDecl() argument
1315 VisitCXXRecordDecl(D); in VisitClassTemplateSpecializationDecl()
1319 ClassTemplatePartialSpecializationDecl *D) { in VisitClassTemplatePartialSpecializationDecl() argument
1320 printTemplateParameters(D->getTemplateParameters()); in VisitClassTemplatePartialSpecializationDecl()
1321 VisitCXXRecordDecl(D); in VisitClassTemplatePartialSpecializationDecl()
1710 void DeclPrinter::VisitUsingDecl(UsingDecl *D) { in VisitUsingDecl() argument
1711 if (!D->isAccessDeclaration()) in VisitUsingDecl()
1713 if (D->hasTypename()) in VisitUsingDecl()
1715 D->getQualifier()->print(Out, Policy); in VisitUsingDecl()
1719 for (const auto *Shadow : D->shadows()) { in VisitUsingDecl()
1727 Out << *D; in VisitUsingDecl()
1730 void DeclPrinter::VisitUsingEnumDecl(UsingEnumDecl *D) { in VisitUsingEnumDecl() argument
1731 Out << "using enum " << D->getEnumDecl(); in VisitUsingEnumDecl()
1735 DeclPrinter::VisitUnresolvedUsingTypenameDecl(UnresolvedUsingTypenameDecl *D) { in VisitUnresolvedUsingTypenameDecl() argument
1737 D->getQualifier()->print(Out, Policy); in VisitUnresolvedUsingTypenameDecl()
1738 Out << D->getDeclName(); in VisitUnresolvedUsingTypenameDecl()
1741 void DeclPrinter::VisitUnresolvedUsingValueDecl(UnresolvedUsingValueDecl *D) { in VisitUnresolvedUsingValueDecl() argument
1742 if (!D->isAccessDeclaration()) in VisitUnresolvedUsingValueDecl()
1744 D->getQualifier()->print(Out, Policy); in VisitUnresolvedUsingValueDecl()
1745 Out << D->getDeclName(); in VisitUnresolvedUsingValueDecl()
1748 void DeclPrinter::VisitUsingShadowDecl(UsingShadowDecl *D) { in VisitUsingShadowDecl() argument
1752 void DeclPrinter::VisitOMPThreadPrivateDecl(OMPThreadPrivateDecl *D) { in VisitOMPThreadPrivateDecl() argument
1754 if (!D->varlist_empty()) { in VisitOMPThreadPrivateDecl()
1755 for (OMPThreadPrivateDecl::varlist_iterator I = D->varlist_begin(), in VisitOMPThreadPrivateDecl()
1756 E = D->varlist_end(); in VisitOMPThreadPrivateDecl()
1758 Out << (I == D->varlist_begin() ? '(' : ','); in VisitOMPThreadPrivateDecl()
1766 void DeclPrinter::VisitHLSLBufferDecl(HLSLBufferDecl *D) { in VisitHLSLBufferDecl() argument
1767 if (D->isCBuffer()) in VisitHLSLBufferDecl()
1772 Out << *D; in VisitHLSLBufferDecl()
1774 prettyPrintAttributes(D); in VisitHLSLBufferDecl()
1777 VisitDeclContext(D); in VisitHLSLBufferDecl()
1781 void DeclPrinter::VisitOMPAllocateDecl(OMPAllocateDecl *D) { in VisitOMPAllocateDecl() argument
1783 if (!D->varlist_empty()) { in VisitOMPAllocateDecl()
1784 for (OMPAllocateDecl::varlist_iterator I = D->varlist_begin(), in VisitOMPAllocateDecl()
1785 E = D->varlist_end(); in VisitOMPAllocateDecl()
1787 Out << (I == D->varlist_begin() ? '(' : ','); in VisitOMPAllocateDecl()
1793 if (!D->clauselist_empty()) { in VisitOMPAllocateDecl()
1795 for (OMPClause *C : D->clauselists()) { in VisitOMPAllocateDecl()
1802 void DeclPrinter::VisitOMPRequiresDecl(OMPRequiresDecl *D) { in VisitOMPRequiresDecl() argument
1804 if (!D->clauselist_empty()) { in VisitOMPRequiresDecl()
1806 for (auto I = D->clauselist_begin(), E = D->clauselist_end(); I != E; ++I) in VisitOMPRequiresDecl()
1811 void DeclPrinter::VisitOMPDeclareReductionDecl(OMPDeclareReductionDecl *D) { in VisitOMPDeclareReductionDecl() argument
1812 if (!D->isInvalidDecl()) { in VisitOMPDeclareReductionDecl()
1814 if (D->getDeclName().getNameKind() == DeclarationName::CXXOperatorName) { in VisitOMPDeclareReductionDecl()
1816 getOperatorSpelling(D->getDeclName().getCXXOverloadedOperator()); in VisitOMPDeclareReductionDecl()
1820 assert(D->getDeclName().isIdentifier()); in VisitOMPDeclareReductionDecl()
1821 D->printName(Out, Policy); in VisitOMPDeclareReductionDecl()
1824 D->getType().print(Out, Policy); in VisitOMPDeclareReductionDecl()
1826 D->getCombiner()->printPretty(Out, nullptr, Policy, 0, "\n", &Context); in VisitOMPDeclareReductionDecl()
1828 if (auto *Init = D->getInitializer()) { in VisitOMPDeclareReductionDecl()
1830 switch (D->getInitializerKind()) { in VisitOMPDeclareReductionDecl()
1841 if (D->getInitializerKind() == OMPDeclareReductionInitKind::Direct) in VisitOMPDeclareReductionDecl()
1848 void DeclPrinter::VisitOMPDeclareMapperDecl(OMPDeclareMapperDecl *D) { in VisitOMPDeclareMapperDecl() argument
1849 if (!D->isInvalidDecl()) { in VisitOMPDeclareMapperDecl()
1851 D->printName(Out, Policy); in VisitOMPDeclareMapperDecl()
1853 D->getType().print(Out, Policy); in VisitOMPDeclareMapperDecl()
1855 Out << D->getVarName(); in VisitOMPDeclareMapperDecl()
1857 if (!D->clauselist_empty()) { in VisitOMPDeclareMapperDecl()
1859 for (auto *C : D->clauselists()) { in VisitOMPDeclareMapperDecl()
1867 void DeclPrinter::VisitOMPCapturedExprDecl(OMPCapturedExprDecl *D) { in VisitOMPCapturedExprDecl() argument
1868 D->getInit()->printPretty(Out, nullptr, Policy, Indentation, "\n", &Context); in VisitOMPCapturedExprDecl()