mirror of
https://github.com/NixOS/nix
synced 2025-06-26 15:51:15 +02:00
Merge branch 'attr-set-hh' of https://github.com/nbp/nix
Conflicts: src/libexpr/eval.cc
This commit is contained in:
commit
19eddecc0f
4 changed files with 142 additions and 94 deletions
|
@ -55,12 +55,6 @@ static void * allocBytes(size_t n)
|
|||
}
|
||||
|
||||
|
||||
void Bindings::sort()
|
||||
{
|
||||
std::sort(begin(), end());
|
||||
}
|
||||
|
||||
|
||||
static void printValue(std::ostream & str, std::set<const Value *> & active, const Value & v)
|
||||
{
|
||||
checkInterrupt();
|
||||
|
@ -507,20 +501,6 @@ Env & EvalState::allocEnv(unsigned int size)
|
|||
}
|
||||
|
||||
|
||||
Value * EvalState::allocAttr(Value & vAttrs, const Symbol & name)
|
||||
{
|
||||
Value * v = allocValue();
|
||||
vAttrs.attrs->push_back(Attr(name, v));
|
||||
return v;
|
||||
}
|
||||
|
||||
|
||||
Bindings * EvalState::allocBindings(Bindings::size_t capacity)
|
||||
{
|
||||
return new (allocBytes(sizeof(Bindings) + sizeof(Attr) * capacity)) Bindings(capacity);
|
||||
}
|
||||
|
||||
|
||||
void EvalState::mkList(Value & v, unsigned int size)
|
||||
{
|
||||
clearValue(v);
|
||||
|
@ -537,16 +517,6 @@ void EvalState::mkList(Value & v, unsigned int size)
|
|||
}
|
||||
|
||||
|
||||
void EvalState::mkAttrs(Value & v, unsigned int expected)
|
||||
{
|
||||
clearValue(v);
|
||||
v.type = tAttrs;
|
||||
v.attrs = allocBindings(expected);
|
||||
nrAttrsets++;
|
||||
nrAttrsInAttrsets += expected;
|
||||
}
|
||||
|
||||
|
||||
unsigned long nrThunks = 0;
|
||||
|
||||
static inline void mkThunk(Value & v, Env & env, Expr * expr)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue