Skip to content

Norm 0.22 ​

Norm 0.22 统一编译器、语言服务与应用构建的语义和资源边界,并修复泛型推断、重命名、空值分析和 Native 归档问题。

模块内测试 ​

模块支持独立的生产与测试源码集合。std.testing.Test 标记可单独执行的测试函数,CLI 支持按函数或 package 筛选,编辑器提供 Run Test。测试关联被测声明,API 文档反向展示测试及源码;标准库的 54 个测试纳入 std 模块。配置与执行方式见测试 API。生产构建排除测试源码集合;@Test 本身不是删除生产源码中函数的指令。

类型与编辑器行为 ​

  • 泛型参数身份区分所属声明和重载,约束不会在不同声明之间串用。
  • 泛型调用支持沿类与接口继承关系推断类型实参;补全和编译共用类型应用、赋值关系及约束求解。
  • 重命名覆盖类方法的 override 和接口 witness 关系,保留动态分派;成员查询合并被实现或覆盖的声明。
  • 循环结束后的空值分析保留零次迭代路径,nullable 遍历与索引接收者在语义分析阶段报错。
  • 字符串插值表达式支持补全,未闭合字面量使用词法恢复结果。

编译与应用边界 ​

CLI、Polyglot 与应用构建共用编译和资源准备入口。编译产物持有捕获的 Java classpath、资源和注解处理结果,运行和打包复用同一份输入。语言服务按项目发布一致快照,标准库源码覆盖层参与同一分析过程。

内建协议从 ABI 契约派生;Java 绑定扫描统一处理有效继承成员。模块化 CLI 的 Native 应用归档支持源码位置类型的序列化。职责和验证入口见编译器架构,交付方式见应用构建。

使用与边界 ​

升级 CLI 与 VS Code 扩展到同一版本,编辑器安装后重新加载窗口。现有 Native 构建与平台依赖要求见发布流程。本版本主要调整编译器内部架构,并收紧原本被错误接受的程序;这不代表所有 Java 框架路径均已验证。

Norm 0.25