Skip to content

Commit 1f0b0b9

Browse files
committed
Misc. cleanup
1 parent 0c19326 commit 1f0b0b9

File tree

4 files changed

+8
-5
lines changed

4 files changed

+8
-5
lines changed

ast/desugar/Desugar.cc

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ core::NameRef blockParam2Name(DesugarContext dctx, const BlockParam &blockParam)
5454
int numparamNum(DesugarContext dctx, parser::Node *decl) {
5555
if (auto *lvar = parser::cast_node<parser::LVar>(decl)) {
5656
auto name_str = lvar->name.show(dctx.ctx);
57-
return name_str[1] - 48;
57+
return name_str[1] - '0';
5858
}
5959
return -1;
6060
}

parser/Builder.cc

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -229,7 +229,7 @@ class Builder::Impl {
229229
auto intro = make_unique<LVar>(node->loc, id->name);
230230
auto decls = driver_->alloc.node_list();
231231
decls->emplace_back(toForeign(std::move(intro)));
232-
driver_->numparam_stack.regis(name_str[1] - 48, std::move(decls));
232+
driver_->numparam_stack.regis(name_str[1] - '0', std::move(decls));
233233
}
234234

235235
auto last_char = name_str.back();
@@ -1910,7 +1910,7 @@ class Builder::Impl {
19101910
}
19111911

19121912
bool isNumberedParameterName(std::string_view name) {
1913-
return name.length() == 2 && name[0] == '_' && name[1] >= '1' && name[1] <= '9';
1913+
return name.length() == 2 && name[0] == '_' && isdigit(name[1]);
19141914
}
19151915
};
19161916

parser/parser/include/ruby_parser/driver.hh

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -225,12 +225,12 @@ public:
225225

226226
// Have we encountered an ordinary param before? (top < 0)
227227
bool seen_ordinary_params() {
228-
return stack.empty() ? false : top()->max < 0;
228+
return !stack.empty() && top()->max < 0;
229229
}
230230

231231
// Have we encountered a num param before? (top > 0)
232232
bool seen_numparams() {
233-
return stack.empty() ? false : top()->max > 0;
233+
return !stack.empty() && top()->max > 0;
234234
}
235235

236236
// Register a numparam in the current scope

parser/prism/Translator.cc

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1234,6 +1234,9 @@ unique_ptr<parser::Node> Translator::translate(pm_node_t *node, bool preserveCon
12341234

12351235
auto paramCount = numberedParamsNode->maximum;
12361236

1237+
ENFORCE(1 <= paramCount,
1238+
"A `pm_numbered_parameters_node_t` node should have at least one parameter");
1239+
12371240
NodeVec params;
12381241
params.reserve(paramCount);
12391242

0 commit comments

Comments
 (0)