https://kotlinlang.org logo
#russian
Title
# russian
l

lewik

06/28/2018, 3:26 PM
Пытаюсь использовать классы из модуля common Подключении common модуля в платформенный - все ок. А вот так: common - платформенный - платформенный. не ок. Smart cast is impossible, public API property in different module. Не смертельно, но не совсем понятно почему. Все равно common компилится в отдельный ярник, почему тогда в первом случае это никто не спрашивает?
i

ilya.gorbunov

06/28/2018, 3:37 PM
common + реализующий его платформенный модуль компилируются в один jar, от которого потом зависит другой платформенный модуль
l

lewik

06/28/2018, 3:38 PM
А когда есть только common и платформенный модуль? Ярника у меня явно два
i

ilya.gorbunov

06/28/2018, 5:04 PM
Из common получается неисполняемый jar, здесь нет проблемы раздельной компиляции. Проблема в следующем: при раздельной компиляции можно поменять реализацию свойства в одном модуле таким образом, что предположения о смарт-кастах в другом модуле становятся недействительными.
l

lewik

06/28/2018, 5:07 PM
Или "common + реализующий его платформенный модуль компилируются в один jar" или "Из common получается неисполняемый jar,"
Или я чего то не понимаю?
i

ilya.gorbunov

06/29/2018, 9:42 AM
Из common получается jar c метадатой, с ним нет проблемы с раздельной компиляцией, т.к. он не содержит исполняемого кода. Из common + платформенного кода получается исполняемый jar для этой платформы.
2 Views