Где некоторые методы реализованы в исходном коде Kotlin?

#kotlin #intellij-idea

Вопрос:

Если я хочу узнать, как какой-либо метод реализован в Java, я всегда могу перейти к его объявлению, нажав Ctrl B на него в своей IDE (IntelliJ IDEA), а затем перейти к реализации с Ctrl Alt B помощью .

Однако в некоторых случаях для Kotlin моя среда разработки только пишет No implementations found . Например, я не нашел реализации каких-либо методов в ArrayList и Котлина LinkedHashMap .

Где мне следует искать реализацию метода в этом случае?

Ответ №1:

После нажатия CTRL B вы должны быть перемещены* TypeAliasesKt.class в эту строку:

 @kotlin.SinceKotlin public typealias LinkedHashMap<K, V> = java.util.LinkedHashMap<K, V>
 

с помощью курсора с левой стороны переместите его в правую сторону и нажмите CTRL B еще раз, затем вы должны быть перемещены в исходный код. Это потому LinkedHashMap , что это просто typealias часть java LinkedHashMap .

*в этом месте должно быть окно с запросом о декомпиляции источников, вы должны нажать Yes .