Nix 2.93.3
Lix: A modern, delicious implementation of the Nix package manager; unstable internal interfaces
Loading...
Searching...
No Matches
nix::Expr Struct Referenceabstract
Inheritance diagram for nix::Expr:
nix::ExprAssert nix::ExprBlackHole nix::ExprCall nix::ExprDebugFrame nix::ExprIf nix::ExprInheritFrom nix::ExprLambda nix::ExprLet nix::ExprList nix::ExprLiteral nix::ExprOpHasAttr nix::ExprOpNot nix::ExprPos nix::ExprSelect nix::ExprSet nix::ExprVar nix::ExprWith

Classes

struct  AstSymbols

Public Member Functions

 Expr (const Expr &)=delete
Expr & operator= (const Expr &)=delete
virtual JSON toJSON (const SymbolTable &symbols) const
virtual void accept (ExprVisitor &ev, std::unique_ptr< Expr > &ptr)=0
virtual void eval (EvalState &state, Env &env, Value &v)
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 ()

Static Public Member Functions

static std::unique_ptr< Expr > finalize (std::unique_ptr< Expr > parsed, Evaluator &es, const std::shared_ptr< const StaticEnv > &env)

Public Attributes

PosIdx pos

Protected Member Functions

 Expr (Expr &&)=default
Expr & operator= (Expr &&)=default
 Expr (const PosIdx pos)

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