fix: 编译缓存键补模板段值、spread 实参、赋值目标属性名与数组 spread 形态

This commit is contained in:
2026-10-10 07:28:09 +00:00
parent 17e5992dcc
commit 7ef19347c8
6 changed files with 120 additions and 28 deletions
+6
View File
@@ -13,14 +13,20 @@ pub(super) fn hash_simple_assignment_target(
}
SimpleAssignmentTarget::StaticMemberExpression(member) => {
expression::hash_expression(&member.object, h, include_binding_names);
// 属性名是字节码依赖(发射侧写入常量池作 IC_SET 等键);optional 与
// 读侧口径对齐(写侧发射当前忽略该标志,防未来写侧开始区分时再漏)。
member.property.name.as_str().hash(h);
member.optional.hash(h);
}
SimpleAssignmentTarget::ComputedMemberExpression(member) => {
expression::hash_expression(&member.object, h, include_binding_names);
expression::hash_expression(&member.expression, h, include_binding_names);
member.optional.hash(h);
}
SimpleAssignmentTarget::PrivateFieldExpression(member) => {
expression::hash_expression(&member.object, h, include_binding_names);
member.field.name.as_str().hash(h);
member.optional.hash(h);
}
SimpleAssignmentTarget::TSAsExpression(ts) => {
expression::hash_expression(&ts.expression, h, include_binding_names);