diff --git a/.release-please-manifest.json b/.release-please-manifest.json
index e4e575f..993683a 100644
--- a/.release-please-manifest.json
+++ b/.release-please-manifest.json
@@ -1,3 +1,3 @@
{
- ".": "0.5.0+luau.0.726"
+ ".": "0.5.0+luau.0.732"
}
diff --git a/Directory.Build.props b/Directory.Build.props
index 89d9ca1..598750a 100644
--- a/Directory.Build.props
+++ b/Directory.Build.props
@@ -6,6 +6,6 @@
true
true
- 0.5.0+luau.0.726
+ 0.5.0+luau.0.732
diff --git a/bindgen/src/generated.rs b/bindgen/src/generated.rs
index 8957060..b905f54 100644
--- a/bindgen/src/generated.rs
+++ b/bindgen/src/generated.rs
@@ -112,6 +112,7 @@ pub const LUA_EXECUTION_CALLBACK_STORAGE: u32 = 512;
pub const LUA_MINSTRTABSIZE: u32 = 32;
pub const LUA_MAXCAPTURES: u32 = 32;
pub const LUA_VECTOR_SIZE: u32 = 3;
+pub const LUA_VECTOR_DOUBLE: u32 = 0;
pub const LUA_EXTRA_SIZE: u32 = 1;
pub const LUA_MULTRET: i32 = -1;
pub const LUA_REGISTRYINDEX: i32 = -10000;
@@ -796,6 +797,7 @@ pub enum lua_GCOp {
LUA_GCSETGOAL = 7,
LUA_GCSETSTEPMUL = 8,
LUA_GCSETSTEPSIZE = 9,
+ LUA_GCISPAUSED = 10,
}
unsafe extern "C" {
pub fn lua_gc(
@@ -804,12 +806,25 @@ unsafe extern "C" {
data: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
+pub type lua_CategoryName = ::std::option::Option<
+ unsafe extern "C" fn(L: *mut lua_State, memcat: u8) -> *const ::std::os::raw::c_char,
+>;
+unsafe extern "C" {
+ pub fn lua_memorydump(
+ L: *mut lua_State,
+ file: *mut ::std::os::raw::c_void,
+ categoryName: lua_CategoryName,
+ );
+}
unsafe extern "C" {
pub fn lua_setmemcat(L: *mut lua_State, category: ::std::os::raw::c_int);
}
unsafe extern "C" {
pub fn lua_totalbytes(L: *mut lua_State, category: ::std::os::raw::c_int) -> usize;
}
+unsafe extern "C" {
+ pub fn lua_allocationrate(L: *mut lua_State) -> i64;
+}
unsafe extern "C" {
pub fn lua_error(L: *mut lua_State) -> !;
}
@@ -826,6 +841,9 @@ unsafe extern "C" {
unsafe extern "C" {
pub fn lua_concat(L: *mut lua_State, n: ::std::os::raw::c_int);
}
+unsafe extern "C" {
+ pub fn lua_setpointerencodekey(L: *mut lua_State, a: u64, b: u64, c: u64, d: u64);
+}
unsafe extern "C" {
pub fn lua_encodepointer(L: *mut lua_State, p: usize) -> usize;
}
@@ -848,12 +866,43 @@ unsafe extern "C" {
unsafe extern "C" {
pub fn lua_getuserdatadtor(L: *mut lua_State, tag: ::std::os::raw::c_int) -> lua_Destructor;
}
+pub type lua_UserdataMark =
+ ::std::option::Option;
+unsafe extern "C" {
+ pub fn lua_setuserdatamark(
+ L: *mut lua_State,
+ tag: ::std::os::raw::c_int,
+ markfn: lua_UserdataMark,
+ );
+}
+pub type lua_EmbedderMark =
+ ::std::option::Option;
+pub type lua_EmbedderGc =
+ ::std::option::Option;
+unsafe extern "C" {
+ pub fn lua_setembeddergc(L: *mut lua_State, fn_: lua_EmbedderGc);
+}
+unsafe extern "C" {
+ pub fn lua_weakref(L: *mut lua_State, idx: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
+}
+unsafe extern "C" {
+ pub fn lua_weakunref(L: *mut lua_State, ref_: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
+}
+unsafe extern "C" {
+ pub fn lua_getweakref(L: *mut lua_State, ref_: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
+}
unsafe extern "C" {
pub fn lua_setuserdatametatable(L: *mut lua_State, tag: ::std::os::raw::c_int);
}
unsafe extern "C" {
pub fn lua_getuserdatametatable(L: *mut lua_State, tag: ::std::os::raw::c_int);
}
+unsafe extern "C" {
+ pub fn lua_getuserdataname(
+ L: *mut lua_State,
+ tag: ::std::os::raw::c_int,
+ ) -> *const ::std::os::raw::c_char;
+}
pub type lua_UserdataDirectAccess = ::std::option::Option<
unsafe extern "C" fn(
L: *mut lua_State,
@@ -931,6 +980,9 @@ unsafe extern "C" {
unsafe extern "C" {
pub fn lua_clonefunction(L: *mut lua_State, idx: ::std::os::raw::c_int);
}
+unsafe extern "C" {
+ pub fn lua_usesexport(L: *mut lua_State, idx: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
+}
unsafe extern "C" {
pub fn lua_cleartable(L: *mut lua_State, idx: ::std::os::raw::c_int);
}
@@ -944,10 +996,13 @@ unsafe extern "C" {
pub fn lua_ref(L: *mut lua_State, idx: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
}
unsafe extern "C" {
- pub fn lua_unref(L: *mut lua_State, ref_: ::std::os::raw::c_int);
+ pub fn lua_unref(L: *mut lua_State, ref_: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
}
pub type lua_Hook =
::std::option::Option;
+unsafe extern "C" {
+ pub fn lua_callhook(L: *mut lua_State, hook: lua_Hook, userdata: *mut ::std::os::raw::c_void);
+}
unsafe extern "C" {
pub fn lua_stackdepth(L: *mut lua_State) -> ::std::os::raw::c_int;
}
@@ -994,6 +1049,18 @@ unsafe extern "C" {
n: ::std::os::raw::c_int,
) -> *const ::std::os::raw::c_char;
}
+unsafe extern "C" {
+ pub fn lua_hascustomexecution(
+ L: *mut lua_State,
+ level: ::std::os::raw::c_int,
+ ) -> ::std::os::raw::c_int;
+}
+unsafe extern "C" {
+ pub fn lua_incustomexecution(
+ L: *mut lua_State,
+ level: ::std::os::raw::c_int,
+ ) -> ::std::os::raw::c_int;
+}
unsafe extern "C" {
pub fn lua_singlestep(L: *mut lua_State, enabled: ::std::os::raw::c_int);
}
@@ -1005,6 +1072,46 @@ unsafe extern "C" {
enabled: ::std::os::raw::c_int,
) -> ::std::os::raw::c_int;
}
+unsafe extern "C" {
+ pub fn lua_atbreakpoint(L: *mut lua_State) -> ::std::os::raw::c_int;
+}
+unsafe extern "C" {
+ pub fn lua_debugtrace(L: *mut lua_State) -> *const ::std::os::raw::c_char;
+}
+#[repr(C)]
+#[derive(Debug, Copy, Clone)]
+pub struct lua_Debug {
+ pub name: *const ::std::os::raw::c_char,
+ pub what: *const ::std::os::raw::c_char,
+ pub source: *const ::std::os::raw::c_char,
+ pub short_src: *const ::std::os::raw::c_char,
+ pub linedefined: ::std::os::raw::c_int,
+ pub currentline: ::std::os::raw::c_int,
+ pub nupvals: ::std::os::raw::c_uchar,
+ pub nparams: ::std::os::raw::c_uchar,
+ pub isvararg: ::std::os::raw::c_char,
+ pub userdata: *mut ::std::os::raw::c_void,
+ pub ssbuf: [::std::os::raw::c_char; 256usize],
+}
+#[allow(clippy::unnecessary_operation, clippy::identity_op)]
+const _: () = {
+ ["Size of lua_Debug"][::std::mem::size_of::() - 312usize];
+ ["Alignment of lua_Debug"][::std::mem::align_of::() - 8usize];
+ ["Offset of field: lua_Debug::name"][::std::mem::offset_of!(lua_Debug, name) - 0usize];
+ ["Offset of field: lua_Debug::what"][::std::mem::offset_of!(lua_Debug, what) - 8usize];
+ ["Offset of field: lua_Debug::source"][::std::mem::offset_of!(lua_Debug, source) - 16usize];
+ ["Offset of field: lua_Debug::short_src"]
+ [::std::mem::offset_of!(lua_Debug, short_src) - 24usize];
+ ["Offset of field: lua_Debug::linedefined"]
+ [::std::mem::offset_of!(lua_Debug, linedefined) - 32usize];
+ ["Offset of field: lua_Debug::currentline"]
+ [::std::mem::offset_of!(lua_Debug, currentline) - 36usize];
+ ["Offset of field: lua_Debug::nupvals"][::std::mem::offset_of!(lua_Debug, nupvals) - 40usize];
+ ["Offset of field: lua_Debug::nparams"][::std::mem::offset_of!(lua_Debug, nparams) - 41usize];
+ ["Offset of field: lua_Debug::isvararg"][::std::mem::offset_of!(lua_Debug, isvararg) - 42usize];
+ ["Offset of field: lua_Debug::userdata"][::std::mem::offset_of!(lua_Debug, userdata) - 48usize];
+ ["Offset of field: lua_Debug::ssbuf"][::std::mem::offset_of!(lua_Debug, ssbuf) - 56usize];
+};
pub type lua_Coverage = ::std::option::Option<
unsafe extern "C" fn(
context: *mut ::std::os::raw::c_void,
@@ -1047,43 +1154,6 @@ unsafe extern "C" {
countervisit: lua_CounterValue,
);
}
-unsafe extern "C" {
- pub fn lua_debugtrace(L: *mut lua_State) -> *const ::std::os::raw::c_char;
-}
-#[repr(C)]
-#[derive(Debug, Copy, Clone)]
-pub struct lua_Debug {
- pub name: *const ::std::os::raw::c_char,
- pub what: *const ::std::os::raw::c_char,
- pub source: *const ::std::os::raw::c_char,
- pub short_src: *const ::std::os::raw::c_char,
- pub linedefined: ::std::os::raw::c_int,
- pub currentline: ::std::os::raw::c_int,
- pub nupvals: ::std::os::raw::c_uchar,
- pub nparams: ::std::os::raw::c_uchar,
- pub isvararg: ::std::os::raw::c_char,
- pub userdata: *mut ::std::os::raw::c_void,
- pub ssbuf: [::std::os::raw::c_char; 256usize],
-}
-#[allow(clippy::unnecessary_operation, clippy::identity_op)]
-const _: () = {
- ["Size of lua_Debug"][::std::mem::size_of::() - 312usize];
- ["Alignment of lua_Debug"][::std::mem::align_of::() - 8usize];
- ["Offset of field: lua_Debug::name"][::std::mem::offset_of!(lua_Debug, name) - 0usize];
- ["Offset of field: lua_Debug::what"][::std::mem::offset_of!(lua_Debug, what) - 8usize];
- ["Offset of field: lua_Debug::source"][::std::mem::offset_of!(lua_Debug, source) - 16usize];
- ["Offset of field: lua_Debug::short_src"]
- [::std::mem::offset_of!(lua_Debug, short_src) - 24usize];
- ["Offset of field: lua_Debug::linedefined"]
- [::std::mem::offset_of!(lua_Debug, linedefined) - 32usize];
- ["Offset of field: lua_Debug::currentline"]
- [::std::mem::offset_of!(lua_Debug, currentline) - 36usize];
- ["Offset of field: lua_Debug::nupvals"][::std::mem::offset_of!(lua_Debug, nupvals) - 40usize];
- ["Offset of field: lua_Debug::nparams"][::std::mem::offset_of!(lua_Debug, nparams) - 41usize];
- ["Offset of field: lua_Debug::isvararg"][::std::mem::offset_of!(lua_Debug, isvararg) - 42usize];
- ["Offset of field: lua_Debug::userdata"][::std::mem::offset_of!(lua_Debug, userdata) - 48usize];
- ["Offset of field: lua_Debug::ssbuf"][::std::mem::offset_of!(lua_Debug, ssbuf) - 56usize];
-};
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct lua_Callbacks {
@@ -1286,6 +1356,13 @@ unsafe extern "C" {
tname: *const ::std::os::raw::c_char,
) -> *mut ::std::os::raw::c_void;
}
+unsafe extern "C" {
+ pub fn luaL_checkudatatagged(
+ L: *mut lua_State,
+ ud: ::std::os::raw::c_int,
+ tag: ::std::os::raw::c_int,
+ ) -> *mut ::std::os::raw::c_void;
+}
unsafe extern "C" {
pub fn luaL_checkbuffer(
L: *mut lua_State,
@@ -1475,6 +1552,7 @@ pub struct lua_CompileOptions {
pub vectorLib: *const ::std::os::raw::c_char,
pub vectorCtor: *const ::std::os::raw::c_char,
pub vectorType: *const ::std::os::raw::c_char,
+ pub vectorPrecision: ::std::os::raw::c_int,
pub mutableGlobals: *const *const ::std::os::raw::c_char,
pub userdataTypes: *const *const ::std::os::raw::c_char,
pub librariesWithKnownMembers: *const *const ::std::os::raw::c_char,
@@ -1484,7 +1562,7 @@ pub struct lua_CompileOptions {
}
#[allow(clippy::unnecessary_operation, clippy::identity_op)]
const _: () = {
- ["Size of lua_CompileOptions"][::std::mem::size_of::() - 88usize];
+ ["Size of lua_CompileOptions"][::std::mem::size_of::() - 96usize];
["Alignment of lua_CompileOptions"][::std::mem::align_of::() - 8usize];
["Offset of field: lua_CompileOptions::optimizationLevel"]
[::std::mem::offset_of!(lua_CompileOptions, optimizationLevel) - 0usize];
@@ -1500,18 +1578,20 @@ const _: () = {
[::std::mem::offset_of!(lua_CompileOptions, vectorCtor) - 24usize];
["Offset of field: lua_CompileOptions::vectorType"]
[::std::mem::offset_of!(lua_CompileOptions, vectorType) - 32usize];
+ ["Offset of field: lua_CompileOptions::vectorPrecision"]
+ [::std::mem::offset_of!(lua_CompileOptions, vectorPrecision) - 40usize];
["Offset of field: lua_CompileOptions::mutableGlobals"]
- [::std::mem::offset_of!(lua_CompileOptions, mutableGlobals) - 40usize];
+ [::std::mem::offset_of!(lua_CompileOptions, mutableGlobals) - 48usize];
["Offset of field: lua_CompileOptions::userdataTypes"]
- [::std::mem::offset_of!(lua_CompileOptions, userdataTypes) - 48usize];
+ [::std::mem::offset_of!(lua_CompileOptions, userdataTypes) - 56usize];
["Offset of field: lua_CompileOptions::librariesWithKnownMembers"]
- [::std::mem::offset_of!(lua_CompileOptions, librariesWithKnownMembers) - 56usize];
+ [::std::mem::offset_of!(lua_CompileOptions, librariesWithKnownMembers) - 64usize];
["Offset of field: lua_CompileOptions::libraryMemberTypeCb"]
- [::std::mem::offset_of!(lua_CompileOptions, libraryMemberTypeCb) - 64usize];
+ [::std::mem::offset_of!(lua_CompileOptions, libraryMemberTypeCb) - 72usize];
["Offset of field: lua_CompileOptions::libraryMemberConstantCb"]
- [::std::mem::offset_of!(lua_CompileOptions, libraryMemberConstantCb) - 72usize];
+ [::std::mem::offset_of!(lua_CompileOptions, libraryMemberConstantCb) - 80usize];
["Offset of field: lua_CompileOptions::disabledBuiltins"]
- [::std::mem::offset_of!(lua_CompileOptions, disabledBuiltins) - 80usize];
+ [::std::mem::offset_of!(lua_CompileOptions, disabledBuiltins) - 88usize];
};
unsafe extern "C" {
pub fn luau_compile(
@@ -1545,6 +1625,15 @@ unsafe extern "C" {
w: f32,
);
}
+unsafe extern "C" {
+ pub fn luau_set_compile_constant_vectord(
+ constant: *mut lua_CompileConstant,
+ x: f64,
+ y: f64,
+ z: f64,
+ w: f64,
+ );
+}
unsafe extern "C" {
pub fn luau_set_compile_constant_string(
constant: *mut lua_CompileConstant,
@@ -1767,6 +1856,19 @@ unsafe extern "C" {
unsafe extern "C" {
pub fn luarequire_clearcache(L: *mut lua_State) -> ::std::os::raw::c_int;
}
+unsafe extern "C" {
+ pub fn luarequire_lockplaceholder(L: *mut lua_State, idx: ::std::os::raw::c_int);
+}
+unsafe extern "C" {
+ pub fn luarequire_populateplaceholder(
+ L: *mut lua_State,
+ placeholderIdx: ::std::os::raw::c_int,
+ resultIdx: ::std::os::raw::c_int,
+ );
+}
+unsafe extern "C" {
+ pub fn luarequire_createplaceholder(L: *mut lua_State);
+}
pub const DARP_LUAU_REQUIRE_PROXY: _bindgen_ty_1 = _bindgen_ty_1::DARP_LUAU_REQUIRE_PROXY;
#[repr(i32)]
#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
diff --git a/native/luau b/native/luau
index 86d2a9d..decb2d0 160000
--- a/native/luau
+++ b/native/luau
@@ -1 +1 @@
-Subproject commit 86d2a9dcd7cef396b73b1585371723e169e69a41
+Subproject commit decb2d0526797a175d7c5ba8d4d78858ced98553
diff --git a/src/Darp.Luau.Native/LuauNative.g.cs b/src/Darp.Luau.Native/LuauNative.g.cs
index a0239a9..3108d81 100644
--- a/src/Darp.Luau.Native/LuauNative.g.cs
+++ b/src/Darp.Luau.Native/LuauNative.g.cs
@@ -29,6 +29,7 @@ public static unsafe partial class LuauNative
public const uint LUA_MINSTRTABSIZE = 32;
public const uint LUA_MAXCAPTURES = 32;
public const uint LUA_VECTOR_SIZE = 3;
+ public const uint LUA_VECTOR_DOUBLE = 0;
public const uint LUA_EXTRA_SIZE = 1;
public const uint LUA_REFNIL = 0;
public static ReadOnlySpan LUA_COLIBNAME => new byte[] { 99, 111, 114, 111, 117, 116, 105, 110, 101, 0 };
@@ -350,12 +351,18 @@ public static unsafe partial class LuauNative
[DllImport(__DllName, EntryPoint = "lua_gc", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
public static extern int lua_gc(lua_State* L, int what, int data);
+ [DllImport(__DllName, EntryPoint = "lua_memorydump", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
+ public static extern void lua_memorydump(lua_State* L, void* file, delegate* unmanaged[Cdecl] categoryName);
+
[DllImport(__DllName, EntryPoint = "lua_setmemcat", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
public static extern void lua_setmemcat(lua_State* L, int category);
[DllImport(__DllName, EntryPoint = "lua_totalbytes", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
public static extern nuint lua_totalbytes(lua_State* L, int category);
+ [DllImport(__DllName, EntryPoint = "lua_allocationrate", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
+ public static extern long lua_allocationrate(lua_State* L);
+
[DllImport(__DllName, EntryPoint = "lua_next", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
public static extern int lua_next(lua_State* L, int idx);
@@ -365,6 +372,9 @@ public static unsafe partial class LuauNative
[DllImport(__DllName, EntryPoint = "lua_concat", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
public static extern void lua_concat(lua_State* L, int n);
+ [DllImport(__DllName, EntryPoint = "lua_setpointerencodekey", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
+ public static extern void lua_setpointerencodekey(lua_State* L, ulong a, ulong b, ulong c, ulong d);
+
[DllImport(__DllName, EntryPoint = "lua_encodepointer", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
public static extern nuint lua_encodepointer(lua_State* L, nuint p);
@@ -380,12 +390,30 @@ public static unsafe partial class LuauNative
[DllImport(__DllName, EntryPoint = "lua_getuserdatadtor", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
public static extern delegate* unmanaged[Cdecl] lua_getuserdatadtor(lua_State* L, int tag);
+ [DllImport(__DllName, EntryPoint = "lua_setuserdatamark", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
+ public static extern void lua_setuserdatamark(lua_State* L, int tag, delegate* unmanaged[Cdecl] markfn);
+
+ [DllImport(__DllName, EntryPoint = "lua_setembeddergc", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
+ public static extern void lua_setembeddergc(lua_State* L, delegate* unmanaged[Cdecl], void> fn_);
+
+ [DllImport(__DllName, EntryPoint = "lua_weakref", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
+ public static extern int lua_weakref(lua_State* L, int idx);
+
+ [DllImport(__DllName, EntryPoint = "lua_weakunref", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
+ public static extern int lua_weakunref(lua_State* L, int ref_);
+
+ [DllImport(__DllName, EntryPoint = "lua_getweakref", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
+ public static extern int lua_getweakref(lua_State* L, int ref_);
+
[DllImport(__DllName, EntryPoint = "lua_setuserdatametatable", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
public static extern void lua_setuserdatametatable(lua_State* L, int tag);
[DllImport(__DllName, EntryPoint = "lua_getuserdatametatable", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
public static extern void lua_getuserdatametatable(lua_State* L, int tag);
+ [DllImport(__DllName, EntryPoint = "lua_getuserdataname", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
+ public static extern byte* lua_getuserdataname(lua_State* L, int tag);
+
[DllImport(__DllName, EntryPoint = "lua_registeruserdatadirectaccess", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
public static extern int lua_registeruserdatadirectaccess(lua_State* L, int tag, delegate* unmanaged[Cdecl] get, delegate* unmanaged[Cdecl] set, delegate* unmanaged[Cdecl] namecall);
@@ -416,6 +444,9 @@ public static unsafe partial class LuauNative
[DllImport(__DllName, EntryPoint = "lua_clonefunction", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
public static extern void lua_clonefunction(lua_State* L, int idx);
+ [DllImport(__DllName, EntryPoint = "lua_usesexport", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
+ public static extern int lua_usesexport(lua_State* L, int idx);
+
[DllImport(__DllName, EntryPoint = "lua_cleartable", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
public static extern void lua_cleartable(lua_State* L, int idx);
@@ -429,7 +460,10 @@ public static unsafe partial class LuauNative
public static extern int lua_ref(lua_State* L, int idx);
[DllImport(__DllName, EntryPoint = "lua_unref", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
- public static extern void lua_unref(lua_State* L, int ref_);
+ public static extern int lua_unref(lua_State* L, int ref_);
+
+ [DllImport(__DllName, EntryPoint = "lua_callhook", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
+ public static extern void lua_callhook(lua_State* L, delegate* unmanaged[Cdecl] hook, void* userdata);
[DllImport(__DllName, EntryPoint = "lua_stackdepth", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
public static extern int lua_stackdepth(lua_State* L);
@@ -452,21 +486,30 @@ public static unsafe partial class LuauNative
[DllImport(__DllName, EntryPoint = "lua_setupvalue", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
public static extern byte* lua_setupvalue(lua_State* L, int funcindex, int n);
+ [DllImport(__DllName, EntryPoint = "lua_hascustomexecution", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
+ public static extern int lua_hascustomexecution(lua_State* L, int level);
+
+ [DllImport(__DllName, EntryPoint = "lua_incustomexecution", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
+ public static extern int lua_incustomexecution(lua_State* L, int level);
+
[DllImport(__DllName, EntryPoint = "lua_singlestep", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
public static extern void lua_singlestep(lua_State* L, int enabled);
[DllImport(__DllName, EntryPoint = "lua_breakpoint", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
public static extern int lua_breakpoint(lua_State* L, int funcindex, int line, int enabled);
+ [DllImport(__DllName, EntryPoint = "lua_atbreakpoint", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
+ public static extern int lua_atbreakpoint(lua_State* L);
+
+ [DllImport(__DllName, EntryPoint = "lua_debugtrace", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
+ public static extern byte* lua_debugtrace(lua_State* L);
+
[DllImport(__DllName, EntryPoint = "lua_getcoverage", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
public static extern void lua_getcoverage(lua_State* L, int funcindex, void* context, delegate* unmanaged[Cdecl] callback);
[DllImport(__DllName, EntryPoint = "lua_getcounters", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
public static extern void lua_getcounters(lua_State* L, int funcindex, void* context, delegate* unmanaged[Cdecl] functionvisit, delegate* unmanaged[Cdecl] countervisit);
- [DllImport(__DllName, EntryPoint = "lua_debugtrace", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
- public static extern byte* lua_debugtrace(lua_State* L);
-
[DllImport(__DllName, EntryPoint = "lua_callbacks", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
public static extern lua_Callbacks* lua_callbacks(lua_State* L);
@@ -536,6 +579,9 @@ public static unsafe partial class LuauNative
[DllImport(__DllName, EntryPoint = "luaL_checkudata", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
public static extern void* luaL_checkudata(lua_State* L, int ud, byte* tname);
+ [DllImport(__DllName, EntryPoint = "luaL_checkudatatagged", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
+ public static extern void* luaL_checkudatatagged(lua_State* L, int ud, int tag);
+
[DllImport(__DllName, EntryPoint = "luaL_checkbuffer", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
public static extern void* luaL_checkbuffer(lua_State* L, int narg, nuint* len);
@@ -656,6 +702,9 @@ public static unsafe partial class LuauNative
[DllImport(__DllName, EntryPoint = "luau_set_compile_constant_vector", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
public static extern void luau_set_compile_constant_vector(void** constant, float x, float y, float z, float w);
+ [DllImport(__DllName, EntryPoint = "luau_set_compile_constant_vectord", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
+ public static extern void luau_set_compile_constant_vectord(void** constant, double x, double y, double z, double w);
+
[DllImport(__DllName, EntryPoint = "luau_set_compile_constant_string", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
public static extern void luau_set_compile_constant_string(void** constant, byte* s, nuint l);
@@ -677,6 +726,15 @@ public static unsafe partial class LuauNative
[DllImport(__DllName, EntryPoint = "luarequire_clearcache", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
public static extern int luarequire_clearcache(lua_State* L);
+ [DllImport(__DllName, EntryPoint = "luarequire_lockplaceholder", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
+ public static extern void luarequire_lockplaceholder(lua_State* L, int idx);
+
+ [DllImport(__DllName, EntryPoint = "luarequire_populateplaceholder", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
+ public static extern void luarequire_populateplaceholder(lua_State* L, int placeholderIdx, int resultIdx);
+
+ [DllImport(__DllName, EntryPoint = "luarequire_createplaceholder", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
+ public static extern void luarequire_createplaceholder(lua_State* L);
+
[DllImport(__DllName, EntryPoint = "luau_free", CallingConvention = CallingConvention.Cdecl, ExactSpelling = true)]
public static extern void luau_free(void* ptr);
@@ -762,6 +820,7 @@ public unsafe partial struct lua_CompileOptions
public byte* vectorLib;
public byte* vectorCtor;
public byte* vectorType;
+ public int vectorPrecision;
public byte** mutableGlobals;
public byte** userdataTypes;
public byte** librariesWithKnownMembers;
@@ -866,6 +925,7 @@ public enum lua_GCOp : uint
LUA_GCSETGOAL = 7,
LUA_GCSETSTEPMUL = 8,
LUA_GCSETSTEPSIZE = 9,
+ LUA_GCISPAUSED = 10,
}
public enum luarequire_NavigateResult : uint