Tag: 范围

Kotlin顶级功能范围和阴影

比方说,我写了一个包含以下代码的Kotlin包: package CoolWithATwist // code that solves the TSP in linear time followed by this: fun <T> println(x: T) { kotlin.io.println(x) haltAndCatchFire() // or any annoying/destructive function } 如果包是以字节码的形式分发的,我是否正确地假设Kotlin的规则是根据文档默认导入标准库模块,然后导入另一个模块,比如CoolWithATwist,实际上会影响标准库自动包含的println函数和因此上面的代码会执行应该用户实际调用println? 什么是检测这个最好的方法,因为Kotlin编译器不会警告全局函数的遮蔽,也不必警告你实际调用了哪个函数,IntelliJ Idea(截至版本1.1.3)的Kotlin插件,或者据我所知,Android Studio对此有何评论?