about summary refs log tree commit diff
path: root/third_party/nix/src/libexpr
diff options
context:
space:
mode:
Diffstat (limited to 'third_party/nix/src/libexpr')
-rw-r--r--third_party/nix/src/libexpr/eval.cc18
-rw-r--r--third_party/nix/src/libexpr/get-drvs.cc7
-rw-r--r--third_party/nix/src/libexpr/json-to-value.cc3
-rw-r--r--third_party/nix/src/libexpr/names.cc3
-rw-r--r--third_party/nix/src/libexpr/nixexpr.cc20
-rw-r--r--third_party/nix/src/libexpr/primops.cc7
-rw-r--r--third_party/nix/src/libexpr/primops/fetchGit.cc3
-rw-r--r--third_party/nix/src/libexpr/primops/fetchMercurial.cc3
-rw-r--r--third_party/nix/src/libexpr/value-to-xml.cc15
9 files changed, 40 insertions, 39 deletions
diff --git a/third_party/nix/src/libexpr/eval.cc b/third_party/nix/src/libexpr/eval.cc
index 19f6a46ed655..5d6f30c07d0c 100644
--- a/third_party/nix/src/libexpr/eval.cc
+++ b/third_party/nix/src/libexpr/eval.cc
@@ -820,15 +820,12 @@ void ExprAttrs::eval(EvalState& state, Env& env, Value& v) {
       newBnds->sort();
       v.attrs = newBnds;
     }
+  } else {
+    for (auto& i : attrs)
+      v.attrs->push_back(
+          Attr(i.first, i.second.e->maybeThunk(state, env), &i.second.pos));
   }
 
-  else {
-    for
-  }
-  (auto& i
-   : attrs) v.attrs->push_back(Attr(i.first, i.second.e->maybeThunk(state, env),
-                                    &i.second.pos));
-
   /* Dynamic attrs apply *after* rec and __overrides. */
   for (auto& i : dynamicAttrs) {
     Value nameVal;
@@ -1350,9 +1347,8 @@ void ExprConcatStrings::eval(EvalState& state, Env& env, Value& v) {
     auto path = canonPath(s.str());
     mkPath(v, path.c_str());
   } else {
-    mkString
+    mkString(v, s.str(), context);
   }
-  (v, s.str(), context);
 }
 
 void ExprPos::eval(EvalState& state, Env& env, Value& v) {
@@ -1378,9 +1374,7 @@ void EvalState::forceValueDeep(Value& v) {
                          i.name, *i.pos);
           throw;
         }
-    }
-
-    else if (v.isList()) {
+    } else if (v.isList()) {
       for (size_t n = 0; n < v.listSize(); ++n) recurse(*v.listElems()[n]);
     }
   };
diff --git a/third_party/nix/src/libexpr/get-drvs.cc b/third_party/nix/src/libexpr/get-drvs.cc
index 16bb03f1d16f..ad7211eaea5b 100644
--- a/third_party/nix/src/libexpr/get-drvs.cc
+++ b/third_party/nix/src/libexpr/get-drvs.cc
@@ -387,11 +387,10 @@ static void getDerivations(EvalState& state, Value& vIn,
   }
 
   else {
-    throw
+    throw TypeError(
+        "expression does not evaluate to a derivation (or a set or list of "
+        "those)");
   }
-  TypeError(
-      "expression does not evaluate to a derivation (or a set or list of "
-      "those)");
 }
 
 void getDerivations(EvalState& state, Value& v, const string& pathPrefix,
diff --git a/third_party/nix/src/libexpr/json-to-value.cc b/third_party/nix/src/libexpr/json-to-value.cc
index e7c7794d1181..8d84a5ac6901 100644
--- a/third_party/nix/src/libexpr/json-to-value.cc
+++ b/third_party/nix/src/libexpr/json-to-value.cc
@@ -42,9 +42,8 @@ static string parseJSONString(const char*& s) {
         throw JSONParseError("invalid escaped character in JSON string");
       s++;
     } else {
-      res
+      res += *s++;
     }
-    += *s++;
   }
   s++;
   return res;
diff --git a/third_party/nix/src/libexpr/names.cc b/third_party/nix/src/libexpr/names.cc
index 66a918de5dc2..f7752f2bf804 100644
--- a/third_party/nix/src/libexpr/names.cc
+++ b/third_party/nix/src/libexpr/names.cc
@@ -71,9 +71,8 @@ static bool componentsLT(const string& c1, const string& c2) {
   } else if (c1Num) {
     return false;
   } else {
-    return
+    return c1 < c2;
   }
