From fb34e702dc139bf2093056bc85801f2f7524736d Mon Sep 17 00:00:00 2001 From: OleRoss <97119047+OleRoss@users.noreply.github.com> Date: Sat, 1 Aug 2026 07:24:19 +0000 Subject: [PATCH] deps(luau): bump to 0.732 --- .release-please-manifest.json | 2 +- Directory.Build.props | 2 +- bindgen/src/generated.rs | 192 ++++++++++++++++++++------- native/luau | 2 +- src/Darp.Luau.Native/LuauNative.g.cs | 68 +++++++++- 5 files changed, 214 insertions(+), 52 deletions(-) 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