mirror of
https://github.com/NixOS/nix
synced 2025-06-27 08:31:16 +02:00
* "Nix expression" -> "store expression".
* More refactoring.
This commit is contained in:
parent
9f0f020929
commit
ce92d1bf14
20 changed files with 121 additions and 119 deletions
|
@ -1,60 +0,0 @@
|
|||
#ifndef __FSTATE_H
|
||||
#define __FSTATE_H
|
||||
|
||||
#include "aterm.hh"
|
||||
#include "store.hh"
|
||||
|
||||
|
||||
/* Abstract syntax of Nix expressions. */
|
||||
|
||||
struct ClosureElem
|
||||
{
|
||||
PathSet refs;
|
||||
};
|
||||
|
||||
typedef map<Path, ClosureElem> ClosureElems;
|
||||
|
||||
struct Closure
|
||||
{
|
||||
PathSet roots;
|
||||
ClosureElems elems;
|
||||
};
|
||||
|
||||
typedef map<string, string> StringPairs;
|
||||
|
||||
struct Derivation
|
||||
{
|
||||
PathSet outputs;
|
||||
PathSet inputs; /* Nix expressions, not actual inputs */
|
||||
string platform;
|
||||
Path builder;
|
||||
Strings args;
|
||||
StringPairs env;
|
||||
};
|
||||
|
||||
struct NixExpr
|
||||
{
|
||||
enum { neClosure, neDerivation } type;
|
||||
Closure closure;
|
||||
Derivation derivation;
|
||||
};
|
||||
|
||||
|
||||
/* Throw an exception with an error message containing the given
|
||||
aterm. */
|
||||
Error badTerm(const format & f, ATerm t);
|
||||
|
||||
/* Hash an aterm. */
|
||||
Hash hashTerm(ATerm t);
|
||||
|
||||
/* Write an aterm to the Nix store directory, and return its path. */
|
||||
Path writeTerm(ATerm t, const string & suffix);
|
||||
|
||||
/* Parse a Nix expression. */
|
||||
NixExpr parseNixExpr(ATerm t);
|
||||
|
||||
/* Parse a Nix expression. */
|
||||
ATerm unparseNixExpr(const NixExpr & ne);
|
||||
|
||||
|
||||
#endif /* !__FSTATE_H */
|
Loading…
Add table
Add a link
Reference in a new issue