getArgs method
Extract arguments from Lua stack into a Dart List
Implementation
List<dynamic> getArgs(Pointer<lua_State> L) {
final argc = bindings.lua_gettop(L);
final args = <dynamic>[];
for (var i = 1; i <= argc; i++) {
if (bindings.lua_isstring(L, i) != 0) {
final strPtr = bindings.lua_tolstring(L, i, nullptr);
args.add(strPtr.cast<Utf8>().toDartString());
} else if (bindings.lua_isinteger(L, i) != 0) {
args.add(bindings.lua_tointegerx(L, i, nullptr));
} else if (bindings.lua_isnumber(L, i) != 0) {
args.add(bindings.lua_tonumberx(L, i, nullptr));
} else {
args.add(null); // unsupported type for now
}
}
return args;
}