From 1b43ecc9a453e0cc7b0a481690375ca35457d54a Mon Sep 17 00:00:00 2001 From: Li Jin Date: Mon, 18 Dec 2023 10:28:35 +0800 Subject: fix a format case. --- CMakeLists.txt | 2 +- src/yuescript/yue_ast.cpp | 18 +++++++++++++++--- src/yuescript/yue_compiler.cpp | 2 +- 3 files changed, 17 insertions(+), 5 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 22520de..0279831 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,4 +1,4 @@ -cmake_minimum_required(VERSION 3.1) +cmake_minimum_required(VERSION 3.5) project(yue CXX) set(LUA_LIBDIR ${LUA_INCDIR}/../lib ${LUA_INCDIR}/../../lib) diff --git a/src/yuescript/yue_ast.cpp b/src/yuescript/yue_ast.cpp index 69695a0..5dfacc7 100644 --- a/src/yuescript/yue_ast.cpp +++ b/src/yuescript/yue_ast.cpp @@ -844,9 +844,21 @@ static bool isInBlockExp(ast_node* node, bool last = false) { } auto value = static_cast(unaryExp->expos.back()); if (auto simpleValue = value->item.as()) { - if (!ast_is(simpleValue->value)) { - return true; + switch (simpleValue->value->get_id()) { + case id(): + case id(): + case id(): + case id(): + case id(): + case id(): + return false; + case id(): + if (!last) { + return true; + } + return false; + default: + return true; } } else if (auto chainValue = value->item.as()) { if (ast_is(chainValue->items.back())) { diff --git a/src/yuescript/yue_compiler.cpp b/src/yuescript/yue_compiler.cpp index 044ee91..2283d85 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.21.3"sv; +const std::string_view version = "0.21.4"sv; const std::string_view extension = "yue"sv; class CompileError : public std::logic_error { -- cgit v1.2.3-55-g6feb