clang 20.0.0git
Classes | Functions
ParentMapContext.cpp File Reference
#include "clang/AST/ParentMapContext.h"
#include "clang/AST/RecursiveASTVisitor.h"
#include "clang/AST/Decl.h"
#include "clang/AST/Expr.h"
#include "clang/AST/TemplateBase.h"

Go to the source code of this file.

Classes

class  clang::ParentMapContext::ParentMap
 
struct  MatchParents< T, U >
 
struct  MatchParents< T >
 
class  clang::ParentMapContext::ParentMap::ASTVisitor
 A RecursiveASTVisitor that builds a map from nodes to their parents as defined by the RecursiveASTVisitor. More...
 

Functions

template<typename T , typename... U>
std::tuple< bool, DynTypedNodeList, const T *, const U *... > matchParents (const DynTypedNodeList &NodeList, ParentMapContext::ParentMap *ParentMap)
 
template<typename T >
static DynTypedNode createDynTypedNode (const T &Node)
 Template specializations to abstract away from pointers and TypeLocs.
 
template<>
DynTypedNode createDynTypedNode (const TypeLoc &Node)
 
template<>
DynTypedNode createDynTypedNode (const NestedNameSpecifierLoc &Node)
 
template<>
DynTypedNode createDynTypedNode (const ObjCProtocolLoc &Node)
 

Function Documentation

◆ createDynTypedNode() [1/4]

template<>
DynTypedNode createDynTypedNode ( const NestedNameSpecifierLoc Node)

Definition at line 340 of file ParentMapContext.cpp.

References clang::DynTypedNode::create(), and Node.

◆ createDynTypedNode() [2/4]

template<>
DynTypedNode createDynTypedNode ( const ObjCProtocolLoc Node)

Definition at line 343 of file ParentMapContext.cpp.

References clang::DynTypedNode::create(), and Node.

◆ createDynTypedNode() [3/4]

template<typename T >
static DynTypedNode createDynTypedNode ( const T &  Node)
static

Template specializations to abstract away from pointers and TypeLocs.

Definition at line 333 of file ParentMapContext.cpp.

References clang::DynTypedNode::create(), and Node.

◆ createDynTypedNode() [4/4]

template<>
DynTypedNode createDynTypedNode ( const TypeLoc Node)

Definition at line 336 of file ParentMapContext.cpp.

References clang::DynTypedNode::create(), and Node.

◆ matchParents()

template<typename T , typename... U>
std::tuple< bool, DynTypedNodeList, const T *, const U *... > matchParents ( const DynTypedNodeList NodeList,
ParentMapContext::ParentMap ParentMap 
)

Definition at line 326 of file ParentMapContext.cpp.

References MatchParents< T, U >::match().