pub struct Compiler { /* private fields */ }luau only.Expand description
Luau compiler
Implementations§
Source§impl Compiler
impl Compiler
Sourcepub const fn set_optimization_level(self, level: u8) -> Self
pub const fn set_optimization_level(self, level: u8) -> Self
Sets Luau compiler optimization level.
Possible values:
- 0 - no optimization
- 1 - baseline optimization level that doesn’t prevent debuggability (default)
- 2 - includes optimizations that harm debuggability such as inlining
Sourcepub const fn set_debug_level(self, level: u8) -> Self
pub const fn set_debug_level(self, level: u8) -> Self
Sets Luau compiler debug level.
Possible values:
- 0 - no debugging support
- 1 - line info & function names only; sufficient for backtraces (default)
- 2 - full debug info with local & upvalue names; necessary for debugger
Sourcepub const fn set_type_info_level(self, level: u8) -> Self
pub const fn set_type_info_level(self, level: u8) -> Self
Sets Luau type information level used to guide native code generation decisions.
Possible values:
- 0 - generate for native modules (default)
- 1 - generate for all modules
Sourcepub const fn set_coverage_level(self, level: u8) -> Self
pub const fn set_coverage_level(self, level: u8) -> Self
Sets Luau compiler code coverage level.
Possible values:
- 0 - no code coverage support (default)
- 1 - statement coverage
- 2 - statement and expression coverage (verbose)
Sourcepub fn set_mutable_globals<S: Into<String>>(self, globals: Vec<S>) -> Self
pub fn set_mutable_globals<S: Into<String>>(self, globals: Vec<S>) -> Self
Sets a list of globals that are mutable.
It disables the import optimization for fields accessed through these.
Sourcepub fn set_userdata_types<S: Into<String>>(self, types: Vec<S>) -> Self
pub fn set_userdata_types<S: Into<String>>(self, types: Vec<S>) -> Self
Sets a list of userdata types that will be included in the type information.
Sourcepub fn set_library_constants<L, M>(
self,
constants: Vec<(L, M, CompileConstant)>,
) -> Self
pub fn set_library_constants<L, M>( self, constants: Vec<(L, M, CompileConstant)>, ) -> Self
Sets constants for known library members.
The constants are used by the compiler to optimize the generated bytecode. Optimization level must be at least 2 for this to have any effect.
The first element of the tuple is the library name,the second is the member name, and the third is the constant value.
Sourcepub fn set_disabled_builtins<S: Into<String>>(self, builtins: Vec<S>) -> Self
pub fn set_disabled_builtins<S: Into<String>>(self, builtins: Vec<S>) -> Self
Sets a list of builtins that should be disabled.
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Compiler
impl RefUnwindSafe for Compiler
impl Send for Compiler
impl Sync for Compiler
impl Unpin for Compiler
impl UnwindSafe for Compiler
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more