已合并
fix: improve code coverage #742
fix: improve code coverage #742
已合并
kangyi创建于 23 天前
kangyi仓颉Developer
23 天前

Change Details (Required)

补充chir库,plugin库和aspect_cj库的测试用例过程中发现,有的接口需要适配。对于一些行为上的变化,在此补充说明:

  1. intrinsic 表达式 dump的时候,之前是Intrinsic(xxx),现在是Intrinsic/kind(xxx)
  2. 之前由builder构建出来的block,是没有predecessor的,这是一个bug,我在这个pr中进行了修复
  3. Value的user之前可能有重复,这个pr对user进行了去重
  4. NumericCastBase 的父类从 Expression 变成了 TypeCast ,之前继承关系写错了
  5. getInstType 这个接口之前实现的有问题,如果是成员函数,而且父类里面有泛型参数,最后计算出来的结果是错的

Change Type (Required)

Please describe the type of changes in this Pull Request (reason). Simply save and click the checkbox, or when editing, change [ ] to [x] for the relevant item.

Self-Check of Changes (Required)

Please do not modify or delete the following options. Simply save and click the checkbox, or when editing, change [ ] to [x] for the relevant item.

Local Compilation Verification Results:

Local Test Case Verification Results:

image.png

https://gitcode.com/Cangjie/cangjie_compiler/issues/507

Additional Information (Please delete this part if you have no additional information)

Please provide additional information related to this Pull Request.

likedislike
Pull Request已成功合入, 合并人@cangjie-ci
(感谢 kangyi 的贡献)
Kkangyi仓颉Developer
23 天前 关联了issue:[新需求]: stdx新增chir库
仓颉编程语言
仓颉编程语言成员
23 天前 评论:

PR创建成功通知 | 感谢您的贡献 🎉

您好!系统已检测到您成功创建 Pull Request(PR),感谢您对项目的支持与参与!以下几点需要您着重关注:

一、PR必须关联Issue ❗️

触发门禁检查的必要步骤:在PR描述框输入Issue完整链接,完成Issue关联

请注意,一个 Issue 不能同时关联同一 base 仓库内同一个分支的多个开启状态的 PR

二、门禁触发规则 🔧

  1. 门禁类型判定:由Issue关联的PR所属代码仓数量决定
    • 关联多个代码仓PR:触发「多仓联合门禁」
    • 关联单个代码仓PR:触发「单仓门禁」
  2. 启动指令与检查范围:需主动回复指令:
    • 回复 "start build":执行Cangjie的主要基础检查,包含commit格式检查、静态告警分析、OAT开源声明检查、多平台构建、单元/集成测试等
    • 关联同一issue的多个PR,仅需在任意一个PR里回复触发一次门禁,该PR门禁通过后,所有PR都会添加Label和测试人
    • 每个pr只能同时运行一条CI流水线,如需重新启动,请先关闭运行中的,再评论触发门禁
    • Markdown修改仅触发文档类构建测试门禁,不会触发Cangjie的编译测试门禁
    • commit 信息格式请遵循:Conventional Commits 规范
    • 请保证每一条 commit 都已添加 Signed-Off-By 信息
    • 回复 "start build cov":执行覆盖率构建工程,生成该提交的增量代码覆盖率报告

三、合入条件 ⚠️

  • 满足最低评审人数,且评审问题需全部解决;
  • 禁止合入本人创建的PR,需由其他协作者操作;
  • 合并前确保关联流水线任务运行成功(build-test-passed)。

四、合并PR ✅

回复 "start merge",CI流水线会自动检查所有关联PR的状态、版本号标签、检视意见密度、兼容性,若所有PR都满足合并条件,则将会同时合并所有PR。若存在不满足合并条件的PR,则不会合并任何PR。

如果希望不进行兼容性相关的检测,请任一合法审查人复制以下内容,在 start merge 前提交评论:

本 pr 不需要兼容性相关检测,对于引发的任何兼容性问题(即由于本 pr 合入将导致用户需适配代码的话),由本人承担。

If you wish to avoid compatibility-related checks, please have any approver copy the following content and submit it as a comment before sending start merge:

This PR does not require compatibility-related checks. For any compatibility issues caused by this PR (i.e., if the integration of this PR will require users to adapt their code), I will take full responsibility.

五、补充说明 📢

likedislike
仓颉编程语言仓颉编程语言管理员
23 天前 添加了label:1.3.0-alpha.01waiting-start-build
仓颉编程语言仓颉编程语言管理员
23 天前 重置了测试状态
Kkangyi仓颉Developer
23 天前 修改了pull request 的描述
此处折叠了66条消息 查看更多
kangyi成员
13 天前 评论:

start merge

likedislike
cangjie-ci成员
13 天前 评论:

⏳ 正在进行兼容性检测中,可能需要2~3分钟,请稍候,若10分钟无检测结果,请重新回复 start merge


⏳ Compatibility check in progress. It may take 2–3 minutes. Please wait. If there is no result after 10 minutes, please reply with start merge again.

likedislike
cangjie-ci成员
13 天前 评论:

✅ 合入前兼容性检测通过。
涉及仓库:Cangjie/cangjie_stdx, Cangjie/cangjie_test

结论

  • 分析过程:已仅分析 Cangjie/cangjie_stdx#742;基于首个提交父版本 9b074542049d342e7a42c1fe14d7ba35cc063a20 与 PR head 6eb524e4518638c309b8837d025ee6af6dcf94a1 的完整 diff,检查公开 stdx.chir API、文档及源码影响面。 / Analyzed only Cangjie/cangjie_stdx#742; compared the first-commit parent 9b074542049d342e7a42c1fe14d7ba35cc063a20 with PR head 6eb524e4518638c309b8837d025ee6af6dcf94a1, covering public stdx.chir APIs, documentation, and source impact.
  • 原因:不兼容:PR 将公开类 Lambda 的受保护可变属性 paramDftValHostFunc 从 Lambda 改为 ?Lambda(src/stdx/chir/expression.cj),且新中文/英文 API 参考明确发布为 public mut prop paramDftValHostFunc: ?Lambda(doc/libs_stdx/chir/chir_package_api/chir_package_classes.md;doc/libs_stdx_en/chir/chir_package_api/chir_package_classes.md)。旧版外部 Lambda 子类可将该 getter 的结果作为 Lambda 使用;升级后 getter 返回 ?Lambda,旧成功代码需要显式解包并重新编译,因此破坏受保护成员属性的源兼容性。 / Incompatible: the PR changes protected mutable property Lambda.paramDftValHostFunc from Lambda to ?Lambda in src/stdx/chir/expression.cj, and publishes it as public mut prop paramDftValHostFunc: ?Lambda in the Chinese and English API references. Existing external Lambda subclasses can consume the former getter as Lambda; after upgrade it returns ?Lambda, so previously successful code must explicitly unwrap and recompile, breaking source compatibility for a protected member property.但相关修改已完成审视(CHG-20260813-FE70D1C0),视为合法变更。But the review process has been completed for the relevant modifications (CHG-20260813-FE70D1C0) and is considered as a legal change.
  • 结论:兼容
likedislike
cangjie-ci成员
13 天前 评论:

✅ 以下PR将同时合入:

✅ The following PRs will be merged simultaneously:

likedislike
Ccangjie-ci维护者
13 天前 合入了pull request,合并节点 SHA:51ae667b0ebbae5ad7e438d5de9e2c920b96a942