android - 如何在 Android Studio 3.1.3 中查看 Kotlin 中有趣的源代码?

标签 android android-studio kotlin

希望看到fun let的源码,但是我ctrl+点击data?.let后得到如下内容>.

如何在 Android Studio 3.1.3 中查看 Kotlin 的一个 fun 的源代码?

@kotlin.internal.InlineOnly public inline fun <T, R> T.let(block: (T) -> R): R { /* compiled code */ }

添加内容

Added Content

Android studio start

还有更多

点击选择来源时的图像

kotlin jar image

已解决:

现在系统今天更新 Kotlin 插件就可以了。

我认为是系统更新插件失败导致的问题。

如何手动更新插件?您知道更新插件 UI 并不总是由系统显示!

enter image description here

最佳答案

我可以在 kotlin-stdlib-common-1.2.51.jar 中看到 let 的源代码,其中路径是 kotlin -> Standard.kt (或文件名显示为 StandardKt.kotlin_metadata)。我正在执行相同的命令。

下面是那个fun

的代码
/**
 * Calls the specified function [block] with `this` value as its argument and returns its result.
 */
@kotlin.internal.InlineOnly
public inline fun <T, R> T.let(block: (T) -> R): R {
    contract {
        callsInPlace(block, InvocationKind.EXACTLY_ONCE)
    }
    return block(this)
}

我使用的版本是

Android Studio 3.1.3
Build #AI-173.4819257, built on June 4, 2018
JRE: 1.8.0_152-release-1024-b01 x86_64
JVM: OpenJDK 64-Bit Server VM by JetBrains s.r.o
Mac OS X 10.12.6

And kotlin version is Version: 1.2.51-release-Studio3.1-1

关于android - 如何在 Android Studio 3.1.3 中查看 Kotlin 中有趣的源代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51530776/

相关文章:

javascript - Kotlin eval() 危险吗?

Android:停止、解除绑定(bind)和完全删除 NotificationListenerService 的正确方法

java - 如何将此更改日志库添加到 Eclipse 中当前的 Android 项目中?

android - 构建gradle模块android studio中的错误

android - Retrofit ssl=0x717f870208 : I/O error during system call, 连接被对端重置

ios - 无法将 iOS 中常见的 Kotlin 扩展函数用作 Swift 扩展

android - 如何将 Buttons 与父 View 相关联并通过 TalkBack 通知用户?

android - 关于安卓权限和签名保护级别

安卓模拟器错误?

Kotlin,如何将回调实现分配给变量