lua_vm/lib.rs
1//! Lua 5.4 virtual machine — runtime crate.
2//!
3//! Modules map to the canonical C source files per `ANALYSES/file_deps.txt`.
4//! Phase A populated each module with a faithful transliteration; Phase B is
5//! reconciling cross-module references against the `lua-types` foundation.
6
7pub mod api;
8pub mod debug;
9pub mod do_;
10pub mod dump;
11pub mod func;
12pub mod object;
13#[cfg(feature = "opcode-profile")]
14pub mod opcode_profile;
15pub mod state;
16pub mod string;
17pub mod table;
18pub mod tagmethods;
19pub mod trace_impls;
20pub mod undump;
21pub mod vm;
22pub mod zio;
23
24/// Glob-imported by every module so the Phase-B extension traits resolve
25/// without each module having to list them individually.
26///
27/// TODO(phase-b): once the canonical types in `lua-types` grow these methods
28/// natively, this prelude can shrink to just the LuaState helpers.
29pub mod prelude {
30 pub use crate::state::{
31 LuaClosureExt, LuaLClosureRefExt, LuaProtoExt, LuaStringRefExt, LuaTableRefExt, LuaTypeExt,
32 LuaUserDataRefExt, LuaValueExt, StackIdxExt,
33 };
34 pub(crate) use crate::tagmethods::TagMethod;
35 pub use crate::vm::{InstructionExt, OpCode};
36}
37
38// ──────────────────────────────────────────────────────────────────────────
39// PORT STATUS
40// source: (module aggregator; see individual files for C sources)
41// target_crate: lua-vm
42// confidence: high
43// todos: 0
44// port_notes: 0
45// unsafe_blocks: 0
46// notes: Each pub mod corresponds to one C source under
47// `reference/lua-5.4.7/src/`. See `ANALYSES/file_deps.txt`.
48// ──────────────────────────────────────────────────────────────────────────