[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
315/376: Make all ExternalValueBase functions const
From: |
Ludovic Courtès |
Subject: |
315/376: Make all ExternalValueBase functions const |
Date: |
Wed, 28 Jan 2015 22:05:52 +0000 |
civodul pushed a commit to tag 1.8
in repository guix.
commit 608110804cc753eee31418fda1b33cb77a83d0fc
Author: Shea Levy <address@hidden>
Date: Tue Dec 2 10:02:03 2014 -0500
Make all ExternalValueBase functions const
---
src/libexpr/eval.cc | 6 +++---
src/libexpr/value-to-json.cc | 2 +-
src/libexpr/value-to-xml.cc | 2 +-
src/libexpr/value.hh | 20 ++++++++++----------
4 files changed, 15 insertions(+), 15 deletions(-)
diff --git a/src/libexpr/eval.cc b/src/libexpr/eval.cc
index b0afccd..2ff9756 100644
--- a/src/libexpr/eval.cc
+++ b/src/libexpr/eval.cc
@@ -1616,20 +1616,20 @@ size_t valueSize(Value & v)
}
-string ExternalValueBase::coerceToString(const Pos & pos, PathSet & context,
bool copyMore, bool copyToStore)
+string ExternalValueBase::coerceToString(const Pos & pos, PathSet & context,
bool copyMore, bool copyToStore) const
{
throw TypeError(format("cannot coerce %1% to a string, at %2%") %
showType() % pos);
}
-bool ExternalValueBase::operator==(const ExternalValueBase & b)
+bool ExternalValueBase::operator==(const ExternalValueBase & b) const
{
return false;
}
-std::ostream & operator << (std::ostream & str, ExternalValueBase & v) {
+std::ostream & operator << (std::ostream & str, const ExternalValueBase & v) {
return v.print(str);
}
diff --git a/src/libexpr/value-to-json.cc b/src/libexpr/value-to-json.cc
index b9f3e65..cdb7134 100644
--- a/src/libexpr/value-to-json.cc
+++ b/src/libexpr/value-to-json.cc
@@ -91,7 +91,7 @@ void printValueAsJSON(EvalState & state, bool strict,
void ExternalValueBase::printValueAsJSON(EvalState & state, bool strict,
- std::ostream & str, PathSet & context)
+ std::ostream & str, PathSet & context) const
{
throw TypeError(format("cannot convert %1% to JSON") % showType());
}
diff --git a/src/libexpr/value-to-xml.cc b/src/libexpr/value-to-xml.cc
index 3cecc33..bbbb703 100644
--- a/src/libexpr/value-to-xml.cc
+++ b/src/libexpr/value-to-xml.cc
@@ -155,7 +155,7 @@ static void printValueAsXML(EvalState & state, bool strict,
bool location,
void ExternalValueBase::printValueAsXML(EvalState & state, bool strict,
- bool location, XMLWriter & doc, PathSet & context, PathSet & drvsSeen)
+ bool location, XMLWriter & doc, PathSet & context, PathSet & drvsSeen)
const
{
doc.writeEmptyElement("unevaluated");
}
diff --git a/src/libexpr/value.hh b/src/libexpr/value.hh
index 227a81f..c06b5a6 100644
--- a/src/libexpr/value.hh
+++ b/src/libexpr/value.hh
@@ -42,45 +42,45 @@ typedef long NixInt;
*/
class ExternalValueBase
{
- friend std::ostream & operator << (std::ostream & str, ExternalValueBase &
v);
+ friend std::ostream & operator << (std::ostream & str, const
ExternalValueBase & v);
protected:
/* Print out the value */
- virtual std::ostream & print(std::ostream & str) = 0;
+ virtual std::ostream & print(std::ostream & str) const = 0;
public:
/* Return a simple string describing the type */
- virtual string showType() = 0;
+ virtual string showType() const = 0;
/* Return a string to be used in builtins.typeOf */
- virtual string typeOf() = 0;
+ virtual string typeOf() const = 0;
/* How much space does this value take up */
- virtual size_t valueSize(std::set<const void *> & seen) = 0;
+ 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 string coerceToString(const Pos & pos, PathSet & context, bool
copyMore, bool copyToStore);
+ virtual 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);
+ 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,
- std::ostream & str, PathSet & context);
+ std::ostream & str, 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);
+ XMLWriter & doc, PathSet & context, PathSet & drvsSeen) const;
virtual ~ExternalValueBase()
{
};
};
-std::ostream & operator << (std::ostream & str, ExternalValueBase & v);
+std::ostream & operator << (std::ostream & str, const ExternalValueBase & v);
struct Value
- 305/376: Update quick start section, (continued)
- 305/376: Update quick start section, Ludovic Courtès, 2015/01/28
- 306/376: Update installation section, Ludovic Courtès, 2015/01/28
- 308/376: Build derivations in a more predictable order, Ludovic Courtès, 2015/01/28
- 307/376: Don't create unnecessary substitution goals for derivations, Ludovic Courtès, 2015/01/28
- 309/376: More build-cache-failures -> build-cache-failure, Ludovic Courtès, 2015/01/28
- 310/376: forceString(): Accept pos argument, Ludovic Courtès, 2015/01/28
- 311/376: Add a primop for regular expression pattern matching, Ludovic Courtès, 2015/01/28
- 312/376: Rely on XML catalogs to find the DocBook schemas and stylesheets, Ludovic Courtès, 2015/01/28
- 313/376: Intro: Mention binary caches, Ludovic Courtès, 2015/01/28
- 303/376: Manual: Bump date, Ludovic Courtès, 2015/01/28
- 315/376: Make all ExternalValueBase functions const,
Ludovic Courtès <=
- 318/376: Shut up a warning, Ludovic Courtès, 2015/01/28
- 317/376: Fix another operator precedence issue found by Perl 5.20, Ludovic Courtès, 2015/01/28
- 322/376: Remove Fedora 18, 19 builds, Ludovic Courtès, 2015/01/28
- 319/376: Use posix_spawn to run the pager, Ludovic Courtès, 2015/01/28
- 321/376: Remove some platforms with too-old compilers, Ludovic Courtès, 2015/01/28
- 323/376: Explicitly include required C headers, Ludovic Courtès, 2015/01/28
- 316/376: Merge pull request #401 from shlevy/external-value, Ludovic Courtès, 2015/01/28
- 314/376: Allow external code using libnixexpr to add types, Ludovic Courtès, 2015/01/28
- 328/376: Provide some fallback defaults for the CA bundle, Ludovic Courtès, 2015/01/28
- 329/376: Add option to disable binary cache certificate checking, Ludovic Courtès, 2015/01/28