好吧,我已经来过这里几次了,但不完全确定这是怎么发生的,为什么会发生,但是从阅读材料中可以看出,这是 Kotlin/JVM 不匹配。我已经尝试了这个页面上提到的一些事情,但不是没有完全成功。这是 IDE 在尝试通过 IDE 运行测试后在消息面板中显示的症状类型。但是,代码面板没有红线表示无法找到或导入模块或任何不正常的情况。
我的项目(在撰写本文时)是 IntelliJ (IntelliJ IDEA 2018.2.5(终极版) Build # IU-182.4892.20,建于2018年10月16日)中的一个4.10.2 kotlin 1.3级项目
首先,我使缓存失效并重新启动。然后做了一个级别清晰的检查。重建后的项目仍然没有乐趣。我进入项目设置,注意到编译器版本没有设置为 Java 8,我设置了编译器/Kotlin/目标 JVM 版本和编译器/Java/项目字节码为1.8/8(见下文) ,然后在 IDE 中运行了一些测试,我们回到了业务!我的案子已经解决了。
class Foo {
val bar: Int = 0
}
fun test(): Any {
return Foo()
}
val foo = test()
foo.bar // <-- Linter consider that foo is an Instance of Foo but not the compiler because it's an Any object so it show the error at compilation.
~/Library/Caches/JetBrains/<product><version> on macOS
~/.cache/JetBrains/<product><version> on Linux
%LOCALAPPDATA%\JetBrains\<product><version> on Windows