From 13c7eb4252e8c4228fabf1ade13b7b9bcbd80656 Mon Sep 17 00:00:00 2001 From: Li Jin Date: Mon, 25 Jul 2022 10:55:05 +0800 Subject: cleanup. --- src/yuescript/yue_compiler.cpp | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) (limited to 'src') 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: BREAK_IF(!assign); if (assignment->expList->exprs.size() < assign->values.size()) { auto num = assignment->expList->exprs.size(); - _buf << "no more than "sv << num << " right value"sv; - if (num > 1) _buf << 's'; - _buf << " required"sv; + if (num > 1) { + _buf << "no more than "sv << num << " right values expected, got "sv << assign->values.size(); + } else { + _buf << "only one right value expected, got "sv << assign->values.size(); + } throw std::logic_error(_info.errorMessage(clearBuf(), assign->values.front())); } auto x = assignment; @@ -7400,7 +7402,13 @@ private: void transformLocalAttrib(LocalAttrib_t* localAttrib, str_list& out) { auto x = localAttrib; if (x->leftList.size() < x->assign->values.size()) { - throw std::logic_error(_info.errorMessage("number of right values should not be greater than left values"sv, x->assign->values.front())); + auto num = x->leftList.size(); + if (num > 1) { + _buf << "no more than "sv << num << " right values expected, got "sv << x->assign->values.size(); + } else { + _buf << "only one right value expected, got "sv << x->assign->values.size(); + } + throw std::logic_error(_info.errorMessage(clearBuf(), x->assign->values.front())); } auto listA = x->new_ptr(); auto assignA = x->new_ptr(); -- cgit v1.2.3-55-g6feb