全部配置 / KN-XRETURN-VALUE-CHECKER

Xreturn-value-checker

Xreturn-value-checker · KN-XRETURN-VALUE-CHECKER · 编译器参数(Native)

重要:中 · 场景相关 默认:未设置(不传则空) 场合:场景可配 来源:上游原样

默认值:未设置。未指定时由消费侧决定;未核对前不写死取值。使用场合:场景可配。场景可配:有明确目标(性能、包体、安全、兼容)时再改。

它是做什么的

用途。设置未使用返回值检查模式;使用'check' to run checker only and use 'full' to …

影响。实验/高级编译开关;默认保持关闭,改前需可复现、可回滚。

适用场景。场景可配。有明确需求再改,无需求时保持发行版默认更稳妥。改前核对目标限制与联动项,改后做冒烟。

取值说明

枚举

  • 参数描述:Set improved unused return value checker mode. Use 'check' to run checker only and use 'full' to also enable automatic annotation insertion.
可写取值全名含义使用场景
checkercheck待补依据(源码无 KDoc,文档库暂无条目)
full待补依据(源码无 KDoc,文档库暂无条目)
disableddisable待补依据(源码无 KDoc,文档库暂无条目)

「待补依据」表示尚未从源码 KDoc / 上游或 CPF 文档整理到该取值的说明;不会编造行为。

定义依据:description/CommonCompilerArguments.kt 在仓库中打开types/ReturnValueCheckerMode.kt 在仓库中打开

怎么用

  1. 配置入口:build.gradle.kts → ohosArm64.binaries.all { freeCompilerArgs += "-Xreturn-value-checker" }
  2. 示例
// 文件:build.gradle.kts(应用的 Kotlin 模块,例如 composeApp)
kotlin {
  ohosArm64 {  // 按实际 native target 调整
    binaries.all {
      freeCompilerArgs += "-Xreturn-value-checker"
    }
  }
}
  1. 生效:Sync 后执行该目标的 compile/link。
  2. 验证:编译日志出现 `-Xreturn-value-checker`。
  3. 回滚:从 binaries.all 的 freeCompilerArgs 中删除该项后 Clean 并重编。
  4. 注意:实验项无稳定兼容保证;改前留可回滚配置。

默认行为 未设置

不写这个配置时,编译器会怎么处理?

此选项默认未设置(空列表 / 空映射 / null)。不设置时由其他逻辑决定行为或直接跳过。

未指定时由消费侧决定;未核对前不写死取值。

相关文档

以下摘抄原文中与本配置最相关的段落,便于速读;完整上下文请点原文。

上游 · Kotlin compiler options · Common

kotlinc -Xrepl

-Xreturn-value-checker

Configure how the compiler reports ignored results :

disable : disables the unused return value checker (default).

check : enables the checker and reports warnings for ignored results from marked functions.

full : enables the checker, treats all functions in your project as marked, and reports warnings for ignored results.

Warning management

-nowarn

Suppress all warnings during compilation.

-Werror

打开原文

溯源与对照

状态
实验(-X,兼容性不保证)
版本基线
2.2.21-1.0.0
定义位置类型
编译器参数定义(arguments DSL)
源码路径
compiler/arguments/src/org/jetbrains/kotlin/arguments/description/CommonCompilerArguments.kt 在仓库中打开