如何在Kotlin @Deprecated批注中指定泛型类型参数?

时间:2019-01-30 20:43:32

标签: kotlin

我想重命名Kotlin类型,保留不推荐使用的typealias以允许编译现有代码。

typealias TestContext<F> = ContextBuilder<F>

@Deprecated("TestContext is now ContextBuilder", 
    replaceWith = ReplaceWith("ContextBuilder<F>"))

导致TextContext<Unit>ContextBuilder<F>取代

@Deprecated("TestContext is now ContextBuilder", 
    replaceWith = ReplaceWith("ContextBuilder"))

导致TextContext<Unit>ContextBuilder取代

如何编写replaceWith表达式,以便IntelliJ将TextContext<Unit>替换为ContextBuilder<Unit>

2 个答案:

答案 0 :(得分:3)

目前看来我无法-建议https://youtrack.jetbrains.com/issue/KT-21195

答案 1 :(得分:0)

现在有可能! ReplaceWith的意图是从Kotlin插件v1.3.40开始保存通用类型参数(请参见change log)。