nixd
Loading...
Searching...
No Matches
Public Member Functions | Static Public Member Functions | List of all members
nixf::ParentMapAnalysis Class Reference

#include <ParentMap.h>

Public Member Functions

void runOnAST (const Node &Root)
 
const Nodequery (const Node &N) const
 
const NodeupExpr (const Node &N) const
 Search up until the node becomes a concrete expression. a ^<--— ID -> ExprVar.
 
const NodeupTo (const Node &N, Node::NodeKind Kind) const
 Search up until some kind of node is found.
 
bool isRoot (const Node &N) const
 

Static Public Member Functions

static bool isRoot (const Node *Up, const Node &N)
 

Detailed Description

Definition at line 15 of file libnixf/include/nixf/Sema/ParentMap.h.

Member Function Documentation

◆ isRoot() [1/2]

bool nixf::ParentMapAnalysis::isRoot ( const Node & N) const

Definition at line 46 of file libnixf/src/Sema/ParentMap.cpp.

◆ isRoot() [2/2]

bool nixf::ParentMapAnalysis::isRoot ( const Node * Up,
const Node & N )
static

Definition at line 42 of file libnixf/src/Sema/ParentMap.cpp.

Referenced by nixd::upEnv(), upExpr(), and upTo().

◆ query()

const Node * ParentMapAnalysis::query ( const Node & N) const

◆ runOnAST()

void ParentMapAnalysis::runOnAST ( const Node & Root)

Definition at line 37 of file libnixf/src/Sema/ParentMap.cpp.

◆ upExpr()

const Node * ParentMapAnalysis::upExpr ( const Node & N) const

Search up until the node becomes a concrete expression. a ^<--— ID -> ExprVar.

Definition at line 17 of file libnixf/src/Sema/ParentMap.cpp.

References nixf::Expr::isExpr(), isRoot(), nixf::Node::kind(), query(), and upExpr().

Referenced by upExpr().

◆ upTo()

const Node * ParentMapAnalysis::upTo ( const Node & N,
Node::NodeKind Kind ) const

Search up until some kind of node is found.

Definition at line 27 of file libnixf/src/Sema/ParentMap.cpp.

References isRoot(), nixf::Node::kind(), query(), and upTo().

Referenced by nixd::findAttrPath(), and upTo().


The documentation for this class was generated from the following files: