aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLi Jin <dragon-fly@qq.com>2022-07-25 10:55:05 +0800
committerLi Jin <dragon-fly@qq.com>2022-07-25 10:55:05 +0800
commit13c7eb4252e8c4228fabf1ade13b7b9bcbd80656 (patch)
tree51929cde266691bcc38eef25685d3cf95bd21a2d
parent74b22e543819a1c6b3ab4fe30b57f6f045db0e8a (diff)
downloadyuescript-13c7eb4252e8c4228fabf1ade13b7b9bcbd80656.tar.gz
yuescript-13c7eb4252e8c4228fabf1ade13b7b9bcbd80656.tar.bz2
yuescript-13c7eb4252e8c4228fabf1ade13b7b9bcbd80656.zip
cleanup.
-rwxr-xr-xsrc/yuescript/yue_compiler.cpp16
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>();