我需要在Lua中导航表示从tolua ++绑定的C ++类层次结构的元表层次结构。
例如,假设我在C ++中有一个类CFoo,它已被tolua ++绑定。在Lua中,我可以创建此类的实例(它成为userdata类型),如下所示:
local s = CFoo.new()
我可以通过以下方式获得metatable:
local mt = getmetatable(s)
我可以按如下方式检查这个类的绑定成员:
for i,v in pairs(mt[".get"]) do
-- Blah...
end
但是,mt [“。get”]仅包含在此类中显式绑定的成员,而不包含任何父类中绑定的成员。我需要遍历所有绑定成员,包括父类中的成员。
从检查tolua ++源代码来看,似乎tolua ++在“tolua_super”全局表中保存了超类信息。但目前尚不清楚如何从Lua方面进行导航。