chore: 移除键域调试探针与死代码并修正动态源注释

This commit is contained in:
2026-09-14 10:56:32 +00:00
parent 7feb88f14d
commit 4284aed79a
2 changed files with 3 additions and 21 deletions
-12
View File
@@ -87,18 +87,6 @@ fn int_or_string_index<H: VmHost>(vm: &H, si: u32) -> Option<u32> {
is_integer_index(key).then(|| key.parse::<u32>().unwrap())
}
/// 键 si 物化为字符串文本:整数键反解数字串,其余查 interner。
///
/// 注意返回的是**键空间文本**(孤立 surrogate 为 FFFD+hex4 转义形态),仅可用于
/// 键比较/数字判定等键空间用途;产 JS 可见串值用 `key_si_to_js_value`。
pub fn key_si_to_string<H: VmHost>(vm: &H, si: u32) -> String {
if is_int_key(si) {
int_key_value(si).to_string()
} else {
vm.kernel_core().perm_interner().lookup(si).unwrap_or("").to_string()
}
}
/// 键 si 物化为 JS 可见字符串值(Object.keys / ownKeys / entries 族):
/// 整数键反解数字串,字符串键经 `decode_key` 还原单元序列(孤立 surrogate
/// 物化为 FlatU16,良形键与旧行为逐位一致)。
+3 -9
View File
@@ -1422,14 +1422,7 @@ impl Vm {
// 其它原始值(BigInt 等):ToPropertyKey 一律转字符串并走规范化,避免与
// 数字键区间分裂(`o[5n]` 与 `o["5"]`/`o[5]` 必须同键)。
let units = oxide_runtime_api::to_units_full(val, self)?;
if std::env::var("OXIDE_KEY_PROBE").is_ok() {
eprintln!("[KEYPROBE] tail fallback units={:?}", units);
}
let si = self.string_key_units(&units);
if std::env::var("OXIDE_KEY_PROBE").is_ok() {
eprintln!("[KEYPROBE] tail result si={}", si);
}
Ok(si)
Ok(self.string_key_units(&units))
}
/// 从良形文本串推导属性键 si(`property_key_si` Flat 分支与 `string_key_si`
@@ -2746,7 +2739,8 @@ impl Vm {
let program = oxide_parser::parse(&allocator, &source)
.map_err(|errs| errs.into_iter().map(|e| e.message).collect::<Vec<_>>().join("\n"))?;
// 动态路径源契约:调用方以源码域转义(`string_forge::source_escape`)
// 形态传源;正则字面量源文本常量与静态同路径(`pool_key_plain`)。
// 形态传源;正则字面量源切片经 `source_escape_to_key` 还原注入
// marker 后入池(编码源口径,区别于静态源的 `pool_key_plain`)。
let mut module = oxide_compiler::compiler::Compiler::new()
.with_source_encoded(true)
.compile(&program)?;