Nix 2.93.3
Lix: A modern, delicious implementation of the Nix package manager; unstable internal interfaces
Loading...
Searching...
No Matches
installable-attr-path.hh
Go to the documentation of this file.
1#pragma once
3
9#include "lix/libexpr/eval.hh"
10
11namespace nix {
12
13class InstallableAttrPath : public InstallableValue
14{
16 RootValue v;
17 std::string attrPath;
18 ExtendedOutputsSpec extendedOutputsSpec;
19
20 InstallableAttrPath(
23 Value * v,
24 const std::string & attrPath,
25 ExtendedOutputsSpec extendedOutputsSpec);
26
27 std::string what() const override { return attrPath; };
28
29 std::pair<Value *, PosIdx> toValue(EvalState & state) override;
30
31 DerivedPathsWithInfo toDerivedPaths(EvalState & state) override;
32
33public:
34
35 static InstallableAttrPath parse(
38 Value * v,
39 std::string_view prefix,
40 ExtendedOutputsSpec extendedOutputsSpec);
41};
42
43}
Definition eval.hh:685
Definition ref.hh:19
std::vector< DerivedPathWithInfo > DerivedPathsWithInfo
Definition installables.hh:93
Definition outputs-spec.hh:97
virtual std::string what() const =0
Definition command.hh:112
Definition value.hh:190
std::shared_ptr< Value * > RootValue
Definition value.hh:848