diff options
author | Nicolas B. Pierron <nicolas.b.pierron@gmail.com> | 2015-07-14T17·18+0200 |
---|---|---|
committer | Nicolas B. Pierron <nicolas.b.pierron@gmail.com> | 2015-07-14T17·23+0200 |
commit | db21cfa68820ed06f176aaf54e0ee5ce023951f7 (patch) | |
tree | dc40261fb7891ac807497086b2c3f75868875344 /src/libexpr/eval.cc | |
parent | 467977f20326f704b259157652ee9b7ba2efaa78 (diff) |
Move attribute set data structures into their own header file.
This modification moves Attr and Bindings structures into their own header file which is dedicated to the attribute set representation. The goal of to isolate pieces of code which are related to the attribute set representation. Thus future modifications of the attribute set representation will only have to modify these files, and not every other file across the evaluator.
Diffstat (limited to 'src/libexpr/eval.cc')
-rw-r--r-- | src/libexpr/eval.cc | 30 |
1 files changed, 0 insertions, 30 deletions
diff --git a/src/libexpr/eval.cc b/src/libexpr/eval.cc index d61ee7e80795..eab38c9da174 100644 --- a/src/libexpr/eval.cc +++ b/src/libexpr/eval.cc @@ -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) { if (active.find(&v) != active.end()) { @@ -503,20 +497,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 length) { clearValue(v); @@ -527,16 +507,6 @@ void EvalState::mkList(Value & v, unsigned int length) } -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) |