如何取消特定的Kotlinc / Javac编译器警告?

Jar*_*ows 18 java gradle kotlin

如何抑制deprecationsKotlinCompileGradle类似JavaCompile

JavaCompile(有效):

tasks.withType(JavaCompile) {
    configure(options) {
        compilerArgs << '-Xlint:-deprecation'
    }
}
Run Code Online (Sandbox Code Playgroud)

KotlinCompile(无效):

tasks.withType(org.jetbrains.kotlin.gradle.tasks.KotlinCompile) {
    kotlinOptions {
        freeCompilerArgs = ["-Xjavac-arguments=-Xlint:-deprecation"]
    }
}
Run Code Online (Sandbox Code Playgroud)

参考文献:

类似问题:

She*_*ker 3

目前 Kotlin 不支持抑制编译器警告。他们确实有一些类别需要压制。但不同的是,唯一的方法是:

@Suppress("DEPRECATION")
Run Code Online (Sandbox Code Playgroud)

有时,仅输入应在运行时起作用的注释,Surpress 无法起作用。您可能需要添加类似以下内容

val foo = error.asDynamic().response
if (foo is AxiosResponse<String>) {
    @Suppress("UNCHECKED_CAST")
    val response = foo as AxiosResponse<String>
}
Run Code Online (Sandbox Code Playgroud)

这不是你的情况。但显然其他人也遇到过类似的问题。我建议简单浏览一下 reddit。这也不是上面的情况,但可以引导你。

https://www.reddit.com/r/Kotlin/comments/bsgk5w/what_do_i_have_to_do_to_suppress_my_unchecked/