aboutsummaryrefslogtreecommitdiff
path: root/src/yuescript/yue_compiler.cpp
diff options
context:
space:
mode:
authorLi Jin <dragon-fly@qq.com>2022-05-25 09:13:36 +0800
committerLi Jin <dragon-fly@qq.com>2022-05-25 09:13:36 +0800
commitc06dde519a8da2be72bdf5a5d450d637f388ae83 (patch)
tree40aad443348ca9af3bdc4d743c05e975d0d9aac7 /src/yuescript/yue_compiler.cpp
parent2c25f56ac8b47542dec1267416c9d0cf13ee61cf (diff)
downloadyuescript-c06dde519a8da2be72bdf5a5d450d637f388ae83.tar.gz
yuescript-c06dde519a8da2be72bdf5a5d450d637f388ae83.tar.bz2
yuescript-c06dde519a8da2be72bdf5a5d450d637f388ae83.zip
remove codes disabling attribute function with Lua 5.1.
Diffstat (limited to '')
-rwxr-xr-xsrc/yuescript/yue_compiler.cpp16
1 files changed, 1 insertions, 15 deletions
diff --git a/src/yuescript/yue_compiler.cpp b/src/yuescript/yue_compiler.cpp
index 706d5ce..b9b51bf 100755
--- a/src/yuescript/yue_compiler.cpp
+++ b/src/yuescript/yue_compiler.cpp
@@ -34,10 +34,6 @@ extern "C" {
34 #endif // LUA_COMPAT_5_1 34 #endif // LUA_COMPAT_5_1
35#endif // LUA_VERSION_NUM 35#endif // LUA_VERSION_NUM
36 36
37#if LUA_VERSION_NUM < 504
38 #define YUE_NO_ATTRIB
39#endif // LUA_VERSION_NUM
40
41#endif // YUE_NO_MACRO 37#endif // YUE_NO_MACRO
42 38
43namespace yue { 39namespace yue {
@@ -60,7 +56,7 @@ using namespace parserlib;
60 56
61typedef std::list<std::string> str_list; 57typedef std::list<std::string> str_list;
62 58
63const std::string_view version = "0.10.24"sv; 59const std::string_view version = "0.10.25"sv;
64const std::string_view extension = "yue"sv; 60const std::string_view extension = "yue"sv;
65 61
66class YueCompilerImpl { 62class YueCompilerImpl {
@@ -7148,21 +7144,11 @@ private:
7148 forceAddToScope(var); 7144 forceAddToScope(var);
7149 vars.push_back(var); 7145 vars.push_back(var);
7150 } 7146 }
7151#ifdef YUE_NO_ATTRIB
7152 if (attrib == "const"sv) {
7153 for (auto& var : vars) {
7154 markVarConst(var);
7155 }
7156 } else {
7157 throw std::logic_error(_info.errorMessage("attribute '"s + attrib + "' is not supported", localAttrib->attrib));
7158 }
7159#else // YUE_NO_ATTRIB
7160 attrib = " <"s + attrib + '>'; 7147 attrib = " <"s + attrib + '>';
7161 for (auto& var : vars) { 7148 for (auto& var : vars) {
7162 markVarConst(var); 7149 markVarConst(var);
7163 var.append(attrib); 7150 var.append(attrib);
7164 } 7151 }
7165#endif // YUE_NO_ATTRIB
7166 str_list temp; 7152 str_list temp;
7167 for (auto item : localAttrib->assign->values.objects()) { 7153 for (auto item : localAttrib->assign->values.objects()) {
7168 transformAssignItem(item, temp); 7154 transformAssignItem(item, temp);