-  c1 < c2;
 }
 
 int compareVersions(const string& v1, const string& v2) {
diff --git a/third_party/nix/src/libexpr/nixexpr.cc b/third_party/nix/src/libexpr/nixexpr.cc
index 85e80361e3ab..9c25530efdba 100644
--- a/third_party/nix/src/libexpr/nixexpr.cc
+++ b/third_party/nix/src/libexpr/nixexpr.cc
@@ -256,16 +256,20 @@ void ExprAttrs::bindVars(const StaticEnv& env) {
     dynamicEnv = &newEnv;
 
     unsigned int displ = 0;
-    for (auto& i : attrs) newEnv.vars[i.first] = i.second.displ = displ++;
+    for (auto& i : attrs) {
+      newEnv.vars[i.first] = i.second.displ = displ++;
+    }
 
-    for (auto& i : attrs)
+    for (auto& i : attrs) {
       i.second.e->bindVars(i.second.inherited ? env : newEnv);
+    }
   }
 
   else {
-    for
+    for (auto& i : attrs) {
+      i.second.e->bindVars(env);
+    }
   }
-  (auto& i : attrs) i.second.e->bindVars(env);
 
   for (auto& i : dynamicAttrs) {
     i.nameExpr->bindVars(*dynamicEnv);
@@ -282,10 +286,14 @@ void ExprLambda::bindVars(const StaticEnv& env) {
 
   unsigned int displ = 0;
 
-  if (!arg.empty()) newEnv.vars[arg] = displ++;
+  if (!arg.empty()) {
+    newEnv.vars[arg] = displ++;
+  }
 
   if (matchAttrs) {
-    for (auto& i : formals->formals) newEnv.vars[i.name] = displ++;
+    for (auto& i : formals->formals) {
+      newEnv.vars[i.name] = displ++;
+    }
 
     for (auto& i : formals->formals)
       if (i.def) i.def->bindVars(newEnv);
diff --git a/third_party/nix/src/libexpr/primops.cc b/third_party/nix/src/libexpr/primops.cc
index 98a6f56dfdf3..3e11d6589f6a 100644
--- a/third_party/nix/src/libexpr/primops.cc
+++ b/third_party/nix/src/libexpr/primops.cc
@@ -1966,9 +1966,9 @@ static void prim_concatStringSep(EvalState& state, const Pos& pos, Value** args,
     if (first) {
       first = false;
     } else {
-      res
+      res += sep;
     }
-    += sep;
+
     res += state.coerceToString(pos, *args[1]->listElems()[n], context);
   }
 
@@ -2103,9 +2103,8 @@ void fetch(EvalState& state, const Pos& pos, Value** args, Value& v,
       throw EvalError(format("'url' argument required, at %1%") % pos);
 
   } else {
-    request
+    request.uri = state.forceStringNoCtx(*args[0], pos);
   }
-  .uri = state.forceStringNoCtx(*args[0], pos);
 
   state.checkURI(request.uri);
 
diff --git a/third_party/nix/src/libexpr/primops/fetchGit.cc b/third_party/nix/src/libexpr/primops/fetchGit.cc
index af3f89fde77a..7fbd4dc92cf0 100644
--- a/third_party/nix/src/libexpr/primops/fetchGit.cc
+++ b/third_party/nix/src/libexpr/primops/fetchGit.cc
@@ -228,9 +228,8 @@ static void prim_fetchGit(EvalState& state, const Pos& pos, Value** args,
       throw EvalError(format("'url' argument required, at %1%") % pos);
 
   } else {
-    url
+    url = state.coerceToString(pos, *args[0], context, false, false);
   }
-  = state.coerceToString(pos, *args[0], context, false, false);
 
   // FIXME: git externals probably can be used to bypass the URI
   // whitelist. Ah well.
diff --git a/third_party/nix/src/libexpr/primops/fetchMercurial.cc b/third_party/nix/src/libexpr/primops/fetchMercurial.cc
index 5847f6021f43..3de42fe770dc 100644
--- a/third_party/nix/src/libexpr/primops/fetchMercurial.cc
+++ b/third_party/nix/src/libexpr/primops/fetchMercurial.cc
@@ -204,9 +204,8 @@ static void prim_fetchMercurial(EvalState& state, const Pos& pos, Value** args,
       throw EvalError(format("'url' argument required, at %1%") % pos);
 
   } else {
-    url
+    url = state.coerceToString(pos, *args[0], context, false, false);
   }
-  = state.coerceToString(pos, *args[0], context, false, false);
 
   // FIXME: git externals probably can be used to bypass the URI
   // whitelist. Ah well.
diff --git a/third_party/nix/src/libexpr/value-to-xml.cc b/third_party/nix/src/libexpr/value-to-xml.cc
index 5ea1e09824c7..6247d25b9c34 100644
--- a/third_party/nix/src/libexpr/value-to-xml.cc
+++ b/third_party/nix/src/libexpr/value-to-xml.cc
@@ -137,15 +137,20 @@ static void printValueAsXML(EvalState& state, bool strict, bool location,
 
       if (v.lambda.fun->matchAttrs) {
         XMLAttrs attrs;
-        if (!v.lambda.fun->arg.empty()) attrs["name"] = v.lambda.fun->arg;
-        if (v.lambda.fun->formals->ellipsis) attrs["ellipsis"] = "1";
+        if (!v.lambda.fun->arg.empty()) {
+          attrs["name"] = v.lambda.fun->arg;
+        }
+        if (v.lambda.fun->formals->ellipsis) {
+          attrs["ellipsis"] = "1";
+        }
         XMLOpenElement _(doc, "attrspat", attrs);
-        for (auto& i : v.lambda.fun->formals->formals)
+        for (auto& i : v.lambda.fun->formals->formals) {
           doc.writeEmptyElement("attr", singletonAttrs("name", i.name));
+        }
       } else {
-        doc
+        doc.writeEmptyElement("varpat",
+                              singletonAttrs("name", v.lambda.fun->arg));
       }
-      .writeEmptyElement("varpat", singletonAttrs("name", v.lambda.fun->arg));
 
       break;
     }