From 040f6802ef02f6541e0213de0440f9b1b758d9fc Mon Sep 17 00:00:00 2001 From: Li Jin Date: Wed, 21 May 2025 16:19:10 +0800 Subject: Added support for mark global var const without initial value. --- src/yuescript/yue_compiler.cpp | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) (limited to 'src') diff --git a/src/yuescript/yue_compiler.cpp b/src/yuescript/yue_compiler.cpp index 452ffbd..5cd2804 100644 --- a/src/yuescript/yue_compiler.cpp +++ b/src/yuescript/yue_compiler.cpp @@ -78,7 +78,7 @@ static std::unordered_set Metamethods = { "close"s // Lua 5.4 }; -const std::string_view version = "0.28.0"sv; +const std::string_view version = "0.28.1"sv; const std::string_view extension = "yue"sv; class CompileError : public std::logic_error { @@ -9569,12 +9569,13 @@ private: markVarGlobalConst(name); } } else { - if (global->constAttrib) { - throw CompileError("missing initial value for global const", global->constAttrib); - } for (auto name : values->nameList->names.objects()) { auto var = static_cast(name); - addGlobalVar(variableToString(var), var); + auto varName = variableToString(var); + addGlobalVar(varName, var); + if (global->constAttrib) { + markVarGlobalConst(varName); + } } } break; -- cgit v1.2.3-55-g6feb