diff options
author | Li Jin <dragon-fly@qq.com> | 2022-05-25 09:13:36 +0800 |
---|---|---|
committer | Li Jin <dragon-fly@qq.com> | 2022-05-25 09:13:36 +0800 |
commit | c06dde519a8da2be72bdf5a5d450d637f388ae83 (patch) | |
tree | 40aad443348ca9af3bdc4d743c05e975d0d9aac7 /src/yuescript/yue_compiler.cpp | |
parent | 2c25f56ac8b47542dec1267416c9d0cf13ee61cf (diff) | |
download | yuescript-c06dde519a8da2be72bdf5a5d450d637f388ae83.tar.gz yuescript-c06dde519a8da2be72bdf5a5d450d637f388ae83.tar.bz2 yuescript-c06dde519a8da2be72bdf5a5d450d637f388ae83.zip |
remove codes disabling attribute function with Lua 5.1.
Diffstat (limited to '')
-rwxr-xr-x | src/yuescript/yue_compiler.cpp | 16 |
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 | ||
43 | namespace yue { | 39 | namespace yue { |
@@ -60,7 +56,7 @@ using namespace parserlib; | |||
60 | 56 | ||
61 | typedef std::list<std::string> str_list; | 57 | typedef std::list<std::string> str_list; |
62 | 58 | ||
63 | const std::string_view version = "0.10.24"sv; | 59 | const std::string_view version = "0.10.25"sv; |
64 | const std::string_view extension = "yue"sv; | 60 | const std::string_view extension = "yue"sv; |
65 | 61 | ||
66 | class YueCompilerImpl { | 62 | class 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); |