feat: 支持访问器描述符与 get/set 语法

This commit is contained in:
爱特每羊队
2026-06-09 16:22:24 +08:00
parent 044c8a4303
commit ed0864d01f
13 changed files with 457 additions and 77 deletions
+12 -8
View File
@@ -30,17 +30,21 @@ impl Vm {
Ok(())
}
Err(err_val) => {
let msg = if err_val.is_string() {
self.kernel()
.string_forge()
.lookup(err_val.as_string_index())
.unwrap_or_else(|| format!("{err_val}"))
let (error, kind) = if err_val.is_object() {
(err_val, self.thrown_error_kind(err_val))
} else {
format!("{err_val}")
let msg = if err_val.is_string() {
self.kernel()
.string_forge()
.lookup(err_val.as_string_index())
.unwrap_or_else(|| format!("{err_val}"))
} else {
format!("{err_val}")
};
(crate::builtins::error::create_error(self, &msg), "Error")
};
let error = crate::builtins::error::create_error(self, &msg);
self.exception_value = Some(error);
self.pending_error_kind = Some("Error");
self.pending_error_kind = Some(kind);
self.unwind()
}
}