Навигация по иерархии классов Lua с помощью tolua++
Мне нужно перейти в Lua к метатабельной иерархии, которая представляет иерархию классов C++, связанную с tolua++.
Например, скажем, у меня есть класс CFoo в C++, связанный с tolua++. В Lua я могу создать экземпляр этого класса (который становится типом пользовательских данных) следующим образом:
local s = CFoo.new()
Я могу заполучить метатаблицу с помощью:
local mt = getmetatable(s)
Я могу проверить связанных членов этого класса следующим образом:
for i,v in pairs(mt[".get"]) do
-- Blah...
end
Однако mt[". Get"] содержит только те элементы, которые были явно связаны в этом классе, а не члены, связанные в каких-либо родительских классах. Мне нужно пройти ВСЕ связанные члены, в том числе в родительских классах.
Из проверки исходного кода tolua ++ кажется, что tolua ++ содержит информацию о суперклассе в глобальной таблице "tolua_super". Но не ясно, как ориентироваться в этом со стороны Lua.