From 911204c19378ef943c8daec5205fd60caa523321 Mon Sep 17 00:00:00 2001 From: Li Jin Date: Thu, 7 Apr 2022 14:45:10 +0800 Subject: change the behavior dealing with class and common table when doing mixin. --- spec/outputs/class.lua | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'spec/outputs') 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 } } for _index_0 = 1, #_list_0 do - local _mixin_0 = _list_0[_index_0] - for _key_0, _val_0 in pairs(_mixin_0.__base or _mixin_0) do - if _base_0[_key_0] == nil then + local _item_0 = _list_0[_index_0] + local _cls_0, _mixin_0 = (_item_0.__base ~= nil), _item_0.__base or _item_0 + for _key_0, _val_0 in pairs(_mixin_0) do + if _base_0[_key_0] == nil and (not _cls_0 or not _key_0:match("^__")) then _base_0[_key_0] = _val_0 end end -- cgit v1.2.3-55-g6feb