Build type information on first use (load-time), instead of using a hardcoded list

--HG--
branch : dynamiccore2
This commit is contained in:
Bart van Strien
2016-11-13 16:38:57 +01:00
parent 452a8a877e
commit c761202486
192 changed files with 734 additions and 614 deletions
+5 -5
View File
@@ -43,7 +43,7 @@ int luax_ioError(lua_State *L, const char *fmt, ...)
File *luax_checkfile(lua_State *L, int idx)
{
return luax_checktype<File>(L, idx, FILESYSTEM_FILE_ID);
return luax_checktype<File>(L, idx, love::filesystem::File::type);
}
int w_File_getSize(lua_State *L)
@@ -148,11 +148,11 @@ int w_File_write(lua_State *L)
return luax_ioError(L, "%s", e.what());
}
}
else if (luax_istype(L, 2, DATA_ID))
else if (luax_istype(L, 2, love::Data::type))
{
try
{
love::Data *data = luax_totype<love::Data>(L, 2, DATA_ID);
love::Data *data = luax_totype<love::Data>(L, 2, love::Data::type);
result = file->write(data, luaL_optinteger(L, 3, data->getSize()));
}
catch (love::Exception &e)
@@ -227,7 +227,7 @@ int w_File_lines_i(lua_State *L)
int linesize = 0;
bool newline = false;
File *file = luax_checktype<File>(L, lua_upvalueindex(1), FILESYSTEM_FILE_ID);
File *file = luax_checktype<File>(L, lua_upvalueindex(1), File::type);
// Only accept read mode at this point.
if (file->getMode() != File::MODE_READ)
@@ -435,7 +435,7 @@ const luaL_Reg w_File_functions[] =
extern "C" int luaopen_file(lua_State *L)
{
return luax_register_type(L, FILESYSTEM_FILE_ID, "File", w_File_functions, nullptr);
return luax_register_type(L, File::type, "File", w_File_functions, nullptr);
}
} // filesystem