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

#include <Lambda.h>

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

Public Member Functions

 Formal (LexerCursorRange Range, std::shared_ptr< Misc > Comma, std::shared_ptr< Identifier > ID, std::shared_ptr< Expr > Default)
 Formal (LexerCursorRange Range, std::shared_ptr< Misc > Comma, std::shared_ptr< Misc > Ellipsis)
Miscellipsis () const
bool isEllipsis () const
Identifierid () const
Misccomma () const
ExprdefaultExpr () const
ChildVector children () const override
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::Node
static const char * name (NodeKind Kind)
Protected Member Functions inherited from nixf::Node
 Node (NodeKind Kind, LexerCursorRange Range)

Detailed Description

Definition at line 11 of file Lambda.h.

Constructor & Destructor Documentation

◆ Formal() [1/2]

nixf::Formal::Formal ( LexerCursorRange Range,
std::shared_ptr< Misc > Comma,
std::shared_ptr< Identifier > ID,
std::shared_ptr< Expr > Default )
inline

Definition at line 18 of file Lambda.h.

References nixf::Node::Node().

◆ Formal() [2/2]

nixf::Formal::Formal ( LexerCursorRange Range,
std::shared_ptr< Misc > Comma,
std::shared_ptr< Misc > Ellipsis )
inline

Definition at line 23 of file Lambda.h.

References nixf::Node::Node().

Member Function Documentation

◆ children()

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

Implements nixf::Node.

Definition at line 43 of file Lambda.h.

References isEllipsis().

◆ comma()

Misc * nixf::Formal::comma ( ) const
inlinenodiscard

◆ defaultExpr()

Expr * nixf::Formal::defaultExpr ( ) const
inlinenodiscard

Definition at line 41 of file Lambda.h.

◆ ellipsis()

Misc & nixf::Formal::ellipsis ( ) const
inlinenodiscard

Definition at line 30 of file Lambda.h.

◆ id()

Identifier * nixf::Formal::id ( ) const
inlinenodiscard

Definition at line 37 of file Lambda.h.

Referenced by nixf::Sema::checkFormalEmpty(), and nixf::Sema::dedupFormal().

◆ isEllipsis()

bool nixf::Formal::isEllipsis ( ) const
inlinenodiscard

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