问题
近日在查看Kotlin Flow相关源码的时候,发现很多操作符的源码点进去都会点到Class
文件,对应的方法实现都是“compiled code”,看不到具体源码。
点击右上角的几个选项一点用都没。。。。
出现这种现象的函数一般是Kotlin的*扩展函数,但是有些*扩展函数又可以直接点击方法名导航到源码的地方去,不知道是什么差异导致的这两种不同的跳转。如果有人知道,希望能留言告知。
解决方案
- 查找调用的地方(源码中的调用,或者注释中的调用[方法名],不要选你代码中的调用,不然又回到了问题的起点),然后再次点击方法名就可以到达函数的真正实现了。
- 有的没有引用(除了你代码中自己的调用外),就只能debug的时候跟进去了(或者点击其上下的其他方法,通过方法1找到其文件所在位置,然后在该文件里面找你要找的方法,这种方法有时候没用,因为同一类的不同扩展方法可能是分开的)