elua: only check gettability in __index with no keys
authorDaniel Kolesa <d.kolesa@samsung.com>
Wed, 1 Apr 2015 13:22:00 +0000 (14:22 +0100)
committerDaniel Kolesa <d.kolesa@samsung.com>
Wed, 1 Apr 2015 13:22:00 +0000 (14:22 +0100)
src/bindings/luajit/eo.lua

index 6c7d5c7..2944e5e 100644 (file)
@@ -416,9 +416,6 @@ ffi.metatype("Eo", {
         if not pp then
             return mt[key]
         end
-        if not pp[3] then
-            error("property '" .. key .. "' is not gettable", 2)
-        end
         local nkeys, nvals = pp[1], pp[2]
         if nkeys ~= 0 then
             -- proxy - slow path, but no way around it
@@ -427,6 +424,9 @@ ffi.metatype("Eo", {
             return setmetatable({ nkeys = nkeys, nvals = nvals,
                 obj = self, key = key, mt = mt }, prop_proxy_meta)
         end
+        if not pp[3] then
+            error("property '" .. key .. "' is not gettable", 2)
+        end
         if nvals > 1 then
             return { mt[key .. "_get"](self) }
         else