clang 20.0.0git
|
This file declares helper methods for collecting data from AST nodes. More...
#include "clang/AST/ASTContext.h"
Go to the source code of this file.
Namespaces | |
namespace | clang |
The JSON file list parser is used to communicate input to InstallAPI. | |
namespace | clang::data_collection |
Functions | |
std::string | clang::data_collection::getMacroStack (SourceLocation Loc, ASTContext &Context) |
Returns a string that represents all macro expansions that expanded into the given SourceLocation. | |
template<class T > | |
void | clang::data_collection::addDataToConsumer (T &DataConsumer, llvm::StringRef Str) |
Utility functions for implementing addData() for a consumer that has a method update(StringRef) | |
template<class T > | |
void | clang::data_collection::addDataToConsumer (T &DataConsumer, const QualType &QT) |
template<class T , class Type > | |
std::enable_if_t< std::is_integral< Type >::value||std::is_enum< Type >::value||std::is_convertible< Type, size_t >::value > | clang::data_collection::addDataToConsumer (T &DataConsumer, Type Data) |
This file declares helper methods for collecting data from AST nodes.
To collect data from Stmt nodes, subclass ConstStmtVisitor and include StmtDataCollectors.inc after defining the macros that you need. This provides data collection implementations for most Stmt kinds. Note that the code requires some conditions to be met:
It is also possible to override individual visit methods. Have a look at the DataCollector in lib/Analysis/CloneDetection.cpp for a usage example.
Definition in file DataCollection.h.