clang-tools 20.0.0git
Classes | Namespaces | Typedefs
PPCallbacksTracker.h File Reference

Classes and definitions for preprocessor tracking. More...

#include "clang/Lex/PPCallbacks.h"
#include "clang/Lex/Preprocessor.h"
#include "clang/Basic/SourceManager.h"
#include "llvm/ADT/ArrayRef.h"
#include "llvm/ADT/SmallSet.h"
#include "llvm/ADT/StringMap.h"
#include "llvm/ADT/StringRef.h"
#include "llvm/Support/GlobPattern.h"
#include <string>
#include <vector>

Go to the source code of this file.

Classes

struct  clang::pp_trace::Argument
 
class  clang::pp_trace::CallbackCall
 This class represents one callback call by name and an array of arguments. More...
 
class  clang::pp_trace::PPCallbacksTracker
 This class overrides the PPCallbacks class for tracking preprocessor activity by means of its callback functions. More...
 

Namespaces

namespace  clang
 ===– Representation.cpp - ClangDoc Representation --------—*- C++ -*-===//
 
namespace  clang::pp_trace
 

Typedefs

using clang::pp_trace::FilterType = std::vector< std::pair< llvm::GlobPattern, bool > >
 

Detailed Description

Classes and definitions for preprocessor tracking.

The core definition is the PPCallbacksTracker class, derived from Clang's PPCallbacks class from the Lex library, which overrides all the callbacks and collects information about each callback call, saving it in a data structure built up of CallbackCall and Argument objects, which record the preprocessor callback name and arguments in high-level string form for later inspection.

Definition in file PPCallbacksTracker.h.