#pragma once ///@file #include "installable-value.hh" #include "outputs-spec.hh" #include "command.hh" #include "common-eval-args.hh" #include "eval.hh" #include namespace nix { class InstallableAttrPath : public InstallableValue { SourceExprCommand & cmd; RootValue v; std::string attrPath; ExtendedOutputsSpec extendedOutputsSpec; InstallableAttrPath( ref state, SourceExprCommand & cmd, Value * v, const std::string & attrPath, ExtendedOutputsSpec extendedOutputsSpec); std::string what() const override { return attrPath; }; std::pair toValue(EvalState & state) override; DerivedPathsWithInfo toDerivedPaths() override; public: static InstallableAttrPath parse( ref state, SourceExprCommand & cmd, Value * v, std::string_view prefix, ExtendedOutputsSpec extendedOutputsSpec); }; }