clang 22.0.0git
ParentMapContext.cpp File Reference
#include "clang/AST/ParentMapContext.h"
#include "clang/AST/Decl.h"
#include "clang/AST/Expr.h"
#include "clang/AST/RecursiveASTVisitor.h"
#include "clang/AST/TemplateBase.h"
#include "llvm/ADT/SmallPtrSet.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>
static std::tuple< bool, DynTypedNodeList, const T *, const U *... > matchParents (const DynTypedNodeList &NodeList, ParentMapContext::ParentMap *ParentMap)
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 346 of file ParentMapContext.cpp.

References clang::DynTypedNode::create().

◆ createDynTypedNode() [2/4]

template<>
DynTypedNode createDynTypedNode ( const ObjCProtocolLoc & Node)

Definition at line 349 of file ParentMapContext.cpp.

References clang::DynTypedNode::create().

◆ createDynTypedNode() [3/4]

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

Template specializations to abstract away from pointers and TypeLocs.

Definition at line 339 of file ParentMapContext.cpp.

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

◆ createDynTypedNode() [4/4]

template<>
DynTypedNode createDynTypedNode ( const TypeLoc & Node)

Definition at line 342 of file ParentMapContext.cpp.

References clang::DynTypedNode::create().

◆ matchParents() [1/2]

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

◆ matchParents() [2/2]

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