mirror of
https://github.com/NixOS/nix
synced 2025-06-26 15:51:15 +02:00
* Fix builtins.
This commit is contained in:
parent
81de12bc8f
commit
267dc693d2
4 changed files with 30 additions and 28 deletions
|
@ -43,7 +43,7 @@ std::ostream & operator << (std::ostream & str, Value & v)
|
|||
break;
|
||||
case tAttrs:
|
||||
str << "{ ";
|
||||
foreach (Bindings::iterator, i, *v.attrs)
|
||||
foreach (Bindings::iterator, i, *v.attrs)
|
||||
str << (string) i->first << " = " << i->second << "; ";
|
||||
str << "}";
|
||||
break;
|
||||
|
@ -99,6 +99,8 @@ EvalState::EvalState()
|
|||
, sMeta(symbols.create("meta"))
|
||||
, sName(symbols.create("name"))
|
||||
, baseEnv(allocEnv(128))
|
||||
, baseEnvDispl(0)
|
||||
, staticBaseEnv(false, 0)
|
||||
{
|
||||
nrValues = nrEnvs = nrEvaluated = recursionDepth = maxRecursionDepth = 0;
|
||||
deepestStack = (char *) -1;
|
||||
|
@ -117,28 +119,24 @@ EvalState::~EvalState()
|
|||
|
||||
void EvalState::addConstant(const string & name, Value & v)
|
||||
{
|
||||
#if 0
|
||||
baseEnv.bindings[symbols.create(name)] = v;
|
||||
staticBaseEnv.vars[symbols.create(name)] = baseEnvDispl;
|
||||
baseEnv.values[baseEnvDispl++] = v;
|
||||
string name2 = string(name, 0, 2) == "__" ? string(name, 2) : name;
|
||||
(*baseEnv.bindings[symbols.create("builtins")].attrs)[symbols.create(name2)] = v;
|
||||
nrValues += 2;
|
||||
#endif
|
||||
(*baseEnv.values[0].attrs)[symbols.create(name2)] = v;
|
||||
}
|
||||
|
||||
|
||||
void EvalState::addPrimOp(const string & name,
|
||||
unsigned int arity, PrimOp primOp)
|
||||
{
|
||||
#if 0
|
||||
Value v;
|
||||
v.type = tPrimOp;
|
||||
v.primOp.arity = arity;
|
||||
v.primOp.fun = primOp;
|
||||
baseEnv.bindings[symbols.create(name)] = v;
|
||||
staticBaseEnv.vars[symbols.create(name)] = baseEnvDispl;
|
||||
baseEnv.values[baseEnvDispl++] = v;
|
||||
string name2 = string(name, 0, 2) == "__" ? string(name, 2) : name;
|
||||
(*baseEnv.bindings[symbols.create("builtins")].attrs)[symbols.create(name2)] = v;
|
||||
nrValues += 2;
|
||||
#endif
|
||||
(*baseEnv.values[0].attrs)[symbols.create(name2)] = v;
|
||||
}
|
||||
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue