Snow 编程语言 v0.10.0 发布: 实现方法重载、增加 ANY 类型
更新内容 新增功能 方法重载:引入按参数总数(含隐式 this)区分的重载机制;统一为为重载方法追加 _N 后缀的命名规则;新增重载表与 addMethod / getMethod;对象/静态方法调用自动追加 _N,普通函数调用不追加。 字符串/引用拼接:IR 新增 ADD_R,并由 IROpCodeMapper 映射到 VM 指令 R_ADD;VM 新增 RAddCommand,实现「两引用出栈 → 转字符串 → 按左到右顺序拼接 → 压栈」的语义,延续非数值 + 的字符串连接行为。 类型系统扩展:新增万能类型 ANY;isCompatible 增强以支持 ANY 与父类引用检查;类型提升工具支持引用类型 R; 变量声明支持自动类型提升。 平台:新增 macOS 打包配置,完善分发能力。 性能和稳定性改进 数值计算精确化:实现数值加法的精确处理,消除常见浮点误差;非数值 + 仍保持字符串连接语义。 调用链路优化:更新 CallExpressionAnalyzer 与方法查找算法,按参数计数解析更快、更准确。 执行路径简化:精简 CallCommand,移除虚拟调用路径,仅保留静态调用;删除不再使用的 Instance 与 VirtualTable,降低复杂度与运行开销。 核心组件重构:优化 IRBuilderScope、SignatureRegistrar、LocalVariableStore 等类的结构与文档,职责更清晰、内存/查询开销更低。 健壮性:加强参数校验与异常处理,提升容错与可观测性;改进模块常量加载逻辑并简化实现。 开发者体验提升 统一重载命名与结构体方法降级规则(StructName.method_N,N 含隐式 this),并梳理结构体签名注册与继承流程,易于理解与排错。 代码与注释全面整理:统一导入顺序与格式,清理未使用变量和冗余兜底逻辑,补充必要注释与包级文档。 日志与错误信息风格统一,定位信息更明确;示例/测试更完善,便于本地复现与演示。 新增 macOS 打包流程,降低本地试用与交付门槛。 Bug 修复 修复 成员访问表达式 在继承场景下父类字段下标重复计算的问题(已进行字段去重与索引纠正)。 修复 syscall 子命令 的解析异常,提升命令行稳定性。 文档改进 补充与统一类型系统文档:完善 BuiltinTypeRegistry / BuiltinType 的注释与结构说明,新增 ANY、引用类型 R 的类型提升与兼容性示例。 完善 IR↔VM 指令映射文档,明确 ADD_R → R_ADD 的语义与边界。 梳理多处 README 与类文档,统一术语与风格,提升可读性与检索性。 如遇到使用问题,欢迎及时 提交 Issue