mirror of
https://github.com/pjh456/OxideJS.git
synced 2026-10-24 02:31:13 +08:00
kernel/builtins/test262: 本批新码 clippy 三则 + fmt 归净——obfuscated_if_else(source_escape_to_key 值域判定改 if/else)、needless_range_loop(decode_uri_units 保留字符原样段改 extend_from_slice)、needless_borrows_for_generic_args(844f2f4 rename 调用两处冗余借用);fmt 漂移(compiler.rs/vm.rs 构造体折行)一并归净。七 crate clippy 零告警、fmt --check 净、七 crate 2879/1(唯一失败 compile_class_declaration 既有)、release 子集 8/8 + 2/2 终验
This commit is contained in:
@@ -191,9 +191,7 @@ pub fn source_escape_to_key(text: &str) -> String {
|
||||
if i + 1 < chars.len() && chars[i + 1] == '\\' {
|
||||
let is_marker = i + 7 <= chars.len()
|
||||
&& chars[i + 2] == 'u'
|
||||
&& chars[i + 3..i + 7]
|
||||
.iter()
|
||||
.all(|c| matches!(c, '0'..='9' | 'a'..='f'));
|
||||
&& chars[i + 3..i + 7].iter().all(|c| matches!(c, '0'..='9' | 'a'..='f'));
|
||||
if is_marker {
|
||||
out.push('\\');
|
||||
i += 1;
|
||||
@@ -209,12 +207,12 @@ pub fn source_escape_to_key(text: &str) -> String {
|
||||
if i + 1 < chars.len() && chars[i + 1] == 'u' {
|
||||
let tail_len = 4.min(chars.len() - i - 2);
|
||||
let tail = &chars[i + 2..i + 2 + tail_len];
|
||||
let ok = tail
|
||||
.iter()
|
||||
.all(|c| matches!(c, '0'..='9' | 'a'..='f'));
|
||||
let v: u32 = ok
|
||||
.then(|| tail.iter().fold(0u32, |v, c| v * 16 + c.to_digit(16).unwrap()))
|
||||
.unwrap_or(0);
|
||||
let ok = tail.iter().all(|c| matches!(c, '0'..='9' | 'a'..='f'));
|
||||
let v: u32 = if ok {
|
||||
tail.iter().fold(0u32, |v, c| v * 16 + c.to_digit(16).unwrap())
|
||||
} else {
|
||||
0
|
||||
};
|
||||
if tail_len == 4 && ok && (v == 0xFFFD || (0xD800..=0xDFFF).contains(&v)) {
|
||||
out.push('\u{FFFD}');
|
||||
out.extend(tail);
|
||||
|
||||
Reference in New Issue
Block a user