diff options
author | Li Jin <dragon-fly@qq.com> | 2022-04-07 14:45:10 +0800 |
---|---|---|
committer | Li Jin <dragon-fly@qq.com> | 2022-04-07 14:45:10 +0800 |
commit | 911204c19378ef943c8daec5205fd60caa523321 (patch) | |
tree | 2f625b7b7c5f809376117e6e9d4cf1085efeb3da /spec/outputs | |
parent | 599a89c2194110592bff2d91ecf9304be3e8ba4d (diff) | |
download | yuescript-911204c19378ef943c8daec5205fd60caa523321.tar.gz yuescript-911204c19378ef943c8daec5205fd60caa523321.tar.bz2 yuescript-911204c19378ef943c8daec5205fd60caa523321.zip |
change the behavior dealing with class and common table when doing mixin.
Diffstat (limited to 'spec/outputs')
-rw-r--r-- | spec/outputs/class.lua | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/spec/outputs/class.lua b/spec/outputs/class.lua index 3ec92d1..8f7c126 100644 --- a/spec/outputs/class.lua +++ b/spec/outputs/class.lua | |||
@@ -1096,9 +1096,10 @@ do | |||
1096 | } | 1096 | } |
1097 | } | 1097 | } |
1098 | for _index_0 = 1, #_list_0 do | 1098 | for _index_0 = 1, #_list_0 do |
1099 | local _mixin_0 = _list_0[_index_0] | 1099 | local _item_0 = _list_0[_index_0] |
1100 | for _key_0, _val_0 in pairs(_mixin_0.__base or _mixin_0) do | 1100 | local _cls_0, _mixin_0 = (_item_0.__base ~= nil), _item_0.__base or _item_0 |
1101 | if _base_0[_key_0] == nil then | 1101 | for _key_0, _val_0 in pairs(_mixin_0) do |
1102 | if _base_0[_key_0] == nil and (not _cls_0 or not _key_0:match("^__")) then | ||
1102 | _base_0[_key_0] = _val_0 | 1103 | _base_0[_key_0] = _val_0 |
1103 | end | 1104 | end |
1104 | end | 1105 | end |