brewery
notashelf /
d272dc589e306e450d57d30218994ecfe45a6bd6

nixir

public

Import-resolving Nix IR plugin

Star0tarball
clone
ssh://git@git.notashelf.dev:33/notashelf/nixir.git
src/irc/evaluator.hC34 lines557 B
1
#ifndef NIX_IRC_EVALUATOR_H
2
#define NIX_IRC_EVALUATOR_H
3
4
#include "types.h"
5
#include <memory>
6
#include <vector>
7
8
namespace nix {
9
class EvalState;
10
class Value;
11
class PosIdx;
12
} // namespace nix
13
14
namespace nix_irc {
15
16
class IRValue;
17
class IREnvironment;
18
19
class Evaluator {
20
public:
21
  explicit Evaluator(nix::EvalState& state);
22
  ~Evaluator();
23
24
  void eval_to_nix(const std::shared_ptr<Node>& ir_node, nix::Value& result,
25
                   IREnvironment* env = nullptr);
26
27
private:
28
  struct Impl;
29
  std::unique_ptr<Impl> pImpl;
30
};
31
32
} // namespace nix_irc
33
34
#endif