formatting and a few minor changes

This commit is contained in:
Ben Burdette 2020-05-13 15:56:39 -06:00
parent d44bac1d92
commit ef9dd9f9bc
13 changed files with 54 additions and 77 deletions

View file

@ -427,7 +427,6 @@ expr_simple
.hint = hintfmt("URL literals are disabled"), .hint = hintfmt("URL literals are disabled"),
.nixCode = NixCode { .errPos = CUR_POS } .nixCode = NixCode { .errPos = CUR_POS }
}); });
$$ = new ExprString(data->symbols.create($1)); $$ = new ExprString(data->symbols.create($1));
} }
| '(' expr ')' { $$ = $2; } | '(' expr ')' { $$ = $2; }
@ -696,7 +695,6 @@ Path EvalState::findFile(SearchPath & searchPath, const string & path, const Pos
Path res = r.second + suffix; Path res = r.second + suffix;
if (pathExists(res)) return canonPath(res); if (pathExists(res)) return canonPath(res);
} }
throw ThrownError( throw ThrownError(
ErrorInfo { ErrorInfo {
.hint = hintfmt("file '%1%' was not found in the Nix search path (add it using $NIX_PATH or -I)", path), .hint = hintfmt("file '%1%' was not found in the Nix search path (add it using $NIX_PATH or -I)", path),

View file

@ -99,7 +99,6 @@ static void prim_scopedImport(EvalState & state, const Pos & pos, Value * * args
path, e.path), path, e.path),
.nixCode = NixCode { .errPos = pos } .nixCode = NixCode { .errPos = pos }
}); });
} }
Path realPath = state.checkSourcePath(state.toRealPath(path, context)); Path realPath = state.checkSourcePath(state.toRealPath(path, context));
@ -199,8 +198,8 @@ void prim_importNative(EvalState & state, const Pos & pos, Value * * args, Value
if (message) if (message)
throw EvalError("could not load symbol '%1%' from '%2%': %3%", sym, path, message); throw EvalError("could not load symbol '%1%' from '%2%': %3%", sym, path, message);
else else
throw EvalError("symbol '%1%' from '%2%' resolved to NULL when a function pointer was expected" throw EvalError("symbol '%1%' from '%2%' resolved to NULL when a function pointer was expected",
, sym, path); sym, path);
} }
(func)(state, v); (func)(state, v);
@ -233,8 +232,8 @@ void prim_exec(EvalState & state, const Pos & pos, Value * * args, Value & v)
} catch (InvalidPathError & e) { } catch (InvalidPathError & e) {
throw EvalError( throw EvalError(
ErrorInfo { ErrorInfo {
.hint = hintfmt("cannot execute '%1%', since path '%2%' is not valid" .hint = hintfmt("cannot execute '%1%', since path '%2%' is not valid",
, program, e.path), program, e.path),
.nixCode = NixCode { .errPos = pos } .nixCode = NixCode { .errPos = pos }
});} });}
@ -625,8 +624,6 @@ static void prim_derivationStrict(EvalState & state, const Pos & pos, Value * *
.hint = hintfmt("duplicate derivation output '%1%'", j), .hint = hintfmt("duplicate derivation output '%1%'", j),
.nixCode = NixCode { .errPos = posDrvName } .nixCode = NixCode { .errPos = posDrvName }
}); });
/* !!! Check whether j is a valid attribute /* !!! Check whether j is a valid attribute
name. */ name. */
/* Derivations cannot be named drv, because /* Derivations cannot be named drv, because
@ -638,7 +635,6 @@ static void prim_derivationStrict(EvalState & state, const Pos & pos, Value * *
.hint = hintfmt("invalid derivation output name 'drv'" ), .hint = hintfmt("invalid derivation output name 'drv'" ),
.nixCode = NixCode { .errPos = posDrvName } .nixCode = NixCode { .errPos = posDrvName }
}); });
outputs.insert(j); outputs.insert(j);
} }
if (outputs.empty()) if (outputs.empty())
@ -1236,7 +1232,6 @@ static void prim_path(EvalState & state, const Pos & pos, Value * * args, Value
path), path),
.nixCode = NixCode { .errPos = *attr.pos } .nixCode = NixCode { .errPos = *attr.pos }
}); });
} else if (attr.name == state.sName) } else if (attr.name == state.sName)
name = state.forceStringNoCtx(*attr.value, *attr.pos); name = state.forceStringNoCtx(*attr.value, *attr.pos);
else if (n == "filter") { else if (n == "filter") {
@ -1322,7 +1317,6 @@ void prim_getAttr(EvalState & state, const Pos & pos, Value * * args, Value & v)
.hint = hintfmt("attribute '%1%' missing", attr), .hint = hintfmt("attribute '%1%' missing", attr),
.nixCode = NixCode { .errPos = pos } .nixCode = NixCode { .errPos = pos }
}); });
// !!! add to stack trace? // !!! add to stack trace?
if (state.countCalls && i->pos) state.attrSelects[*i->pos]++; if (state.countCalls && i->pos) state.attrSelects[*i->pos]++;
state.forceValue(*i->value, pos); state.forceValue(*i->value, pos);
@ -1407,7 +1401,6 @@ static void prim_listToAttrs(EvalState & state, const Pos & pos, Value * * args,
.hint = hintfmt("'name' attribute missing in a call to 'listToAttrs'"), .hint = hintfmt("'name' attribute missing in a call to 'listToAttrs'"),
.nixCode = NixCode { .errPos = pos } .nixCode = NixCode { .errPos = pos }
}); });
string name = state.forceStringNoCtx(*j->value, pos); string name = state.forceStringNoCtx(*j->value, pos);
Symbol sym = state.symbols.create(name); Symbol sym = state.symbols.create(name);
@ -1419,7 +1412,6 @@ static void prim_listToAttrs(EvalState & state, const Pos & pos, Value * * args,
.hint = hintfmt("'value' attribute missing in a call to 'listToAttrs'"), .hint = hintfmt("'value' attribute missing in a call to 'listToAttrs'"),
.nixCode = NixCode { .errPos = pos } .nixCode = NixCode { .errPos = pos }
}); });
v.attrs->push_back(Attr(sym, j2->value, j2->pos)); v.attrs->push_back(Attr(sym, j2->value, j2->pos));
} }
} }
@ -1498,7 +1490,6 @@ static void prim_functionArgs(EvalState & state, const Pos & pos, Value * * args
.nixCode = NixCode { .errPos = pos } .nixCode = NixCode { .errPos = pos }
}); });
if (!args[0]->lambda.fun->matchAttrs) { if (!args[0]->lambda.fun->matchAttrs) {
state.mkAttrs(v, 0); state.mkAttrs(v, 0);
return; return;

View file

@ -151,7 +151,6 @@ static void prim_appendContext(EvalState & state, const Pos & pos, Value * * arg
.hint = hintfmt("Context key '%s' is not a store path", i.name), .hint = hintfmt("Context key '%s' is not a store path", i.name),
.nixCode = NixCode { .errPos = *i.pos } .nixCode = NixCode { .errPos = *i.pos }
}); });
if (!settings.readOnlyMode) if (!settings.readOnlyMode)
state.store->ensurePath(state.store->parseStorePath(i.name)); state.store->ensurePath(state.store->parseStorePath(i.name));
state.forceAttrs(*i.value, *i.pos); state.forceAttrs(*i.value, *i.pos);
@ -170,7 +169,6 @@ static void prim_appendContext(EvalState & state, const Pos & pos, Value * * arg
.hint = hintfmt("Tried to add all-outputs context of %s, which is not a derivation, to a string", i.name), .hint = hintfmt("Tried to add all-outputs context of %s, which is not a derivation, to a string", i.name),
.nixCode = NixCode { .errPos = *i.pos } .nixCode = NixCode { .errPos = *i.pos }
}); });
} }
context.insert("=" + string(i.name)); context.insert("=" + string(i.name));
} }

View file

@ -43,7 +43,6 @@ static void prim_fetchMercurial(EvalState & state, const Pos & pos, Value * * ar
.hint = hintfmt("unsupported argument '%s' to 'fetchMercurial'", attr.name), .hint = hintfmt("unsupported argument '%s' to 'fetchMercurial'", attr.name),
.nixCode = NixCode { .errPos = *attr.pos } .nixCode = NixCode { .errPos = *attr.pos }
}); });
} }
if (url.empty()) if (url.empty())

View file

@ -497,8 +497,8 @@ void handleDiffHook(
printError(chomp(diffRes.second)); printError(chomp(diffRes.second));
} catch (Error & error) { } catch (Error & error) {
ErrorInfo ei = error.info(); ErrorInfo ei = error.info();
string prevhint = (error.info().hint.has_value() ? error.info().hint->str() : ""); ei.hint = hintfmt("diff hook execution failed: %s",
ei.hint = std::optional(hintfmt("diff hook execution failed: %s", prevhint)); (error.info().hint.has_value() ? error.info().hint->str() : ""));
logError(ei); logError(ei);
} }
} }
@ -1312,7 +1312,6 @@ void DerivationGoal::repairClosure()
"found corrupted or missing path '%s' in the output closure of '%s'", "found corrupted or missing path '%s' in the output closure of '%s'",
worker.store.printStorePath(i), worker.store.printStorePath(drvPath)) worker.store.printStorePath(i), worker.store.printStorePath(drvPath))
}); });
auto drvPath2 = outputsToDrv.find(i); auto drvPath2 = outputsToDrv.find(i);
if (drvPath2 == outputsToDrv.end()) if (drvPath2 == outputsToDrv.end())
addWaitee(worker.makeSubstitutionGoal(i, Repair)); addWaitee(worker.makeSubstitutionGoal(i, Repair));
@ -4969,9 +4968,6 @@ void Worker::waitForInput()
} }
unsigned int Worker::exitStatus() unsigned int Worker::exitStatus()
{ {
/* /*
@ -5136,8 +5132,4 @@ void LocalStore::repairPath(const StorePath & path)
} }
} }

View file

@ -129,7 +129,6 @@ Path LocalFSStore::addPermRoot(const StorePath & storePath,
if (settings.checkRootReachability) { if (settings.checkRootReachability) {
auto roots = findRoots(false); auto roots = findRoots(false);
if (roots[storePath.clone()].count(gcRoot) == 0) if (roots[storePath.clone()].count(gcRoot) == 0)
logWarning( logWarning(
ErrorInfo { ErrorInfo {
.name = "GC root", .name = "GC root",

View file

@ -196,7 +196,7 @@ SQLiteTxn::~SQLiteTxn()
} }
} }
void handleSQLiteBusy(SQLiteBusy & e) void handleSQLiteBusy(const SQLiteBusy & e)
{ {
static std::atomic<time_t> lastWarned{0}; static std::atomic<time_t> lastWarned{0};

View file

@ -99,7 +99,7 @@ MakeError(SQLiteBusy, SQLiteError);
[[noreturn]] void throwSQLiteError(sqlite3 * db, const FormatOrString & fs); [[noreturn]] void throwSQLiteError(sqlite3 * db, const FormatOrString & fs);
void handleSQLiteBusy(SQLiteBusy & e); void handleSQLiteBusy(const SQLiteBusy & e);
/* Convenience function for retrying a SQLite transaction when the /* Convenience function for retrying a SQLite transaction when the
database is busy. */ database is busy. */

