diff options
author | Kane York <kanepyork@gmail.com> | 2020-07-31T22·27-0700 |
---|---|---|
committer | kanepyork <rikingcoding@gmail.com> | 2020-08-01T18·54+0000 |
commit | 64f6bb695130e14bb376fa52a46c716c975020a4 (patch) | |
tree | c0882c2e6ad92465700a67a66249f023aa5627c0 /third_party/nix/src/libexpr/value.hh | |
parent | 770034042a3e7cb7f3a9f7a271ab45e44b0d006c (diff) |
feat(3p/nix): remove External values feature r/1527
External values are only useful when using the plugin framework, which we are not interested in carrying forward. Reverts commit 320659b0cd161249c95e736c3fb309b1a73ea728 Change-Id: Ib4929c349bbb33f16224fc674e94c7b7d5953c6a Reviewed-on: https://cl.tvl.fyi/c/depot/+/1505 Tested-by: BuildkiteCI Reviewed-by: glittershark <grfn@gws.fyi> Reviewed-by: tazjin <mail@tazj.in>
Diffstat (limited to 'third_party/nix/src/libexpr/value.hh')
-rw-r--r-- | third_party/nix/src/libexpr/value.hh | 53 |
1 files changed, 1 insertions, 52 deletions
diff --git a/third_party/nix/src/libexpr/value.hh b/third_party/nix/src/libexpr/value.hh index 35c5e4d0a0b5..5d5785ebeb0f 100644 --- a/third_party/nix/src/libexpr/value.hh +++ b/third_party/nix/src/libexpr/value.hh @@ -25,7 +25,7 @@ typedef enum { tBlackhole, tPrimOp, tPrimOpApp, - tExternal, + _reserved1, // formerly tExternal tFloat } ValueType; @@ -36,60 +36,10 @@ struct ExprLambda; struct PrimOp; struct PrimOp; class Symbol; -struct Pos; -class EvalState; -class XMLWriter; -class JSONPlaceholder; typedef int64_t NixInt; typedef double NixFloat; -/* External values must descend from ExternalValueBase, so that - * type-agnostic nix functions (e.g. showType) can be implemented - */ -class ExternalValueBase { - friend std::ostream& operator<<(std::ostream& str, - const ExternalValueBase& v); - - protected: - /* Print out the value */ - virtual std::ostream& print(std::ostream& str) const = 0; - - public: - /* Return a simple string describing the type */ - virtual std::string showType() const = 0; - - /* Return a string to be used in builtins.typeOf */ - virtual std::string typeOf() const = 0; - - /* How much space does this value take up */ - virtual size_t valueSize(std::set<const void*>& seen) const = 0; - - /* Coerce the value to a string. Defaults to uncoercable, i.e. throws an - * error - */ - virtual std::string coerceToString(const Pos& pos, PathSet& context, - bool copyMore, bool copyToStore) const; - - /* Compare to another value of the same type. Defaults to uncomparable, - * i.e. always false. - */ - virtual bool operator==(const ExternalValueBase& b) const; - - /* Print the value as JSON. Defaults to unconvertable, i.e. throws an error */ - virtual void printValueAsJSON(EvalState& state, bool strict, - JSONPlaceholder& out, PathSet& context) const; - - /* Print the value as XML. Defaults to unevaluated */ - virtual void printValueAsXML(EvalState& state, bool strict, bool location, - XMLWriter& doc, PathSet& context, - PathSet& drvsSeen) const; - - virtual ~ExternalValueBase(){}; -}; - -std::ostream& operator<<(std::ostream& str, const ExternalValueBase& v); - // Forward declaration of Value is required because the following // types are mutually recursive. // @@ -155,7 +105,6 @@ struct Value : public gc { NixLambda lambda; PrimOp* primOp; NixPrimOpApp primOpApp; - ExternalValueBase* external; NixFloat fpoint; }; |