bool visit(CppUsingDecl *p) override
CppVisitorMatcher(const std::vector< CppObjType > &typesToMatch)
The only ctor of the class.
bool visit(CppUndef *p) override
bool visit(CppConstructor *p) override
bool visit(CppEnum *p) override
bool visit(CppFwdClsDecl *p) override
bool visit(CppLambda *p) override
bool visit(CppTryBlock *p) override
bool visit(CppNamespaceAlias *p) override
CppVisitorMatcher(const std::vector< CppObjType > &typesToMatch, MatchedFuncType &&matchedFunc)
bool visit(CppDocComment *p) override
bool visit(CppCommonBlock< CppObjType::kWhileBlock > *p) override
bool visit(CppTypedefList *p) override
bool visit(CppLabel *p) override
bool visit(CppTypedefName *p) override
bool visit(CppDefine *p) override
bool visit(CppVar *p) override
bool visit(CppFunction *p) override
bool visit(CppImport *p) override
bool visit(CppTypeConverter *p) override
bool visit(CppHashIf *p) override
bool visit(CppUnRecogPrePro *p) override
bool visit(CppCommonBlock< CppObjType::kIfBlock > *p) override
bool visit(CppCompound *p) override
const std::vector< CppObjType > typesToMatch
bool visit(CppUsingNamespaceDecl *p) override
bool visit(CppMacroCall *p) override
bool visit(CppFunctionPointer *p) override
bool visit(CppExpr *p) override
bool visit(CppInclude *p) override
bool check(CppObj *p)
Checks the given pointer to the current AST node against the node types that are to be matched.
~CppVisitorMatcher() override=default
bool visit(CppHashError *p) override
bool visit(CppForBlock *p) override
bool visit(CppDestructor *p) override
bool visit(CppPragma *p) override
bool visit(CppAsmBlock *p) override
bool visit(CppCommonBlock< CppObjType::kDoWhileBlock > *p) override
virtual bool matched(CppObj *p)
The virtual method to be called when a tree node is matched.
bool visit(CppVarType *p) override
The visitor pattern's visit methods for the given types.
bool visit(CppBlob *p) override
MatchedFuncType matchedFunc
std::function< bool(CppObj *p)> MatchedFuncType
bool visit(CppRangeForBlock *p) override
bool visit(CppSwitchBlock *p) override
bool visit(CppHashWarning *p) override
bool visit(CppVarList *p) override
static std::string astToString(CppObj *p)
Converts the given pointer to an AST node to its equivalent string of code using CppWriter class.
A stream of text that represents some content in a C++ program.
Some blocks have common structure like if, while, and do-while.
All classes, structs, unions, and namespaces can be classified as a Compound object.
An expression in a C/C++ program.
Function pointer type definition using typedef, e.g.
Represents all variants of #if preprocessors.
An abstract class that is used as base class of all other classes.
Any other C/C++ preprocessor for which there is no class defined.
List of variables declared in a line without repeating its type, e.g.
Class to represent C++ variable definition.