科特林。弃用多项选择

Ser*_*kin 6 deprecated kotlin

在 Kotlin 中提供多项选择弃用的最佳选择是什么?

我正在尝试找到提供已弃用参数的替代品的最佳方法。

A拥有一个带有已弃用元素的枚举类X

enum class A {
  @Derecated
  X,
  Y,
  Z
}
Run Code Online (Sandbox Code Playgroud)

我希望 IDE 在我的代码中建议快速修复替换X。为了支持它,我可以提供一个replaceWith值。但是,不可能提供多项选择选项。

X可以替换为YZ

enum class A {
  @Derecated(
    message = "...",
    replaceWith = ReplaceWith("Y or Z"),
    DeprecationLevel.WARNING,
  )
  X,
  Y,
  Z
}
Run Code Online (Sandbox Code Playgroud)

使用ReplaceWith("Y or Z")IDE 可以建议快速修复,但它会破坏编译:

// works, but breaks compilation
A.X -> A.Y or Z 
Run Code Online (Sandbox Code Playgroud)