clang 20.0.0git
Namespaces | Functions
DataCollection.h File Reference

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)
 

Detailed Description

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.