2

给定以下 Kotlin 注释:

public Retention(RetentionPolicy.RUNTIME) annotation class foo(val text : String)

以及下面的代码来检查一个类是否被上面的注释注释:

if (javaClass<Bar>().isAnnotationPresent(javaClass<foo>())) {
    // do something here.
}

如果注释类 ( foo) 和使用它的代码位于同一个模块(maven 工件)中,则代码可以毫无问题地编译和运行。

但是,如果我将它们分成不同的模块,则会发生以下编译错误:

Kotlin:类型不匹配:推断类型为 java.lang.Class 但预期为 java.lang.Class

知道可能是什么问题吗?

4

1 回答 1

1

问题似乎被标记为已修复。https://youtrack.jetbrains.com/issue/KT-3197这是一个错误。

于 2017-11-07T17:34:02.903 回答