From 2d5cba7e98afe311d0ce7ddb58b5a5fc431cc8d6 Mon Sep 17 00:00:00 2001 From: pjh456 <147148383@qq.com> Date: Mon, 12 Oct 2026 16:01:57 +0000 Subject: [PATCH] =?UTF-8?q?style:=20=E8=87=AA=E5=8A=A8=E6=A0=BC=E5=BC=8F?= =?UTF-8?q?=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- crates/oxide_emit/src/class/emit.rs | 14 +++--------- crates/oxide_emit/src/function_body.rs | 31 ++++++-------------------- 2 files changed, 10 insertions(+), 35 deletions(-) diff --git a/crates/oxide_emit/src/class/emit.rs b/crates/oxide_emit/src/class/emit.rs index d7849c12..e23176e5 100644 --- a/crates/oxide_emit/src/class/emit.rs +++ b/crates/oxide_emit/src/class/emit.rs @@ -2,9 +2,7 @@ //! //! 函数:`emit_class`。 -use crate::{ - symbol_table::ScopeKind, ClassElementHooks, CompileCtx, Emitter, FunctionBodyContext, FunctionFlags, -}; +use crate::{symbol_table::ScopeKind, ClassElementHooks, CompileCtx, Emitter, FunctionBodyContext, FunctionFlags}; use oxide_bytecode::module::Constant; use oxide_bytecode::opcode::OpCode; use oxide_ir::inst::Inst; @@ -299,14 +297,8 @@ impl Emitter { ctor_hooks, )? } else { - let mut module = self.compile_function_body( - &[], - &[], - ctx, - FunctionBodyContext::ClassElement, - ctor_flags, - ctor_hooks, - )?; + let mut module = + self.compile_function_body(&[], &[], ctx, FunctionBodyContext::ClassElement, ctor_flags, ctor_hooks)?; if is_derived { module.insts.clear(); module.constants.clear(); diff --git a/crates/oxide_emit/src/function_body.rs b/crates/oxide_emit/src/function_body.rs index d6fcf0e4..2ce275e8 100644 --- a/crates/oxide_emit/src/function_body.rs +++ b/crates/oxide_emit/src/function_body.rs @@ -202,13 +202,8 @@ impl Emitter { /// vreg 化后临时值不复用(独立 vreg),但 builtin 槽预注册仍保证分配序稳定: /// builtin 槽先于临时值池,嵌套函数继承边界不受扰。 pub(crate) fn compile_function_body<'a, E>( - &self, - param_specs: &[ParamSpec<'a>], - body_stmts: &[Statement<'a>], - parent_ctx: &CompileCtx, - body_context: FunctionBodyContext, - flags: FunctionFlags<'a>, - hooks: ClassElementHooks<'a, E>, + &self, param_specs: &[ParamSpec<'a>], body_stmts: &[Statement<'a>], parent_ctx: &CompileCtx, + body_context: FunctionBodyContext, flags: FunctionFlags<'a>, hooks: ClassElementHooks<'a, E>, ) -> Result where E: FnMut(&Emitter, &mut CompileCtx) -> Result<(), String>, @@ -218,9 +213,8 @@ impl Emitter { ctx.is_async = flags.is_async; // 函数 strict = 自身 directive ‖ 外层严格(规范不可解除); // 类元素方法/构造器恒 strict(ClassBody 是严格模式代码)。 - ctx.is_strict = flags.own_strict - || matches!(body_context, FunctionBodyContext::ClassElement) - || parent_ctx.is_strict; + ctx.is_strict = + flags.own_strict || matches!(body_context, FunctionBodyContext::ClassElement) || parent_ctx.is_strict; // 形参名集(含解构叶子与 rest):块级函数名同名的 web-compat 守卫查此集。 let mut param_names = HashSet::new(); @@ -504,21 +498,10 @@ impl Emitter { /// 非类元素函数体便捷入口:空钩子,等价于核心入口传 `ClassElementHooks::none()`。 pub(crate) fn compile_simple_function_body<'a>( - &self, - param_specs: &[ParamSpec<'a>], - body_stmts: &[Statement<'a>], - parent_ctx: &CompileCtx, - body_context: FunctionBodyContext, - flags: FunctionFlags<'a>, + &self, param_specs: &[ParamSpec<'a>], body_stmts: &[Statement<'a>], parent_ctx: &CompileCtx, + body_context: FunctionBodyContext, flags: FunctionFlags<'a>, ) -> Result { - self.compile_function_body( - param_specs, - body_stmts, - parent_ctx, - body_context, - flags, - ClassElementHooks::none(), - ) + self.compile_function_body(param_specs, body_stmts, parent_ctx, body_context, flags, ClassElementHooks::none()) } /// 规范 `argumentsObjNeeded` 的引擎判据:函数作用域是否声明 `arguments`