代码之家  ›  专栏  ›  技术社区  ›  Duncan McGregor Evgeniy Dorofeev

如何在kotlin@deprecated批注中指定泛型类型参数?

  •  5
  • Duncan McGregor Evgeniy Dorofeev  · 技术社区  · 7 年前

    我想重命名一个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"))
    

    导致 文本上下文<单位> 被替换为 ContextBuilder

    如何用表达式编写replaceWith,以便intellij替换 文本上下文<单位> 具有 ContextBuilder<Unit> ?

    1 回复  |  直到 7 年前
        1
  •  2
  •   Duncan McGregor Evgeniy Dorofeev    7 年前

    现在看来我能做到这一点——提议让它成为可能 https://youtrack.jetbrains.com/issue/KT-21195