É possível acessar funções de extensão do código Java?
Eu defini a função de extensão em um arquivo Kotlin.
package com.test.extensions
import com.test.model.MyModel
/**
*
*/
public fun MyModel.bar(): Int {
return this.name.length()
}
Onde MyModel
é uma classe java (gerada). Agora, eu queria acessá-lo no meu código java normal:
MyModel model = new MyModel();
model.bar();
No entanto, isso não funciona. O IDE não reconhecerá o bar()
método e a compilação falhará.
O que o trabalho está usando com uma função estática do kotlin:
public fun bar(): Int {
return 2*2
}
usando import com.test.extensions.ExtensionsPackage
para que meu IDE pareça estar configurado corretamente.
Procurei no arquivo inteiro de interoperabilidade Java a partir dos documentos do kotlin e também pesquisei bastante no Google, mas não consegui encontrá-lo.
O que estou fazendo de errado? Isso é possível?
com.test.extensions.ExtensionsPackage
import package com.test.extensions.MyModel
?