diff options
Diffstat (limited to 'class.lua')
| -rw-r--r-- | class.lua | 13 |
1 files changed, 12 insertions, 1 deletions
@@ -23,9 +23,20 @@ local function extend(Base) return T end +local function is(obj, cls) + if not type(obj) == 'table' then return false end + local mt = getmetatable(obj).__index + while mt do + if rawequal(cls, mt) then return true end + mt = (getmetatable(mt) or {}).__index + end + return false +end + return setmetatable({ class=class, - extend=extend + extend=extend, + is=is, },{__call=class}) |
