diff options
author | Li Jin <dragon-fly@qq.com> | 2022-07-25 10:55:05 +0800 |
---|---|---|
committer | Li Jin <dragon-fly@qq.com> | 2022-07-25 10:55:05 +0800 |
commit | 13c7eb4252e8c4228fabf1ade13b7b9bcbd80656 (patch) | |
tree | 51929cde266691bcc38eef25685d3cf95bd21a2d /src | |
parent | 74b22e543819a1c6b3ab4fe30b57f6f045db0e8a (diff) | |
download | yuescript-13c7eb4252e8c4228fabf1ade13b7b9bcbd80656.tar.gz yuescript-13c7eb4252e8c4228fabf1ade13b7b9bcbd80656.tar.bz2 yuescript-13c7eb4252e8c4228fabf1ade13b7b9bcbd80656.zip |
cleanup.
Diffstat (limited to 'src')
-rwxr-xr-x | src/yuescript/yue_compiler.cpp | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/src/yuescript/yue_compiler.cpp b/src/yuescript/yue_compiler.cpp index cc8bf79..c10c6fd 100755 --- a/src/yuescript/yue_compiler.cpp +++ b/src/yuescript/yue_compiler.cpp | |||
@@ -1336,9 +1336,11 @@ private: | |||
1336 | BREAK_IF(!assign); | 1336 | BREAK_IF(!assign); |
1337 | if (assignment->expList->exprs.size() < assign->values.size()) { | 1337 | if (assignment->expList->exprs.size() < assign->values.size()) { |
1338 | auto num = assignment->expList->exprs.size(); | 1338 | auto num = assignment->expList->exprs.size(); |
1339 | _buf << "no more than "sv << num << " right value"sv; | 1339 | if (num > 1) { |
1340 | if (num > 1) _buf << 's'; | 1340 | _buf << "no more than "sv << num << " right values expected, got "sv << assign->values.size(); |
1341 | _buf << " required"sv; | 1341 | } else { |
1342 | _buf << "only one right value expected, got "sv << assign->values.size(); | ||
1343 | } | ||
1342 | throw std::logic_error(_info.errorMessage(clearBuf(), assign->values.front())); | 1344 | throw std::logic_error(_info.errorMessage(clearBuf(), assign->values.front())); |
1343 | } | 1345 | } |
1344 | auto x = assignment; | 1346 | auto x = assignment; |
@@ -7400,7 +7402,13 @@ private: | |||
7400 | void transformLocalAttrib(LocalAttrib_t* localAttrib, str_list& out) { | 7402 | void transformLocalAttrib(LocalAttrib_t* localAttrib, str_list& out) { |
7401 | auto x = localAttrib; | 7403 | auto x = localAttrib; |
7402 | if (x->leftList.size() < x->assign->values.size()) { | 7404 | if (x->leftList.size() < x->assign->values.size()) { |
7403 | throw std::logic_error(_info.errorMessage("number of right values should not be greater than left values"sv, x->assign->values.front())); | 7405 | auto num = x->leftList.size(); |
7406 | if (num > 1) { | ||
7407 | _buf << "no more than "sv << num << " right values expected, got "sv << x->assign->values.size(); | ||
7408 | } else { | ||
7409 | _buf << "only one right value expected, got "sv << x->assign->values.size(); | ||
7410 | } | ||
7411 | throw std::logic_error(_info.errorMessage(clearBuf(), x->assign->values.front())); | ||
7404 | } | 7412 | } |
7405 | auto listA = x->new_ptr<NameList_t>(); | 7413 | auto listA = x->new_ptr<NameList_t>(); |
7406 | auto assignA = x->new_ptr<Assign_t>(); | 7414 | auto assignA = x->new_ptr<Assign_t>(); |