项目依赖关系jar中有一个kotlin文件(例如,名为KotlinClass
),带有内联函数
package io.pack
inline fun <T> every(){
///does stuff
}
如果我将它作为静态导入Java类:
import static io.pack.KotlinClass.every;
导入被识别。
如果我将它导入Kotlin类:
import io.pack.every
或(这不应该起作用,但试图完整)作为
import io.pack.KotlinClass.every
无法识别。
(注意:如果我使用内联函数创建自己的Kotlin文件,那么可以将其导入到Kotlin类中,没有问题。问题是从特定项目依赖项导入时。)
什么可能阻止将此函数导入kotlin类?
答案 0 :(得分:2)
它对我有用。我创建了一个名为TopLevelStandalone.kt
的文件Kotlin模块:
package io.pack
inline fun every(){
print("Inline")
}
fun normalFun() {
print("Normal")
}
此项目构建的jar包含类文件,以及包含:{/ p>的META-INF/top-level-standalone.kotlin_module
io.packTopLevelStandaloneKt
然后我创建了另一个Kotline模块,手动将jar添加到其依赖项中。我现在可以致电every
或normalFun
:
import io.pack.every
import io.pack.normalFun
fun main(args: Array<String>) {
every()
normalFun()
}