🐛 fix(tsl-syntax): remove body routing instructions

This commit is contained in:
csh
2026-07-13 09:16:53 +08:00
parent b4d2fc8246
commit 617275e92d
22 changed files with 84 additions and 74 deletions
@@ -9,16 +9,16 @@
## 本篇职责
回答“类已经会声明、继承、构造之后,怎样检查类信息、函数信息、对象运行时状态、弱引用创建和弱引用访问判定”。如果只是写一个类、创建一个对象、调用对象方法,回到 [08_objects_and_classes.md](08_objects_and_classes.md)不要因为本页存在反射或弱引用能力就改写成动态查找。
回答“类已经会声明、继承、构造之后,怎样检查类信息、函数信息、对象运行时状态、弱引用创建和弱引用访问判定”。普通类编写、对象创建和对象方法调用的事实见 [08_objects_and_classes.md](08_objects_and_classes.md)不要因为本页存在反射或弱引用能力就改写成动态查找。
## 智能体对象运行时/反射判断流程
1. 先判断用户是否明确要求运行时类类型、方法句柄、对象状态、对象枚举、反射信息或弱引用/自动弱引用。
2. 普通对象创建、普通方法调用、类声明和继承都回到 [08_objects_and_classes.md](08_objects_and_classes.md),不要把 `findClass(...)` / `createObject(...)` 当默认写法。
2. 普通对象创建、普通方法调用、类声明和继承的事实见 [08_objects_and_classes.md](08_objects_and_classes.md),不要把 `findClass(...)` / `createObject(...)` 当默认写法。
3. 确实命中反射时,入口优先照 `findClass``findFunction``thisFunction``findOverLoad` 等文档明确示例写。
4. 访问弱引用前先做 `checkWeakRef(...)` 判定,不要假设失效弱引用安全返回 `nil`
5. 类内段落式 `weakRef` / `autoRef`(不带分号)是合法的成员弱引用开关;只有带分号的 `weakRef;` / `autoRef;` 才报 `invalid class definition`
6. 函数值调用边界回看函数页,避免把函数指针直接当普通函数调用。
6. 函数值调用边界函数页事实为准,避免把函数指针直接当普通函数调用。
7. 没有对应代码块时不要发明对象运行时/反射/弱引用写法。
## 核心规则
@@ -156,7 +156,7 @@ end;
- 输出 `1`
- 说明 `obj.classInfo(1)` 可以返回类类型
- 也说明这个类类型可以继续交给 `createObject(...)`
- 这个 `createObject(cls)` 只适用于“类类型来自运行时”的场景;普通本地类创建仍回 [08_objects_and_classes.md](08_objects_and_classes.md) 使用 `new ClassName()`
- 这个 `createObject(cls)` 只适用于“类类型来自运行时”的场景;普通本地类创建 [08_objects_and_classes.md](08_objects_and_classes.md) `new ClassName()` 规则为准
`classInfo()` 返回的映射字段:
@@ -548,8 +548,8 @@ end;
## 禁止项
- 不要在运行时/反射页发明类声明、继承或构造语法;类基础 [08_objects_and_classes.md](08_objects_and_classes.md)。
- 不要为了普通对象创建先写 `findClass(...)` / `createObject(...)`;普通本地类创建 [08_objects_and_classes.md](08_objects_and_classes.md),默认用 `new ClassName()`
- 不要在运行时/反射页发明类声明、继承或构造语法;类基础事实见 [08_objects_and_classes.md](08_objects_and_classes.md)。
- 不要为了普通对象创建先写 `findClass(...)` / `createObject(...)`;普通本地类创建 [08_objects_and_classes.md](08_objects_and_classes.md) 为准,默认用 `new ClassName()`
- 不要把函数句柄直接当普通函数直调;默认调用方式是 `f.do(...)`
- 不要把 `functionInfo` 示例外推成所有字段都可读。
- 不要把引用计数样例泛化成所有对象销毁时机;只按本页文档行为描述。