aboutsummaryrefslogtreecommitdiff
path: root/src/libexpr/flake/flake.cc
diff options
context:
space:
mode:
authorDanila Fedorin <danila.fedorin@gmail.com>2021-01-08 03:13:42 +0000
committerDanila Fedorin <danila.fedorin@gmail.com>2021-01-08 03:13:42 +0000
commitba0f841a078402f95cf93693c3749743c3ab6246 (patch)
tree76e12c33c82bf320a63ba6d231411d885c0af8e9 /src/libexpr/flake/flake.cc
parent93f1678ec60bcacfcc857f361b5f63e37c498eb4 (diff)
Use switch statement instead of sequence of ifs
Diffstat (limited to 'src/libexpr/flake/flake.cc')
-rw-r--r--src/libexpr/flake/flake.cc22
1 files changed, 13 insertions, 9 deletions
diff --git a/src/libexpr/flake/flake.cc b/src/libexpr/flake/flake.cc
index 41c93bcaa..9f1e4063f 100644
--- a/src/libexpr/flake/flake.cc
+++ b/src/libexpr/flake/flake.cc
@@ -120,15 +120,19 @@ static FlakeInput parseFlakeInput(EvalState & state,
expectType(state, nString, *attr.value, *attr.pos);
input.follows = parseInputPath(attr.value->string.s);
} else {
- if (attr.value->type() == nString) {
- attrs.emplace(attr.name, attr.value->string.s);
- } else if (attr.value->type() == nBool) {
- attrs.emplace(attr.name, Explicit<bool>{ attr.value->boolean });
- } else if (attr.value->type() == nInt) {
- attrs.emplace(attr.name, attr.value->integer);
- } else {
- throw TypeError("flake input attribute '%s' is %s while a string, boolean, or integer is expected",
- attr.name, showType(*attr.value));
+ switch (attr.value->type()) {
+ case nString:
+ attrs.emplace(attr.name, attr.value->string.s);
+ break;
+ case nBool:
+ attrs.emplace(attr.name, Explicit<bool> { attr.value->boolean });
+ break;
+ case nInt:
+ attrs.emplace(attr.name, attr.value->integer);
+ break;
+ default:
+ throw TypeError("flake input attribute '%s' is %s while a string, boolean, or integer is expected",
+ attr.name, showType(*attr.value));
}
}
} catch (Error & e) {