brewery
notashelf /
49f64c9c98c1477289fce86b175eb203ab5d3f15

nixir

public

Import-resolving Nix IR plugin

Star0tarball
clone
ssh://git@git.notashelf.dev:33/notashelf/nixir.git
src/irc/evaluator.hC35 lines552 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
}
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,
25
                     nix::Value& result,
26
                     IREnvironment* env = nullptr);
27
28
private:
29
    struct Impl;
30
    std::unique_ptr<Impl> pImpl;
31
};
32
33
}
34
35
#endif