consumer.h (614B)
1 #include "visitor.h" 2 3 #include <clang/AST/ASTConsumer.h> 4 #include <clang/Rewrite/Core/Rewriter.h> 5 6 7 class RewriteASTConsumer : public clang::ASTConsumer 8 { 9 RewriteASTVisitor Visitor; 10 11 public: 12 explicit RewriteASTConsumer(clang::Rewriter &R) : 13 Visitor(R) {} 14 15 // Override the method that gets called for each parsed top-level 16 // declaration. 17 virtual bool HandleTopLevelDecl(clang::DeclGroupRef DR) { 18 for (auto &b : DR) { 19 // Traverse the declaration using our AST visitor. 20 Visitor.TraverseDecl(b); 21 // b->dump(); 22 } 23 return true; 24 } 25 26 RewriteASTVisitor &get_visitor() { return Visitor; }; 27 };