docs: 内建绑定连线组注释改写与断链修复

This commit is contained in:
2026-09-17 03:47:41 +00:00
parent d474ef6b46
commit 2d48a7e253
4 changed files with 59 additions and 20 deletions
+13
View File
@@ -9,6 +9,13 @@ mod world;
pub use methods::{ArrayMethods, ErrorMethods, FunctionMethods, ObjectMethods, RegExpMethods, StringMethods};
pub use world::{BuiltinWorld, FnWrapperKey};
/// 把一个 native 方法绑定到目标对象:构造(或复用)wrapper 函数对象,以
/// `$name` 为属性名写入目标对象的命名属性区。
///
/// `$world` 是 wrapper 归属的 `BuiltinWorld`(wrapper 原型取自它的
/// Function.prototype,本体登记进它的释放登记表,选择性重建时按键复用);
/// `$sf` / `$sh` 为字符串 / 形状 interner;`$nargs` 是 native 函数形式参数
/// 个数,写入 wrapper 的 `length` 属性。
#[macro_export]
macro_rules! bind_method {
($world:expr, $target:expr, $sf:expr, $sh:expr, $name:literal, $func:expr, $nargs:expr) => {{
@@ -19,6 +26,8 @@ macro_rules! bind_method {
}};
}
/// 批量绑定一组 native 方法,条目形如 `(名称, 函数指针, 参数个数)`;
/// 逐条展开为 `bind_method!`。
#[macro_export]
macro_rules! bind_methods {
($world:expr, $target:expr, $sf:expr, $sh:expr,
@@ -27,6 +36,10 @@ macro_rules! bind_methods {
};
}
/// `bind_methods!` 的静态版本:初始化阶段调用,显式传入 `$world`(宏展开到
/// `BuiltinWorld::bind_method_static` / `bind_method_labeled_static`)。
/// 第二形态多一个 `$label`(绑定站点标签):非 P 目标上同名方法槽
/// (Generator / AsyncGenerator 原型的 next / return / throw)靠它区分。
#[macro_export]
macro_rules! bind_methods_static {
($target:expr, $sf:expr, $sh:expr, $world:expr,