- 所有文档使用中文。
- 所有代码注释使用英文。
-
LuaVirtualMachine按职责拆分为 partial class,新增 opcode 或功能时放到对应的文件里:LuaVirtualMachine.cs— 核心执行循环和公共 APILuaVirtualMachine.Arithmetic.cs— 算术、位运算、拼接、长度LuaVirtualMachine.Comparison.cs— 相等性、有序比较、条件跳转LuaVirtualMachine.TableAccess.cs— 表读写、SETLIST、NEWTABLE、SELFLuaVirtualMachine.Metamethods.cs— 元方法解析与分发LuaVirtualMachine.ControlFlow.cs— 循环、vararg、泛型 for、跳转LuaVirtualMachine.Helpers.cs— 寄存器、上值、常量、资源清理
-
跨模块共享的值操作逻辑放
LuaValueHelper,不要在LuaState和LuaVirtualMachine里重复实现。 -
元表相关的对象类型实现
IMetatableOwner接口,通过MetatableOwnerExtensions.TryGetMetamethod统一查找。 -
LuaState里的 native 函数遵循LuaNativeFunction委托签名,不需要_ = state; _ = closure;丢弃模式。