From 147eb556316c673859fd7da7b479c3f3f8f4bdaa Mon Sep 17 00:00:00 2001 From: Li Jin Date: Mon, 23 Oct 2023 11:07:40 +0800 Subject: remove unnecessary multiline declaration for list table assignment. --- src/yuescript/yue_compiler.cpp | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) (limited to 'src') diff --git a/src/yuescript/yue_compiler.cpp b/src/yuescript/yue_compiler.cpp index 7ec3b3a..0265e07 100644 --- a/src/yuescript/yue_compiler.cpp +++ b/src/yuescript/yue_compiler.cpp @@ -75,7 +75,7 @@ static std::unordered_set Metamethods = { "close"s // Lua 5.4 }; -const std::string_view version = "0.20.1"sv; +const std::string_view version = "0.20.2"sv; const std::string_view extension = "yue"sv; class CompileError : public std::logic_error { @@ -1976,10 +1976,15 @@ private: return; } case id(): { + auto comp = static_cast(value); auto expList = assignment->expList.get(); - std::string preDefine = getPreDefineLine(assignment); - transformComprehension(static_cast(value), out, ExpUsage::Assignment, expList); - out.back().insert(0, preDefine); + if (comp->items.size() == 2 && ast_is(comp->items.back())) { + std::string preDefine = getPreDefineLine(assignment); + transformComprehension(comp, out, ExpUsage::Assignment, expList); + out.back().insert(0, preDefine); + } else { + transformComprehension(comp, out, ExpUsage::Assignment, expList); + } return; } case id(): { -- cgit v1.2.3-55-g6feb