summaryrefslogtreecommitdiff
path: root/Source/3rdParty/Luax/luax_state.inl
diff options
context:
space:
mode:
authorchai <chaifix@163.com>2019-03-17 20:36:39 +0800
committerchai <chaifix@163.com>2019-03-17 20:36:39 +0800
commit34fe8e795aaeed3a9f50d895d1cadd8f124c9605 (patch)
tree9242101b5d08474bf68aefe1c9ea8bb024a8cfb1 /Source/3rdParty/Luax/luax_state.inl
parentaf78bbf9f1ea499be92611aa4a63664d79d13b25 (diff)
*luax
Diffstat (limited to 'Source/3rdParty/Luax/luax_state.inl')
-rw-r--r--Source/3rdParty/Luax/luax_state.inl11
1 files changed, 7 insertions, 4 deletions
diff --git a/Source/3rdParty/Luax/luax_state.inl b/Source/3rdParty/Luax/luax_state.inl
index 63245bb..712eb1d 100644
--- a/Source/3rdParty/Luax/luax_state.inl
+++ b/Source/3rdParty/Luax/luax_state.inl
@@ -26,6 +26,7 @@ namespace Luax
Pop();
_assertmethod(-1, "New");
+ //_assertmethod(-1, "__gc");
#undef _assertmethod
@@ -65,16 +66,18 @@ namespace Luax
// class table.
lua_newtable(L);
LuaxNativeClass<T>::RegisterLuaxClass(state);
- LuaxNativeClass<T>::RegisterLuaxFactoryClass(state);
+ LuaxNativeClass<T>::RegisterLuaxSingletonClass(state);
T::RegisterLuaxClass(state);
LuaxNativeClass<T>::SetLuaxClassTableRef(state, -1);
- // class table__index__newindexָ
lua_pushvalue(state, -1);
lua_setfield(state, -2, "__index");
- lua_pushvalue(state, -1);
- lua_setfield(state, -2, "__newindex");
+
+ // .Extend()
+ lua_pushvalue(state, -1); // class table
+ lua_pushcclosure(state, LuaxNativeClass<T>::l_ExtendSingleton, 1);
+ lua_setfield(state, -2, "Extend");
cc8* type = T::GetLuaxSingletonName();
SetField(top, type);