🐛 fix(tsl-syntax): remove body routing instructions
This commit is contained in:
@@ -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` 示例外推成所有字段都可读。
|
||||
- 不要把引用计数样例泛化成所有对象销毁时机;只按本页文档行为描述。
|
||||
|
||||
Reference in New Issue
Block a user