Nix  2.93.0-dev
Lix: A modern, delicious implementation of the Nix package manager; unstable internal interfaces
Loading...
Searching...
No Matches
nix::ExprSelect Struct Reference
Inheritance diagram for nix::ExprSelect:
[legend]
Collaboration diagram for nix::ExprSelect:
[legend]

Public Member Functions

 ExprSelect (const PosIdx &pos, std::unique_ptr< Expr > e, AttrPath attrPath, std::unique_ptr< Expr > def)
 
 ExprSelect (const PosIdx &pos, std::unique_ptr< Expr > e, const PosIdx namePos, Symbol name)
 
- Public Member Functions inherited from nix::Expr
 Expr (const Expr &)=delete
 
Exproperator= (const Expr &)=delete
 
virtual JSON toJSON (const SymbolTable &symbols) const
 
virtual void bindVars (Evaluator &es, const std::shared_ptr< const StaticEnv > &env)
 
virtual void eval (EvalState &state, Env &env, Value &v)
 
virtual ValuemaybeThunk (EvalState &state, Env &env)
 
virtual void setName (Symbol name)
 
PosIdx getPos () const
 

Public Attributes

std::unique_ptr< Expre
 
std::unique_ptr< Exprdef
 
AttrPath attrPath
 
- Public Attributes inherited from nix::Expr
PosIdx pos
 

Additional Inherited Members

- Protected Member Functions inherited from nix::Expr
 Expr (Expr &&)=default
 
Exproperator= (Expr &&)=default
 
 Expr (const PosIdx pos)
 

Member Data Documentation

◆ attrPath

AttrPath nix::ExprSelect::attrPath

The path of attributes being selected. e.g. bar.baz in foo.bar.baz.

◆ def

std::unique_ptr<Expr> nix::ExprSelect::def

A default value specified with or, if the selected attr doesn't exist. e.g. bix in foo.bar.baz or bix

◆ e

std::unique_ptr<Expr> nix::ExprSelect::e

The expression attributes are being selected on. e.g. foo in foo.bar.baz.


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