1
1
Fork 0
mirror of https://github.com/NixOS/nix.git synced 2025-12-07 17:41:00 +01:00

* Synchronise terminology with the ICSE paper (e.g., slice -> closure,

fstate -> Nix expression).
* Fix src/test.cc.
This commit is contained in:
Eelco Dolstra 2003-10-07 12:27:49 +00:00
parent 563afb7fcc
commit 5d4171f7fb
15 changed files with 254 additions and 268 deletions

View file

@ -1,30 +1,29 @@
#ifndef __NORMALISE_H
#define __NORMALISE_H
#include "fstate.hh"
#include "expr.hh"
/* Normalise an fstate-expression, that is, return an equivalent
slice. (For the meaning of `pending', see expandId()). */
FSId normaliseFState(FSId id, FSIdSet pending = FSIdSet());
/* Normalise a Nix expression, that is, return an equivalent
closure. (For the meaning of `pending', see expandId()). */
FSId normaliseNixExpr(FSId id, FSIdSet pending = FSIdSet());
/* Realise a Slice in the file system. */
void realiseSlice(const FSId & id, FSIdSet pending = FSIdSet());
/* Realise a Closure in the file system. */
void realiseClosure(const FSId & id, FSIdSet pending = FSIdSet());
/* Get the list of root (output) paths of the given
fstate-expression. */
Strings fstatePaths(const FSId & id);
/* Get the list of root (output) paths of the given Nix expression. */
Strings nixExprPaths(const FSId & id);
/* Get the list of paths that are required to realise the given
expression. For a derive expression, this is the union of
requisites of the inputs; for a slice expression, it is the path of
each element in the slice. If `includeExprs' is true, include the
requisites of the inputs; for a closure expression, it is the path of
each element in the closure. If `includeExprs' is true, include the
paths of the Nix expressions themselves. If `includeSuccessors' is
true, include the requisites of successors. */
Strings fstateRequisites(const FSId & id,
Strings nixExprRequisites(const FSId & id,
bool includeExprs, bool includeSuccessors);
/* Return the list of the ids of all known fstate-expressions whose
/* Return the list of the ids of all known Nix expressions whose
output ids are completely contained in `ids'. */
FSIds findGenerators(const FSIds & ids);