Lines Matching defs:ASTDumper
1 //===--- ASTDumper.cpp - Dumping implementation for ASTs ------------------===//
30 // ASTDumper Visitor
91 class ASTDumper
92 : public ConstDeclVisitor<ASTDumper>, public ConstStmtVisitor<ASTDumper>,
93 public ConstCommentVisitor<ASTDumper> {
123 ASTDumper &Dumper;
127 IndentScope(ASTDumper &Dumper) : Dumper(Dumper) {
139 ASTDumper &Dumper;
141 ColorScope(ASTDumper &Dumper, TerminalColor Color)
153 ASTDumper &Dumper;
158 ChildDumper(ASTDumper &Dumper) : Dumper(Dumper), Prev(nullptr) {}
185 ASTDumper(raw_ostream &OS, const CommandTraits *Traits,
191 ASTDumper(raw_ostream &OS, const CommandTraits *Traits,
197 ~ASTDumper() {
392 void ASTDumper::indent() {
421 void ASTDumper::unindent() {
427 void ASTDumper::lastChild() {
434 bool ASTDumper::hasMoreChildren() {
438 void ASTDumper::setMoreChildren(bool Value) {
442 void ASTDumper::dumpPointer(const void *Ptr) {
447 void ASTDumper::dumpLocation(SourceLocation Loc) {
477 void ASTDumper::dumpSourceRange(SourceRange R) {
494 void ASTDumper::dumpBareType(QualType T) {
508 void ASTDumper::dumpType(QualType T) {
513 void ASTDumper::dumpBareDeclRef(const Decl *D) {
529 void ASTDumper::dumpDeclRef(const Decl *D, const char *Label) {
539 void ASTDumper::dumpName(const NamedDecl *ND) {
546 bool ASTDumper::hasNodes(const DeclContext *DC) {
554 void ASTDumper::dumpDeclContext(const DeclContext *DC) {
572 void ASTDumper::dumpLookups(const DeclContext *DC) {
619 void ASTDumper::dumpAttr(const Attr *A) {
673 void ASTDumper::dumpAccessSpecifier(AccessSpecifier AS) {
689 void ASTDumper::dumpCXXCtorInitializer(const CXXCtorInitializer *Init) {
701 void ASTDumper::dumpTemplateParameters(const TemplateParameterList *TPL) {
710 void ASTDumper::dumpTemplateArgumentListInfo(
719 void ASTDumper::dumpTemplateArgumentLoc(const TemplateArgumentLoc &A) {
723 void ASTDumper::dumpTemplateArgumentList(const TemplateArgumentList &TAL) {
728 void ASTDumper::dumpTemplateArgument(const TemplateArgument &A, SourceRange R) {
783 void ASTDumper::dumpDecl(const Decl *D) {
825 ConstDeclVisitor<ASTDumper>::Visit(D);
844 void ASTDumper::VisitLabelDecl(const LabelDecl *D) {
848 void ASTDumper::VisitTypedefDecl(const TypedefDecl *D) {
855 void ASTDumper::VisitEnumDecl(const EnumDecl *D) {
869 void ASTDumper::VisitRecordDecl(const RecordDecl *D) {
878 void ASTDumper::VisitEnumConstantDecl(const EnumConstantDecl *D) {
887 void ASTDumper::VisitIndirectFieldDecl(const IndirectFieldDecl *D) {
896 void ASTDumper::VisitFunctionDecl(const FunctionDecl *D) {
986 void ASTDumper::VisitFieldDecl(const FieldDecl *D) {
1011 void ASTDumper::VisitVarDecl(const VarDecl *D) {
1032 void ASTDumper::VisitFileScopeAsmDecl(const FileScopeAsmDecl *D) {
1037 void ASTDumper::VisitImportDecl(const ImportDecl *D) {
1045 void ASTDumper::VisitNamespaceDecl(const NamespaceDecl *D) {
1053 void ASTDumper::VisitUsingDirectiveDecl(const UsingDirectiveDecl *D) {
1058 void ASTDumper::VisitNamespaceAliasDecl(const NamespaceAliasDecl *D) {
1063 void ASTDumper::VisitTypeAliasDecl(const TypeAliasDecl *D) {
1068 void ASTDumper::VisitTypeAliasTemplateDecl(const TypeAliasTemplateDecl *D) {
1074 void ASTDumper::VisitCXXRecordDecl(const CXXRecordDecl *D) {
1090 void ASTDumper::VisitStaticAssertDecl(const StaticAssertDecl *D) {
1097 void ASTDumper::VisitTemplateDeclSpecialization(ChildDumper &Children,
1137 void ASTDumper::VisitTemplateDecl(const TemplateDecl *D,
1150 void ASTDumper::VisitFunctionTemplateDecl(const FunctionTemplateDecl *D) {
1157 void ASTDumper::VisitClassTemplateDecl(const ClassTemplateDecl *D) {
1161 void ASTDumper::VisitClassTemplateSpecializationDecl(
1167 void ASTDumper::VisitClassTemplatePartialSpecializationDecl(
1173 void ASTDumper::VisitClassScopeFunctionSpecializationDecl(
1180 void ASTDumper::VisitVarTemplateDecl(const VarTemplateDecl *D) {
1184 void ASTDumper::VisitVarTemplateSpecializationDecl(
1190 void ASTDumper::VisitVarTemplatePartialSpecializationDecl(
1196 void ASTDumper::VisitTemplateTypeParmDecl(const TemplateTypeParmDecl *D) {
1210 void ASTDumper::VisitNonTypeTemplateParmDecl(const NonTypeTemplateParmDecl *D) {
1221 void ASTDumper::VisitTemplateTemplateParmDecl(
1233 void ASTDumper::VisitUsingDecl(const UsingDecl *D) {
1239 void ASTDumper::VisitUnresolvedUsingTypenameDecl(
1246 void ASTDumper::VisitUnresolvedUsingValueDecl(const UnresolvedUsingValueDecl *D) {
1253 void ASTDumper::VisitUsingShadowDecl(const UsingShadowDecl *D) {
1258 void ASTDumper::VisitLinkageSpecDecl(const LinkageSpecDecl *D) {
1265 void ASTDumper::VisitAccessSpecDecl(const AccessSpecDecl *D) {
1270 void ASTDumper::VisitFriendDecl(const FriendDecl *D) {
1282 void ASTDumper::VisitObjCIvarDecl(const ObjCIvarDecl *D) {
1307 void ASTDumper::VisitObjCMethodDecl(const ObjCMethodDecl *D) {
1347 void ASTDumper::VisitObjCCategoryDecl(const ObjCCategoryDecl *D) {
1362 void ASTDumper::VisitObjCCategoryImplDecl(const ObjCCategoryImplDecl *D) {
1369 void ASTDumper::VisitObjCProtocolDecl(const ObjCProtocolDecl *D) {
1377 void ASTDumper::VisitObjCInterfaceDecl(const ObjCInterfaceDecl *D) {
1387 void ASTDumper::VisitObjCImplementationDecl(const ObjCImplementationDecl *D) {
1402 void ASTDumper::VisitObjCCompatibleAliasDecl(const ObjCCompatibleAliasDecl *D) {
1408 void ASTDumper::VisitObjCPropertyDecl(const ObjCPropertyDecl *D) {
1451 void ASTDumper::VisitObjCPropertyImplDecl(const ObjCPropertyImplDecl *D) {
1462 void ASTDumper::VisitBlockDecl(const BlockDecl *D) {
1497 void ASTDumper::dumpStmt(const Stmt *S) {
1512 ConstStmtVisitor<ASTDumper>::Visit(S);
1523 void ASTDumper::VisitStmt(const Stmt *Node) {
1532 void ASTDumper::VisitDeclStmt(const DeclStmt *Node) {
1543 void ASTDumper::VisitAttributedStmt(const AttributedStmt *Node) {
1554 void ASTDumper::VisitLabelStmt(const LabelStmt *Node) {
1559 void ASTDumper::VisitGotoStmt(const GotoStmt *Node) {
1565 void ASTDumper::VisitCXXCatchStmt(const CXXCatchStmt *Node) {
1574 void ASTDumper::VisitExpr(const Expr *Node) {
1638 void ASTDumper
1649 void ASTDumper::VisitDeclRefExpr(const DeclRefExpr *Node) {
1661 void ASTDumper::VisitUnresolvedLookupExpr(const UnresolvedLookupExpr *Node) {
1676 void ASTDumper::VisitObjCIvarRefExpr(const ObjCIvarRefExpr *Node) {
1689 void ASTDumper::VisitPredefinedExpr(const PredefinedExpr *Node) {
1702 void ASTDumper::VisitCharacterLiteral(const CharacterLiteral *Node) {
1708 void ASTDumper::VisitIntegerLiteral(const IntegerLiteral *Node) {
1716 void ASTDumper::VisitFloatingLiteral(const FloatingLiteral *Node) {
1722 void ASTDumper::VisitStringLiteral(const StringLiteral *Str) {
1729 void ASTDumper::VisitInitListExpr(const InitListExpr *ILE) {
1745 void ASTDumper::VisitUnaryOperator(const UnaryOperator *Node) {
1751 void ASTDumper::VisitUnaryExprOrTypeTraitExpr(
1769 void ASTDumper::VisitMemberExpr(const MemberExpr *Node) {
1775 void ASTDumper::VisitExtVectorElementExpr(const ExtVectorElementExpr *Node) {
1780 void ASTDumper::VisitBinaryOperator(const BinaryOperator *Node) {
1785 void ASTDumper::VisitCompoundAssignOperator(
1795 void ASTDumper::VisitBlockExpr(const BlockExpr *Node) {
1800 void ASTDumper::VisitOpaqueValueExpr(const OpaqueValueExpr *Node) {
1811 void ASTDumper::VisitAddrLabelExpr(const AddrLabelExpr *Node) {
1821 void ASTDumper::VisitCXXNamedCastExpr(const CXXNamedCastExpr *Node) {
1830 void ASTDumper::VisitCXXBoolLiteralExpr(const CXXBoolLiteralExpr *Node) {
1835 void ASTDumper::VisitCXXThisExpr(const CXXThisExpr *Node) {
1840 void ASTDumper::VisitCXXFunctionalCastExpr(const CXXFunctionalCastExpr *Node) {
1846 void ASTDumper::VisitCXXConstructExpr(const CXXConstructExpr *Node) {
1856 void ASTDumper::VisitCXXBindTemporaryExpr(const CXXBindTemporaryExpr *Node) {
1863 ASTDumper::VisitMaterializeTemporaryExpr(const MaterializeTemporaryExpr *Node) {
1871 void ASTDumper::VisitExprWithCleanups(const ExprWithCleanups *Node) {
1877 void ASTDumper::dumpCXXTemporary(const CXXTemporary *Temporary) {
1887 void ASTDumper::VisitObjCMessageExpr(const ObjCMessageExpr *Node) {
1910 void ASTDumper::VisitObjCBoxedExpr(const ObjCBoxedExpr *Node) {
1916 void ASTDumper::VisitObjCAtCatchStmt(const ObjCAtCatchStmt *Node) {
1924 void ASTDumper::VisitObjCEncodeExpr(const ObjCEncodeExpr *Node) {
1929 void ASTDumper::VisitObjCSelectorExpr(const ObjCSelectorExpr *Node) {
1936 void ASTDumper::VisitObjCProtocolExpr(const ObjCProtocolExpr *Node) {
1942 void ASTDumper::VisitObjCPropertyRefExpr(const ObjCPropertyRefExpr *Node) {
1973 void ASTDumper::VisitObjCSubscriptRefExpr(const ObjCSubscriptRefExpr *Node) {
1994 void ASTDumper::VisitObjCBoolLiteralExpr(const ObjCBoolLiteralExpr *Node) {
2003 const char *ASTDumper::getCommandName(unsigned CommandID) {
2012 void ASTDumper::dumpFullComment(const FullComment *C) {
2021 void ASTDumper::dumpComment(const Comment *C) {
2036 ConstCommentVisitor<ASTDumper>::visit(C);
2045 void ASTDumper::visitTextComment(const TextComment *C) {
2049 void ASTDumper::visitInlineCommandComment(const InlineCommandComment *C) {
2070 void ASTDumper::visitHTMLStartTagComment(const HTMLStartTagComment *C) {
2083 void ASTDumper::visitHTMLEndTagComment(const HTMLEndTagComment *C) {
2087 void ASTDumper::visitBlockCommandComment(const BlockCommandComment *C) {
2093 void ASTDumper::visitParamCommandComment(const ParamCommandComment *C) {
2112 void ASTDumper::visitTParamCommandComment(const TParamCommandComment *C) {
2131 void ASTDumper::visitVerbatimBlockComment(const VerbatimBlockComment *C) {
2136 void ASTDumper::visitVerbatimBlockLineComment(
2141 void ASTDumper::visitVerbatimLineComment(const VerbatimLineComment *C) {
2152 ASTDumper P(OS, &getASTContext().getCommentCommandTraits(),
2158 ASTDumper P(llvm::errs(), &getASTContext().getCommentCommandTraits(),
2172 ASTDumper P(OS, &Ctx.getCommentCommandTraits(), &Ctx.getSourceManager());
2185 ASTDumper P(OS, nullptr, &SM);
2190 ASTDumper P(llvm::errs(), nullptr, nullptr);
2195 ASTDumper P(llvm::errs(), nullptr, nullptr, /*ShowColors*/true);
2215 ASTDumper D(OS, Traits, SM);
2221 ASTDumper D(llvm::errs(), nullptr, nullptr, /*ShowColors*/true);