MCPcopy Create free account
hub / github.com/DFHack/dfhack / luaL_newmetatable

Function luaL_newmetatable

depends/lua/src/lauxlib.c:299–309  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

297*/
298
299LUALIB_API int luaL_newmetatable (lua_State *L, const char *tname) {
300 if (luaL_getmetatable(L, tname) != LUA_TNIL) /* name already in use? */
301 return 0; /* leave previous value on top, but return 0 */
302 lua_pop(L, 1);
303 lua_createtable(L, 0, 2); /* create metatable */
304 lua_pushstring(L, tname);
305 lua_setfield(L, -2, "__name"); /* metatable.__name = tname */
306 lua_pushvalue(L, -1);
307 lua_setfield(L, LUA_REGISTRYINDEX, tname); /* registry.name = metatable */
308 return 1;
309}
310
311
312LUALIB_API void luaL_setmetatable (lua_State *L, const char *tname) {

Callers 2

newboxFunction · 0.85
createmetaFunction · 0.85

Calls 4

lua_createtableFunction · 0.85
lua_pushstringFunction · 0.85
lua_setfieldFunction · 0.85
lua_pushvalueFunction · 0.85

Tested by

no test coverage detected