aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorEelco Dolstra <edolstra@gmail.com>2018-03-14 19:20:32 +0100
committerEelco Dolstra <edolstra@gmail.com>2018-03-14 19:25:09 +0100
commit55aa622fb1ae01a8a939fa32f71e7eed50afbbf9 (patch)
tree28c05296d88c3f184f0fb1c482224d27a46cfc7b /src
parentc04bca34016c41d1fcab222e2d61a26a285340c6 (diff)
Fix compatibility with latest boost::format
Diffstat (limited to 'src')
-rw-r--r--src/libexpr/nixexpr.cc38
-rw-r--r--src/libexpr/nixexpr.hh8
2 files changed, 23 insertions, 23 deletions
diff --git a/src/libexpr/nixexpr.cc b/src/libexpr/nixexpr.cc
index 7b0a127cd..63cbef1dd 100644
--- a/src/libexpr/nixexpr.cc
+++ b/src/libexpr/nixexpr.cc
@@ -10,7 +10,7 @@ namespace nix {
/* Displaying abstract syntax trees. */
-std::ostream & operator << (std::ostream & str, Expr & e)
+std::ostream & operator << (std::ostream & str, const Expr & e)
{
e.show(str);
return str;
@@ -58,48 +58,48 @@ std::ostream & operator << (std::ostream & str, const Symbol & sym)
return str;
}
-void Expr::show(std::ostream & str)
+void Expr::show(std::ostream & str) const
{
abort();
}
-void ExprInt::show(std::ostream & str)
+void ExprInt::show(std::ostream & str) const
{
str << n;
}
-void ExprFloat::show(std::ostream & str)
+void ExprFloat::show(std::ostream & str) const
{
str << nf;
}
-void ExprString::show(std::ostream & str)
+void ExprString::show(std::ostream & str) const
{
showString(str, s);
}
-void ExprPath::show(std::ostream & str)
+void ExprPath::show(std::ostream & str) const
{
str << s;
}
-void ExprVar::show(std::ostream & str)
+void ExprVar::show(std::ostream & str) const
{
str << name;
}
-void ExprSelect::show(std::ostream & str)
+void ExprSelect::show(std::ostream & str) const
{
str << "(" << *e << ")." << showAttrPath(attrPath);
if (def) str << " or (" << *def << ")";
}
-void ExprOpHasAttr::show(std::ostream & str)
+void ExprOpHasAttr::show(std::ostream & str) const
{
str << "((" << *e << ") ? " << showAttrPath(attrPath) << ")";
}
-void ExprAttrs::show(std::ostream & str)
+void ExprAttrs::show(std::ostream & str) const
{
if (recursive) str << "rec ";
str << "{ ";
@@ -113,7 +113,7 @@ void ExprAttrs::show(std::ostream & str)
str << "}";
}
-void ExprList::show(std::ostream & str)
+void ExprList::show(std::ostream & str) const
{
str << "[ ";
for (auto & i : elems)
@@ -121,7 +121,7 @@ void ExprList::show(std::ostream & str)
str << "]";
}
-void ExprLambda::show(std::ostream & str)
+void ExprLambda::show(std::ostream & str) const
{
str << "(";
if (matchAttrs) {
@@ -143,7 +143,7 @@ void ExprLambda::show(std::ostream & str)
str << ": " << *body << ")";
}
-void ExprLet::show(std::ostream & str)
+void ExprLet::show(std::ostream & str) const
{
str << "(let ";
for (auto & i : attrs->attrs)
@@ -155,27 +155,27 @@ void ExprLet::show(std::ostream & str)
str << "in " << *body << ")";
}
-void ExprWith::show(std::ostream & str)
+void ExprWith::show(std::ostream & str) const
{
str << "(with " << *attrs << "; " << *body << ")";
}
-void ExprIf::show(std::ostream & str)
+void ExprIf::show(std::ostream & str) const
{
str << "(if " << *cond << " then " << *then << " else " << *else_ << ")";
}
-void ExprAssert::show(std::ostream & str)
+void ExprAssert::show(std::ostream & str) const
{
str << "assert " << *cond << "; " << *body;
}
-void ExprOpNot::show(std::ostream & str)
+void ExprOpNot::show(std::ostream & str) const
{
str << "(! " << *e << ")";
}
-void ExprConcatStrings::show(std::ostream & str)
+void ExprConcatStrings::show(std::ostream & str) const
{
bool first = true;
str << "(";
@@ -186,7 +186,7 @@ void ExprConcatStrings::show(std::ostream & str)
str << ")";
}
-void ExprPos::show(std::ostream & str)
+void ExprPos::show(std::ostream & str) const
{
str << "__curPos";
}
diff --git a/src/libexpr/nixexpr.hh b/src/libexpr/nixexpr.hh
index eb9fac25c..8c8f39640 100644
--- a/src/libexpr/nixexpr.hh
+++ b/src/libexpr/nixexpr.hh
@@ -76,17 +76,17 @@ string showAttrPath(const AttrPath & attrPath);
struct Expr
{
virtual ~Expr() { };
- virtual void show(std::ostream & str);
+ virtual void show(std::ostream & str) const;
virtual void bindVars(const StaticEnv & env);
virtual void eval(EvalState & state, Env & env, Value & v);
virtual Value * maybeThunk(EvalState & state, Env & env);
virtual void setName(Symbol & name);
};
-std::ostream & operator << (std::ostream & str, Expr & e);
+std::ostream & operator << (std::ostream & str, const Expr & e);
#define COMMON_METHODS \
- void show(std::ostream & str); \
+ void show(std::ostream & str) const; \
void eval(EvalState & state, Env & env, Value & v); \
void bindVars(const StaticEnv & env);
@@ -289,7 +289,7 @@ struct ExprOpNot : Expr
Expr * e1, * e2; \
name(Expr * e1, Expr * e2) : e1(e1), e2(e2) { }; \
name(const Pos & pos, Expr * e1, Expr * e2) : pos(pos), e1(e1), e2(e2) { }; \
- void show(std::ostream & str) \
+ void show(std::ostream & str) const \
{ \
str << "(" << *e1 << " " s " " << *e2 << ")"; \
} \