Nix 2.93.3
Lix: A modern, delicious implementation of the Nix package manager; unstable internal interfaces
Loading...
Searching...
No Matches
nix::ExprLet Struct Reference
Inheritance diagram for nix::ExprLet:
nix::Expr nix::ExprAttrs

Public Member Functions

JSON toJSON (const SymbolTable &symbols) const override
void eval (EvalState &state, Env &env, Value &v) override
void accept (ExprVisitor &ev, std::unique_ptr< Expr > &ptr) override
Public Member Functions inherited from nix::Expr
 Expr (const Expr &)=delete
Expr & operator= (const Expr &)=delete
virtual ValuemaybeThunk (EvalState &state, Env &env)
virtual void setName (Symbol name)
PosIdx getPos () const
template<typename E>
E & cast ()
template<typename E>
E * try_cast ()
Public Member Functions inherited from nix::ExprAttrs
 ExprAttrs (const ExprAttrs &)=delete
ExprAttrs & operator= (const ExprAttrs &)=delete
 ExprAttrs (ExprAttrs &&)=default
ExprAttrs & operator= (ExprAttrs &&)=default
std::shared_ptr< const StaticEnvbuildRecursiveEnv (const std::shared_ptr< const StaticEnv > &env)
std::shared_ptr< const StaticEnvbindInheritSources (ExprVisitor &e, const StaticEnv &env)
EnvbuildInheritFromEnv (EvalState &state, Env &up)
void addBindingsToJSON (JSON &out, const SymbolTable &symbols) const

Public Attributes

std::unique_ptr< Expr > body
Public Attributes inherited from nix::Expr
PosIdx pos
Public Attributes inherited from nix::ExprAttrs
AttrDefs attrs
std::unique_ptr< std::list< std::unique_ptr< Expr > > > inheritFromExprs
DynamicAttrDefs dynamicAttrs

Additional Inherited Members

Public Types inherited from nix::ExprAttrs
typedef std::map< Symbol, AttrDefAttrDefs
typedef std::vector< DynamicAttrDefDynamicAttrDefs
Static Public Member Functions inherited from nix::Expr
static std::unique_ptr< Expr > finalize (std::unique_ptr< Expr > parsed, Evaluator &es, const std::shared_ptr< const StaticEnv > &env)
Protected Member Functions inherited from nix::Expr
 Expr (Expr &&)=default
Expr & operator= (Expr &&)=default
 Expr (const PosIdx pos)

Member Function Documentation

◆ accept()

void nix::ExprLet::accept ( ExprVisitor & ev,
std::unique_ptr< Expr > & ptr )
inlineoverridevirtual

Implements nix::Expr.

◆ eval()

void nix::ExprLet::eval ( EvalState & state,
Env & env,
Value & v )
overridevirtual

Reimplemented from nix::Expr.

◆ toJSON()

JSON nix::ExprLet::toJSON ( const SymbolTable & symbols) const
overridevirtual

Reimplemented from nix::Expr.


The documentation for this struct was generated from the following files:
  • lix/libexpr/nixexpr.hh
  • lix/libexpr/eval.cc
  • lix/libexpr/nixexpr.cc