Template Struct AncestorTypeFinder#

Inheritance Relationships#

Base Type#

Struct Documentation#

template<class AncestorNode, class QualSgNode>
struct AncestorTypeFinder : public sg::DefaultHandler<const SgProject>#

helper class for _ancestor

implements a type switch over the Rose AST to find an ancestor node with a given type. The search fails at SgProject nodes.

Template Parameters:
  • AncestorNode – the type of ancestors to look for

  • QualSgNode – either const SgNode* or SgNode* depending if the search is over constant nodes or not.

Public Types

typedef DefaultHandler<const SgProject> Base#
typedef std::pair<AncestorNode*, QualSgNode*> Pair#

Public Functions

inline AncestorTypeFinder()#
inline void handle(QualSgNode &n)#
inline void handle(AncestorNode &n)#
inline operator Pair() const#

Public Members

Pair res#