Как подключить источники для Kotlin в Android Studio?

Я начал использовать Kotlin в Android Studio, но я хотел бы проверить источники Kotlin так же, как я могу нажать Ctr-B или Cmd-B для «перехода к объявлению», чтобы увидеть источник для любого стандартного класса Java.

Например, если я возьму проект Android Studio Kotlin по умолчанию и добавлю одну строку, вызывающую стандартный Kotlin listOf() :

 override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity_main) listOf("hello", "goodbye"); } 

и нажмите Ctr-B в listOf() я получаю только следующее:

 public fun <T> listOf(vararg elements: T): kotlin.collections.List<T> { /* compiled code */ } 

Если я нажму « Choose Sources я не могу найти исходный файл в каталоге, который появляется. Как настроить Android Studio для просмотра источника для этих стандартных классов Kotlin?

В декомпилированном файле класса вам нужно нажать « Choose Sources :

файл байт-кода

Затем вы получите диалог, который выглядит так:

в банке времени нет источников

Вы не найдете источники в kotlin-stdlib . Вместо этого вам нужно прокрутить вниз до kotlin-stdlib-common :

источники находятся в kotlin-stdlib-common

Где вы можете выбрать источники. Команда jump to declaration теперь работает так, как ожидалось:

 /** Returns a new read-only list of given elements. The returned list is serializable (JVM). */ public fun <T> listOf(vararg elements: T): List<T> = if (elements.size > 0) elements.asList() else emptyList() /** Returns an empty read-only list. The returned list is serializable (JVM). */ @kotlin.internal.InlineOnly public inline fun <T> listOf(): List<T> = emptyList()