Получение «конфликтующих перегрузок» для каждой функции в одном файле Kotlin каждый раз, когда я его изменяю - PullRequest
0 голосов
/ 19 сентября 2018

Для одного файла Kotlin в моем проекте, почти каждый раз, когда я изменяю его и перестраиваю, я получаю сообщения «Conflicting overload» для каждой функции.Нет двух конфликтующих функций;в каждом сообщении об ошибке дважды указана одна и та же функция.Если я делаю чистую сборку, она строится нормально.

e: ContentApi.kt: (220, 1): конфликтующие перегрузки: общедоступное удовольствие loadExclusion (assetIds: List): модуль, определенный в com.foo.bar в файле ContentApi.kt, общественное веселье loadExclusion (assetIds: List): блок, определенный в com.foo.bar в файле ContentApi.kt

Изменения в других файлах Kotlin не приводят к тому жепроблема.Я могу создать функцию в другом файле Kotlin, собрать без проблем, затем вырезать и вставить ее в этот файл, и бум.

Кто-нибудь еще видел что-то подобное?Мое лучшее предположение состоит в том, что это какая-то ошибка с кешем скомпилированного кода, когда вновь скомпилированный код не заменяет предыдущую версию, поэтому они конфликтуют друг с другом.

Android Studio / Gradle версия 3.2 RC 3 Kotlinверсия 1.2.61

1 Ответ

0 голосов
/ 05 февраля 2019

Обычно это происходит, когда у вас есть две функции с одинаковыми именами, но разными аннотациями.

Например:

@PrePersist
public fun loadExclusions(assetIds: List){
}

@PreUpdate
public fun loadExclusions(assetIds: List){
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...