about summary refs log tree commit diff
path: root/third_party/nix/src/libexpr/value.hh
diff options
context:
space:
mode:
Diffstat (limited to 'third_party/nix/src/libexpr/value.hh')
-rw-r--r--third_party/nix/src/libexpr/value.hh53
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 35c5e4d0a0..5d5785ebeb 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;
   };