Nix 2.26.3
Nix, the purely functional package manager; unstable internal interfaces
 
Loading...
Searching...
No Matches
installable-attr-path.hh
Go to the documentation of this file.
1#pragma once
3
4#include "globals.hh"
6#include "outputs-spec.hh"
7#include "command.hh"
8#include "attr-path.hh"
9#include "common-eval-args.hh"
10#include "derivations.hh"
11#include "eval-inline.hh"
12#include "eval.hh"
13#include "get-drvs.hh"
14#include "store-api.hh"
15#include "shared.hh"
16#include "eval-cache.hh"
17#include "url.hh"
18#include "registry.hh"
19#include "build-result.hh"
20
21#include <regex>
22#include <queue>
23
24#include <nlohmann/json.hpp>
25
26namespace nix {
27
28class InstallableAttrPath : public InstallableValue
29{
31 RootValue v;
32 std::string attrPath;
33 ExtendedOutputsSpec extendedOutputsSpec;
34
35 InstallableAttrPath(
36 ref<EvalState> state,
38 Value * v,
39 const std::string & attrPath,
40 ExtendedOutputsSpec extendedOutputsSpec);
41
42 std::string what() const override { return attrPath; };
43
44 std::pair<Value *, PosIdx> toValue(EvalState & state) override;
45
46 DerivedPathsWithInfo toDerivedPaths() override;
47
48public:
49
50 static InstallableAttrPath parse(
51 ref<EvalState> state,
53 Value * v,
54 std::string_view prefix,
55 ExtendedOutputsSpec extendedOutputsSpec);
56};
57
58}
Definition eval.hh:182
Definition ref.hh:15
std::vector< DerivedPathWithInfo > DerivedPathsWithInfo
Definition installables.hh:95
Definition outputs-spec.hh:96
Definition command.hh:136
Definition value.hh:167
std::shared_ptr< Value * > RootValue
Definition value.hh:509