SModel 语言增强
在某些情况下,您必须处理原始指针,例如 SNodeReference 或 SModelReference。 处理这些指针可能很令人困惑,因为很难创建和操作它们。 为了便于处理指针,我们在 SModel 语言中引入了新类型和操作。
节点指针
我们引入了新类型“node-ptr<>”,使处理指针更加轻松。 可以通过“resolve”操作将这些指针解析为实际节点。 “node-ptr/ ... /”表达式代替以前的“nodePointer/ ... /”结构,后者已被弃用。 创建了迁移脚本来处理表达式的转换。
使用指针设置引用
将目标设置为引用链接时,无需访问目标节点。 指向目标的一个指针就足够了。 “set ptr”操作适用于将引用目标设置为指定指针的引用链接访问表达式。 要检查某个节点是否是节点指针指定的节点,应使用新操作“is”。
SModel 类型的严格输入规则
SModel 类型的输入规则变得更加严格。 SNodeReference 接口方法不再适用于“node-ptr”值。 应当使用向下转换运算符来明确获得 SNodeReference。 此外,节点实例上的“pointer”操作现在返回“node-ptr”,而不是常规的 SNodeReference。
新迁移脚本
我们引入了几个迁移脚本,可以帮助您迁移旧的 SModel 语言结构,例如 node/.../` 表达式、不良的引用或向下转换。 要运行它们,请转到 Tools -> Scripts -> Enhancements...,然后选择“SModel Language Enhancements (node-ptr<> and model-ptr)”。 另外,在同一个窗口中有一个“Use node pointers in reference macro queries”选项,用于处理生成器宏中的旧结构。
编辑器
为子树显示反射编辑器
现在,您可以为整个子树显示反射编辑器。 选择节点并按 Cmd/Ctrl+Shift+[ 或从上下文菜单中选择“Show reflective editor for subtree”。 如果要返回常规的编辑器,请按 Cmd/Ctrl+]、Cmd/Ctrl+Shift+] 或右键点击选项“Show regular editor for the Subtree”。 仍可仅为当前节点显示反射编辑器,只需按 Cmd/Ctrl+[ 或从上下文菜单中选择。