View file

@ -15,13 +15,13 @@ using std::set;
using std::vector; using std::vector;
using std::string; using std::string;
typedef list<std::string> Strings; typedef list<string> Strings;
typedef set<std::string> StringSet; typedef set<string> StringSet;
typedef std::map<std::string, std::string> StringMap; typedef std::map<string, string> StringMap;
/* Paths are just strings. */ /* Paths are just strings. */
typedef std::string Path; typedef string Path;
typedef list<Path> Paths; typedef list<Path> Paths;
typedef set<Path> PathSet; typedef set<Path> PathSet;

View file

@ -248,8 +248,8 @@ static void daemonLoop(char * * argv)
return; return;
} catch (Error & error) { } catch (Error & error) {
ErrorInfo ei = error.info(); ErrorInfo ei = error.info();
string prevhint = (error.info().hint.has_value() ? error.info().hint->str() : ""); ei.hint = std::optional(hintfmt("error processing connection: %1%",
ei.hint = std::optional(hintfmt("error processing connection: %1%", prevhint)); (error.info().hint.has_value() ? error.info().hint->str() : "")));
logError(ei); logError(ei);
} }
} }

View file

@ -69,7 +69,7 @@ typedef void (* Operation) (Globals & globals,
static string needArg(Strings::iterator & i, static string needArg(Strings::iterator & i,
Strings & args, const string & arg) Strings & args, const string & arg)
{ {
if (i == args.end()) throw UsageError( "'%1%' requires an argument", arg); if (i == args.end()) throw UsageError("'%1%' requires an argument", arg);
return *i++; return *i++;
} }
@ -151,7 +151,7 @@ static void loadSourceExpr(EvalState & state, const Path & path, Value & v)
{ {
struct stat st; struct stat st;
if (stat(path.c_str(), &st) == -1) if (stat(path.c_str(), &st) == -1)
throw SysError("getting inon about '%1%'", path); throw SysError("getting information about '%1%'", path);
if (isNixExpr(path, st)) if (isNixExpr(path, st))
state.evalFile(path, v); state.evalFile(path, v);

View file

@ -731,7 +731,7 @@ static void opVerifyPath(Strings opFlags, Strings opArgs)
if (current.first != info->narHash) { if (current.first != info->narHash) {
logError( logError(
ErrorInfo { ErrorInfo {
.name = "Hash match error", .name = "Hash mismatch",
.hint = hintfmt( .hint = hintfmt(
"path '%s' was modified! expected hash '%s', got '%s'", "path '%s' was modified! expected hash '%s', got '%s'",
store->printStorePath(path), store->printStorePath(path),