nixd
|
#include <Basic.h>
Public Types | |
enum | NodeKind { NK_BeginExpr , NK_EndExpr } |
using | ChildVector = boost::container::small_vector<Node *, 8> |
Public Member Functions | |
NodeKind | kind () const |
LexerCursorRange | range () const |
PositionRange | positionRange () const |
LexerCursor | lCur () const |
LexerCursor | rCur () const |
const char * | name () const |
virtual ChildVector | children () const =0 |
virtual | ~Node ()=default |
const Node * | descend (PositionRange Range) const |
Descendant node that contains the given range. | |
std::string_view | src (std::string_view Src) const |
Static Public Member Functions | |
static const char * | name (NodeKind Kind) |
Protected Member Functions | |
Node (NodeKind Kind, LexerCursorRange Range) | |
using nixf::Node::ChildVector = boost::container::small_vector<Node *, 8> |
enum nixf::Node::NodeKind |
Enumerator | |
---|---|
NK_BeginExpr | provides NODE(NAME) EXPR(NAME) ${ expr } Misc node used for parentheses keywords etc.
|
NK_EndExpr | provides NODE(NAME) EXPR(NAME) |
|
inlineexplicitprotected |
Definition at line 30 of file Basic.h.
Referenced by nixf::AttrName::AttrName(), nixf::AttrName::AttrName(), nixf::AttrName::AttrName(), nixf::AttrPath::AttrPath(), nixf::Binding::Binding(), nixf::Binds::Binds(), nixf::Expr::classof(), descend(), nixf::Dot::Dot(), nixf::Expr::Expr(), nixf::Formal::Formal(), nixf::Formal::Formal(), nixf::Formals::Formals(), nixf::Identifier::Identifier(), nixf::Inherit::Inherit(), nixf::InterpolatedParts::InterpolatedParts(), nixf::Interpolation::Interpolation(), nixf::LambdaArg::LambdaArg(), nixf::Misc::Misc(), nixf::Dot::next(), nixf::Op::Op(), and nixf::Dot::prev().
|
virtualdefault |
|
nodiscardpure virtual |
Implemented in nixf::AttrName, nixf::AttrPath, nixf::Binding, nixf::Binds, nixf::Dot, nixf::ExprAssert, nixf::ExprAttrs, nixf::ExprBinOp, nixf::ExprCall, nixf::ExprFloat, nixf::ExprIf, nixf::ExprInt, nixf::ExprLambda, nixf::ExprLet, nixf::ExprList, nixf::ExprOp, nixf::ExprOpHasAttr, nixf::ExprParen, nixf::ExprPath, nixf::ExprSelect, nixf::ExprSPath, nixf::ExprString, nixf::ExprUnaryOp, nixf::ExprVar, nixf::ExprWith, nixf::Formal, nixf::Formals, nixf::Identifier, nixf::Inherit, nixf::InterpolatedParts, nixf::Interpolation, nixf::LambdaArg, nixf::Misc, and nixf::Op.
Referenced by descend().
|
inlinenodiscard |
Descendant node that contains the given range.
Definition at line 49 of file Basic.h.
References children(), Node(), and positionRange().
|
inlinenodiscard |
Definition at line 34 of file Basic.h.
Referenced by nixf::Expr::classof(), nixd::findDefinition(), nixd::getScopeAndPrefix(), nixd::havePackageScope(), nixf::Expr::maybeLambda(), nixd::idioms::mkSelector(), nixd::idioms::mkVarSelector(), nixf::ParentMapAnalysis::upExpr(), and nixf::ParentMapAnalysis::upTo().
|
inlinenodiscard |
Definition at line 37 of file Basic.h.
Referenced by nixf::Sema::checkFormalSep(), nixf::Parser::parseExprSelect(), and src().
|
inlinenodiscard |
|
staticnodiscard |
|
inlinenodiscard |
|
inlinenodiscard |
Definition at line 35 of file Basic.h.
Referenced by nixf::AttrName::AttrName(), nixf::AttrName::AttrName(), nixf::Sema::checkAttrRecursiveForMerge(), nixf::Sema::checkFormalEllipsis(), nixf::Sema::checkFormalEmpty(), nixf::Sema::checkFormalSep(), nixf::Sema::dedupFormal(), nixf::Parser::parseExprLet(), and nixf::Sema::removeFormal().
|
inlinenodiscard |
Definition at line 38 of file Basic.h.
Referenced by nixf::Sema::checkFormalEllipsis(), and src().
|
inlinenodiscard |
Definition at line 63 of file Basic.h.
References lCur(), nixf::LexerCursor::offset(), and rCur().
Referenced by nixf::Sema::checkFormalEllipsis().