mirror of
https://github.com/minetest/minetest.git
synced 2024-11-30 03:23:45 +01:00
Rename minetest.register_async_metatable
to minetest.register_portable_metatable
(#14895)
This commit is contained in:
parent
d566b0e280
commit
8bff2f23c6
@ -1,6 +1,6 @@
|
|||||||
-- Registered metatables, used by the C++ packer
|
-- Registered metatables, used by the C++ packer
|
||||||
local known_metatables = {}
|
local known_metatables = {}
|
||||||
function core.register_async_metatable(name, mt)
|
function core.register_portable_metatable(name, mt)
|
||||||
assert(type(name) == "string", ("attempt to use %s value as metatable name"):format(type(name)))
|
assert(type(name) == "string", ("attempt to use %s value as metatable name"):format(type(name)))
|
||||||
assert(type(mt) == "table", ("attempt to register a %s value as metatable"):format(type(mt)))
|
assert(type(mt) == "table", ("attempt to register a %s value as metatable"):format(type(mt)))
|
||||||
assert(known_metatables[name] == nil or known_metatables[name] == mt,
|
assert(known_metatables[name] == nil or known_metatables[name] == mt,
|
||||||
@ -10,4 +10,10 @@ function core.register_async_metatable(name, mt)
|
|||||||
end
|
end
|
||||||
core.known_metatables = known_metatables
|
core.known_metatables = known_metatables
|
||||||
|
|
||||||
core.register_async_metatable("__builtin:vector", vector.metatable)
|
function core.register_async_metatable(...)
|
||||||
|
core.log("deprecated", "minetest.register_async_metatable is deprecated. " ..
|
||||||
|
"Use minetest.register_portable_metatable instead.")
|
||||||
|
return core.register_portable_metatable(...)
|
||||||
|
end
|
||||||
|
|
||||||
|
core.register_portable_metatable("__builtin:vector", vector.metatable)
|
||||||
|
@ -6715,7 +6715,7 @@ This allows you easy interoperability for delegating work to jobs.
|
|||||||
* Register a path to a Lua file to be imported when an async environment
|
* Register a path to a Lua file to be imported when an async environment
|
||||||
is initialized. You can use this to preload code which you can then call
|
is initialized. You can use this to preload code which you can then call
|
||||||
later using `minetest.handle_async()`.
|
later using `minetest.handle_async()`.
|
||||||
* `minetest.register_async_metatable(name, mt)`:
|
* `minetest.register_portable_metatable(name, mt)`:
|
||||||
* Register a metatable that should be preserved when data is transferred
|
* Register a metatable that should be preserved when data is transferred
|
||||||
between the main thread and the async environment.
|
between the main thread and the async environment.
|
||||||
* `name` is a string that identifies the metatable. It is recommended to
|
* `name` is a string that identifies the metatable. It is recommended to
|
||||||
@ -6755,7 +6755,7 @@ Functions:
|
|||||||
|
|
||||||
* Standalone helpers such as logging, filesystem, encoding,
|
* Standalone helpers such as logging, filesystem, encoding,
|
||||||
hashing or compression APIs
|
hashing or compression APIs
|
||||||
* `minetest.register_async_metatable` (see above)
|
* `minetest.register_portable_metatable` (see above)
|
||||||
|
|
||||||
Variables:
|
Variables:
|
||||||
|
|
||||||
|
@ -167,18 +167,18 @@ local function test_userdata_passing2(cb, _, pos)
|
|||||||
end
|
end
|
||||||
unittests.register("test_userdata_passing2", test_userdata_passing2, {map=true, async=true})
|
unittests.register("test_userdata_passing2", test_userdata_passing2, {map=true, async=true})
|
||||||
|
|
||||||
local function test_async_metatable_override()
|
local function test_portable_metatable_override()
|
||||||
assert(pcall(core.register_async_metatable, "__builtin:vector", vector.metatable),
|
assert(pcall(core.register_portable_metatable, "__builtin:vector", vector.metatable),
|
||||||
"Metatable name aliasing throws an error when it should be allowed")
|
"Metatable name aliasing throws an error when it should be allowed")
|
||||||
|
|
||||||
assert(not pcall(core.register_async_metatable, "__builtin:vector", {}),
|
assert(not pcall(core.register_portable_metatable, "__builtin:vector", {}),
|
||||||
"Illegal metatable overriding allowed")
|
"Illegal metatable overriding allowed")
|
||||||
end
|
end
|
||||||
unittests.register("test_async_metatable_override", test_async_metatable_override)
|
unittests.register("test_portable_metatable_override", test_portable_metatable_override)
|
||||||
|
|
||||||
local function test_async_metatable_registration(cb)
|
local function test_portable_metatable_registration(cb)
|
||||||
local custom_metatable = {}
|
local custom_metatable = {}
|
||||||
core.register_async_metatable("unittests:custom_metatable", custom_metatable)
|
core.register_portable_metatable("unittests:custom_metatable", custom_metatable)
|
||||||
|
|
||||||
core.handle_async(function(x)
|
core.handle_async(function(x)
|
||||||
-- unittests.custom_metatable is registered in inside_async_env.lua
|
-- unittests.custom_metatable is registered in inside_async_env.lua
|
||||||
@ -193,7 +193,7 @@ local function test_async_metatable_registration(cb)
|
|||||||
cb()
|
cb()
|
||||||
end, setmetatable({}, custom_metatable))
|
end, setmetatable({}, custom_metatable))
|
||||||
end
|
end
|
||||||
unittests.register("test_async_metatable_registration", test_async_metatable_registration, {async=true})
|
unittests.register("test_portable_metatable_registration", test_portable_metatable_registration, {async=true})
|
||||||
|
|
||||||
local function test_vector_preserve(cb)
|
local function test_vector_preserve(cb)
|
||||||
local vec = vector.new(1, 2, 3)
|
local vec = vector.new(1, 2, 3)
|
||||||
|
@ -3,7 +3,7 @@ unittests = {}
|
|||||||
core.log("info", "Hello World")
|
core.log("info", "Hello World")
|
||||||
|
|
||||||
unittests.custom_metatable = {}
|
unittests.custom_metatable = {}
|
||||||
core.register_async_metatable("unittests:custom_metatable", unittests.custom_metatable)
|
core.register_portable_metatable("unittests:custom_metatable", unittests.custom_metatable)
|
||||||
|
|
||||||
local function do_tests()
|
local function do_tests()
|
||||||
assert(core == minetest)
|
assert(core == minetest)
|
||||||
|
Loading…
Reference in New Issue
Block a user