From 4713aeb776489b0dfcf965951a5b8ebbd8fa9581 Mon Sep 17 00:00:00 2001 From: Li Jin Date: Tue, 27 Apr 2021 20:39:26 +0800 Subject: fix const variable declaration with global statement. --- src/yuescript/yue_compiler.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/yuescript/yue_compiler.cpp b/src/yuescript/yue_compiler.cpp index 1b5a17c..fcfd15a 100644 --- a/src/yuescript/yue_compiler.cpp +++ b/src/yuescript/yue_compiler.cpp @@ -5913,16 +5913,20 @@ private: str_list vars; for (auto name : localAttrib->nameList->names.objects()) { vars.push_back(_parser.toString(name)); + forceAddToScope(vars.back()); } + str_list temp; auto varStr = join(vars, ", "sv); + temp.push_back(s("local "sv) + varStr + nll(x)); auto varList = toAst(varStr, x); auto assignment = x->new_ptr(); assignment->expList.set(varList); assignment->action.set(localAttrib->assign); - transformAssignment(assignment, out); + transformAssignment(assignment, temp); for (const auto& var : vars) { markVarConst(var); } + out.push_back(join(temp)); return; } auto expList = x->new_ptr(); -- cgit v1.2.3-55-g6feb