// automatically generated by luatablegen
#include "../lua-5.3.4/src/lua.h"
#include "../lua-5.3.4/src/lauxlib.h"
#include "../lua-5.3.4/src/lualib.h"
#include <inttypes.h>
#include <stdbool.h>
#include "./W_Elem_Segment_tablegen.h"
#include "../wasm.h"
static W_Elem_Segment* convert_W_Elem_Segment (lua_State* __ls, int index) {
W_Elem_Segment* dummy = (W_Elem_Segment*)lua_touserdata(__ls, index);
if (dummy == NULL) printf("W_Elem_Segment:bad user data type.\n");
return dummy;
}
static W_Elem_Segment* check_W_Elem_Segment(lua_State* __ls, int index) {
W_Elem_Segment* dummy;
luaL_checktype(__ls, index, LUA_TUSERDATA);
dummy = (W_Elem_Segment*)luaL_checkudata(__ls, index, "W_Elem_Segment");
if (dummy == NULL) printf("W_Elem_Segment:bad user data type.\n");
return dummy;
}
W_Elem_Segment* push_W_Elem_Segment(lua_State* __ls) {
lua_checkstack(__ls, 1);
W_Elem_Segment* dummy = lua_newuserdata(__ls, sizeof(W_Elem_Segment));
luaL_getmetatable(__ls, "W_Elem_Segment");
lua_setmetatable(__ls, -2);
return dummy;
}
int W_Elem_Segment_push_args(lua_State* __ls, W_Elem_Segment* _st) {
lua_checkstack(__ls, 4);
lua_pushinteger(__ls, _st->index);
lua_pushlightuserdata(__ls, _st->offset);
lua_pushinteger(__ls, _st->num_length);
lua_pushinteger(__ls, _st->elems);
return 0;
}
int new_W_Elem_Segment(lua_State* __ls) {
lua_checkstack(__ls, 4);
varuint32 index = luaL_optinteger(__ls,-4,0);
init_expr_t* offset = lua_touserdata(__ls,-3);
varuint32 num_length = luaL_optinteger(__ls,-2,0);
varuint32* elems = luaL_optinteger(__ls,-1,0);
W_Elem_Segment* dummy = push_W_Elem_Segment(__ls);
dummy->index = index;
dummy->offset = offset;
dummy->num_length = num_length;
dummy->elems = elems;
return 1;
}
static int getter_W_Elem_Segment_index(lua_State* __ls) {
W_Elem_Segment* dummy = check_W_Elem_Segment(__ls, 1);
lua_pop(__ls, -1);
lua_pushinteger(__ls, dummy->index);
return 1;
}
static int getter_W_Elem_Segment_offset(lua_State* __ls) {
W_Elem_Segment* dummy = check_W_Elem_Segment(__ls, 1);
lua_pop(__ls, -1);
lua_pushlightuserdata(__ls, dummy->offset);
return 1;
}
static int getter_W_Elem_Segment_num_length(lua_State* __ls) {
W_Elem_Segment* dummy = check_W_Elem_Segment(__ls, 1);
lua_pop(__ls, -1);
lua_pushinteger(__ls, dummy->num_length);
return 1;
}
static int getter_W_Elem_Segment_elems(lua_State* __ls) {
W_Elem_Segment* dummy = check_W_Elem_Segment(__ls, 1);
lua_pop(__ls, -1);
lua_pushinteger(__ls, dummy->elems);
return 1;
}
static int setter_W_Elem_Segment_index(lua_State* __ls) {
W_Elem_Segment* dummy = check_W_Elem_Segment(__ls, 1);
dummy->index = luaL_checkinteger(__ls, 2);
lua_settop(__ls, 1);
return 1;
}
static int setter_W_Elem_Segment_offset(lua_State* __ls) {
W_Elem_Segment* dummy = check_W_Elem_Segment(__ls, 1);
dummy->offset = luaL_checkudata(__ls, 2, "offset_t");
lua_settop(__ls, 1);
return 1;
}
static int setter_W_Elem_Segment_num_length(lua_State* __ls) {
W_Elem_Segment* dummy = check_W_Elem_Segment(__ls, 1);
dummy->num_length = luaL_checkinteger(__ls, 2);
lua_settop(__ls, 1);
return 1;
}
static int setter_W_Elem_Segment_elems(lua_State* __ls) {
W_Elem_Segment* dummy = check_W_Elem_Segment(__ls, 1);
dummy->elems = luaL_checkinteger(__ls, 2);
lua_settop(__ls, 1);
return 1;
}
static const luaL_Reg W_Elem_Segment_methods[] = {
{"new", new_W_Elem_Segment},
{"set_index", setter_W_Elem_Segment_index},
{"set_offset", setter_W_Elem_Segment_offset},
{"set_num_length", setter_W_Elem_Segment_num_length},
{"set_elems", setter_W_Elem_Segment_elems},
{"index", getter_W_Elem_Segment_index},
{"offset", getter_W_Elem_Segment_offset},
{"num_length", getter_W_Elem_Segment_num_length},
{"elems", getter_W_Elem_Segment_elems},
{0,0}
};
static const luaL_Reg W_Elem_Segment_meta[] = {
{0, 0}
};
int W_Elem_Segment_register(lua_State* __ls) {
luaL_openlib(__ls, "W_Elem_Segment", W_Elem_Segment_methods, 0);
luaL_newmetatable(__ls, "W_Elem_Segment");
luaL_openlib(__ls, 0, W_Elem_Segment_meta, 0);
lua_pushliteral(__ls, "__index");
lua_pushvalue(__ls, -3);
lua_rawset(__ls, -3);
lua_pushliteral(__ls, "__metatable");
lua_pushvalue(__ls, -3);
lua_rawset(__ls, -3);
lua_pop(__ls, 1);
return 1;
}