chore: 消除所有编译器警告

- 移除unused方法: frame(), get_constant(), emit_i16_placeholder
- 移除LoopContext未使用字段: start_ip, scope_depth
- Vm字段改为私有: frames, open_upvalues
- is_const字段添加#[allow(dead_code)]
- 测试: 327/327 通过 | 0 warnings
This commit is contained in:
2026-06-26 00:09:02 +08:00
parent 9a193fd7ca
commit 7b9bded5ee
2 changed files with 5 additions and 29 deletions
+2 -13
View File
@@ -46,7 +46,7 @@ pub struct Vm {
pub stack: Vec<Value>,
/// Call frames
pub frames: Vec<CallFrame>,
frames: Vec<CallFrame>,
/// Script-level globals (top-level let bindings)
pub globals: Rc<RefCell<HashMap<String, Value>>>,
@@ -61,7 +61,7 @@ pub struct Vm {
pub current_dir: String,
/// Open upvalues (tracked so closures share the same upvalue object)
pub open_upvalues: Vec<Rc<RefCell<UpvalueObj>>>,
open_upvalues: Vec<Rc<RefCell<UpvalueObj>>>,
/// VM-compiled closures: maps Function Rc pointer → Closure data
closures: RefCell<HashMap<*const crate::interpreter::Function, Rc<Closure>>>,
@@ -602,10 +602,6 @@ impl Vm {
// IP management
// ========================================================================
fn frame(&self) -> &CallFrame {
self.frames.last().unwrap()
}
fn frame_mut(&mut self) -> &mut CallFrame {
self.frames.last_mut().unwrap()
}
@@ -917,13 +913,6 @@ impl Vm {
}
}
fn get_constant(&self, idx: usize) -> Result<Value, RuntimeError> {
let frame = self.frames.last().unwrap();
frame.closure.proto.constants.get(idx).cloned().ok_or_else(|| RuntimeError::RuntimeError {
message: format!("Constant index {} out of bounds", idx),
token: None,
})
}
// ========================================================================
// Upvalues