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:
+2
-13
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user