nixd
Loading...
Searching...
No Matches
nixf::ExprLambda Class Reference

#include <Lambda.h>

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

Public Member Functions

 ExprLambda (LexerCursorRange Range, std::shared_ptr< LambdaArg > Arg, std::shared_ptr< Expr > Body)
LambdaArgarg () const
Exprbody () 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 108 of file Lambda.h.

Constructor & Destructor Documentation

◆ ExprLambda()

nixf::ExprLambda::ExprLambda ( LexerCursorRange Range,
std::shared_ptr< LambdaArg > Arg,
std::shared_ptr< Expr > Body )
inline

Definition at line 113 of file Lambda.h.

References nixf::Expr::Expr().

Member Function Documentation

◆ arg()

LambdaArg * nixf::ExprLambda::arg ( ) const
inlinenodiscard

Definition at line 118 of file Lambda.h.

◆ body()

Expr * nixf::ExprLambda::body ( ) const
inlinenodiscard

Definition at line 119 of file Lambda.h.

References nixf::Expr::Expr().

◆ children()

ChildVector nixf::ExprLambda::children ( ) const
inlinenodiscardoverridevirtual

Implements nixf::Node.

Definition at line 121 of file Lambda.h.


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