aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/yuescript/yue_compiler.cpp13
1 files changed, 9 insertions, 4 deletions
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<std::string> Metamethods = {
75 "close"s // Lua 5.4 75 "close"s // Lua 5.4
76}; 76};
77 77
78const std::string_view version = "0.20.1"sv; 78const std::string_view version = "0.20.2"sv;
79const std::string_view extension = "yue"sv; 79const std::string_view extension = "yue"sv;
80 80
81class CompileError : public std::logic_error { 81class CompileError : public std::logic_error {
@@ -1976,10 +1976,15 @@ private:
1976 return; 1976 return;
1977 } 1977 }
1978 case id<Comprehension_t>(): { 1978 case id<Comprehension_t>(): {
1979 auto comp = static_cast<Comprehension_t*>(value);
1979 auto expList = assignment->expList.get(); 1980 auto expList = assignment->expList.get();
1980 std::string preDefine = getPreDefineLine(assignment); 1981 if (comp->items.size() == 2 && ast_is<CompInner_t>(comp->items.back())) {
1981 transformComprehension(static_cast<Comprehension_t*>(value), out, ExpUsage::Assignment, expList); 1982 std::string preDefine = getPreDefineLine(assignment);
1982 out.back().insert(0, preDefine); 1983 transformComprehension(comp, out, ExpUsage::Assignment, expList);
1984 out.back().insert(0, preDefine);
1985 } else {
1986 transformComprehension(comp, out, ExpUsage::Assignment, expList);
1987 }
1983 return; 1988 return;
1984 } 1989 }
1985 case id<TblComprehension_t>(): { 1990 case id<TblComprehension_t>(): {