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

#include <Expr.h>

Inheritance diagram for nixf::ExprIf:
[legend]
Collaboration diagram for nixf::ExprIf:
[legend]

Public Member Functions

 ExprIf (LexerCursorRange Range, std::shared_ptr< Expr > Cond, std::shared_ptr< Expr > Then, std::shared_ptr< Expr > Else)
 
Exprcond () const
 
Exprthen () const
 
ExprelseExpr () const
 
ChildVector children () const override
 
- Public Member Functions inherited from nixf::Expr
bool maybeLambda () const
 
- Public Member Functions inherited from nixf::Node
NodeKind kind () const
 
LexerCursorRange range () const
 
PositionRange positionRange () const
 
LexerCursor lCur () const
 
LexerCursor rCur () const
 
const char * name () const
 
virtual ~Node ()=default
 
const Nodedescend (PositionRange Range) const
 Descendant node that contains the given range.
 
std::string_view src (std::string_view Src) const
 

Additional Inherited Members

- Public Types inherited from nixf::Node
enum  NodeKind { NK_BeginExpr , NK_EndExpr }
 
using ChildVector = boost::container::small_vector<Node *, 8>
 
- Static Public Member Functions inherited from nixf::Expr
static bool classof (const Node *N)
 
static bool isExpr (NodeKind Kind)
 
static bool maybeLambda (NodeKind Kind)
 
- Static Public Member Functions inherited from nixf::Node
static const char * name (NodeKind Kind)
 
- Protected Member Functions inherited from nixf::Expr
 Expr (NodeKind Kind, LexerCursorRange Range)
 
- Protected Member Functions inherited from nixf::Node
 Node (NodeKind Kind, LexerCursorRange Range)
 

Detailed Description

Definition at line 87 of file Expr.h.

Constructor & Destructor Documentation

◆ ExprIf()

nixf::ExprIf::ExprIf ( LexerCursorRange Range,
std::shared_ptr< Expr > Cond,
std::shared_ptr< Expr > Then,
std::shared_ptr< Expr > Else )
inline

Definition at line 93 of file Expr.h.

Member Function Documentation

◆ children()

ChildVector nixf::ExprIf::children ( ) const
inlineoverridevirtual

Implements nixf::Node.

Definition at line 102 of file Expr.h.

◆ cond()

Expr * nixf::ExprIf::cond ( ) const
inline

Definition at line 98 of file Expr.h.

◆ elseExpr()

Expr * nixf::ExprIf::elseExpr ( ) const
inline

Definition at line 100 of file Expr.h.

◆ then()

Expr * nixf::ExprIf::then ( ) const
inline

Definition at line 99 of file Expr.h.


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