q66 pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=59ecddb55e7d2feb4550f5a39e26947ab3613e4c
commit 59ecddb55e7d2feb4550f5a39e26947ab3613e4c Author: Daniel Kolesa <d.kol...@osg.samsung.com> Date: Thu May 28 15:41:30 2015 +0100 elua: generate separate key/value numbers for getters/setters --- src/scripts/elua/modules/lualian.lua | 24 ++++++++++++++---------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/src/scripts/elua/modules/lualian.lua b/src/scripts/elua/modules/lualian.lua index 9ef3b7b..3689939 100644 --- a/src/scripts/elua/modules/lualian.lua +++ b/src/scripts/elua/modules/lualian.lua @@ -332,18 +332,22 @@ local Property = Method:clone { generate_prop = function(self, props) local proto = self:gen_proto() local prop = props[proto.name] - if prop then - if self.isget then - prop[3] = "true" - else - prop[4] = "true" - end - return false + local hasprop = true + if not prop then + prop = { 0, 0, 0, 0, "false", "false" } + props[proto.name] = prop + hasprop = false + end + if self.isget then + prop[1] = proto.nkeys + prop[3] = math.max(proto.nvals, 1) + prop[5] = "true" else - props[proto.name] = { proto.nkeys, math.max(proto.nvals, 1), - tostring(self.isget), tostring(not self.isget) } - return true + prop[2] = proto.nkeys + prop[4] = math.max(proto.nvals, 1) + prop[6] = "true" end + return not hasprop end } --