如何查看Kotlin expect关键字在对应平台的实现(actual)?

2,149 阅读1分钟

最近在调试Kotlin源码经常会遇到expect关键字,
expect关键字的意思是将一个声明标记为平台相关,并期待在平台模块中实现。
actual表示它在具体平台的实现。

例如,在查看createCoroutineUnintercepted源码的时候,你会看到它前面有一个expect关键字修饰

image1.png

你是不是很好奇它的具体实现在哪里?

image1.png

有些小伙伴可能会说:
借助Android Studio–>Tools菜单–>Kotlin–>Show Kotlin Bytecode–>Decompile查看kotlin对应的java源码, 不就行了吗?

imge1.png

空空如也。。。

其实最好的方法还是Debug断点调试,一步一步step into,最后会看到下图所示

image1.png