假设我在一个项目中有两个接口:
interface InterfaceA {
// ...
interface Listener {
// ...
}
}
interface InterfaceB {
// ...
interface Listener {
// ...
}
}
并且我使用Kotlin Poet的ClassName
声明它们和它们的侦听器进行注释处理,例如.
fun InterfaceA() = ClassName(
packageName = "com.example.a",
simpleNames = arrayOf("InterfaceA"),
)
fun InterfaceAListener() = ClassName(
packageName = "com.example.a.InterfaceA",
simpleNames = arrayOf("Listener"),
)
fun InterfaceB() = ClassName(
packageName = "com.example.b",
simpleNames = arrayOf("InterfaceB"),
)
fun InterfaceBListener() = ClassName(
packageName = "com.example.b.InterfaceB",
simpleNames = arrayOf("Listener"),
)
我必须生成的类使用前面提到的所有类型:InterfaceA
、InterfaceA.Listener
、InterfaceB
、InterfaceB.Listener
.这会导致生成以下导入,并由于歧义Listener
导入而产生编译错误.
import com.example.a.InterfaceA
import com.example.a.InterfaceA.Listener
import com.example.b.InterfaceB
import com.example.b.InterfaceB.Listener
有没有办法go 掉监听器导入,因为它们实际上并不是必需的?或者,有没有其他方法来解决这个问题?
谢谢你的帮助!