未解析的对KFunctionN

时间:2019-03-01 23:38:30

标签: intellij-idea kotlin

我正在尝试在Kotlin中创建函数引用,我的理解是我应该能够在编译时访问生成的KFunctionN接口,但是我收到{{1}的'Unresolved reference'编译错误}。

例如:

KFunction1<T, R>

我对科特琳的反思是正常的,而且工作良好。有什么想法我想念的吗?

我正在使用Kotlin 1.3.21和IntelliJ 2018.3。

2 个答案:

答案 0 :(得分:1)

这看起来像是一个IDE问题,我输入了import kotlin.reflect.KFunction1,然后编译器错误消失了。

但是,如果您添加一个返回KFunction1类型的表达式/语句并显式声明该类型,则Intellij会正确导入它。例如;

"\\s+".toRegex()::matches

可以提取为

val kFunction1: KFunction1<@ParameterName(name = "input") CharSequence, Boolean> = "\\s+".toRegex()::matches

答案 1 :(得分:0)

好的,很简单的解决方法-您需要手动添加KFunctionN导入,IntelliJ不会自动解决它。