Size: a a a

Kotlin Community

2020 April 29

AN

Alexander Nozik in Kotlin Community
Разумеется так просто нельзя. Для этого компилятор нужен.
источник

AN

Alexander Nozik in Kotlin Community
А в common ты еще и не знаешь, который
источник

M

Malik in Kotlin Community
Пишу плагин для компилятора Котлин и ищу какой бы *Extension реализовать, чтобы получить дерево всех элементов исходных файлов с разрешенными типами. Пока нашел только SyntheticResolveExtension, но у наго в методы передаются неудобные для работы структуры. Знает кто-нибудь какой *Extension можно использовать для получения «удобных» деревье вида <FileNode> <ClassNode> <FunctionNode>… для каждого из исходных файлов?
источник

LS

Lev Shagalov in Kotlin Community
Alexander Nozik
А в common ты еще и не знаешь, который
Не, я когда запускаю debug, встаю на брейкпоинт. Там то компилятор есть.
источник

AN

Alexander Nozik in Kotlin Community
Lev Shagalov
Не, я когда запускаю debug, встаю на брейкпоинт. Там то компилятор есть.
Когда ты запускаешь дебаг, ты его на конкретной платформе запускаешь. Он на ней и работает
источник

AN

Alexander Nozik in Kotlin Community
ты можешь то же самое с expect/actual сделать
источник

LS

Lev Shagalov in Kotlin Community
Alexander Nozik
Когда ты запускаешь дебаг, ты его на конкретной платформе запускаешь. Он на ней и работает
Ну вот у меня чего то не работает
Может там что то особенное надо сделать?
источник

AN

Alexander Nozik in Kotlin Community
Lev Shagalov
Ну вот у меня чего то не работает
Может там что то особенное надо сделать?
Ты через скриптиг делаешь или как?
источник

LS

Lev Shagalov in Kotlin Community
Alexander Nozik
Ты через скриптиг делаешь или как?
Го в личку
источник

AN

Alexander Nozik in Kotlin Community
Или ты вообще про дебагер?
источник

AN

Alexander Nozik in Kotlin Community
На Js выражения в дебагере через раз работают
источник

AS

Andrei Shikov in Kotlin Community
Malik
Пишу плагин для компилятора Котлин и ищу какой бы *Extension реализовать, чтобы получить дерево всех элементов исходных файлов с разрешенными типами. Пока нашел только SyntheticResolveExtension, но у наго в методы передаются неудобные для работы структуры. Знает кто-нибудь какой *Extension можно использовать для получения «удобных» деревье вида <FileNode> <ClassNode> <FunctionNode>… для каждого из исходных файлов?
Есть analysisHandler, но он только на JVM
Ещё есть DeclarationChecker, туда передают дескрипторы, похоже на synthetic resolve
источник

LS

Lev Shagalov in Kotlin Community
Как дождаться launch корутины?

        scope.launchNetwork(networkInputChannel)
       scope.launch {
               networkInputChannel.send(InnerAction.WarmUp)
       }

Мне кажется, что launchNetwork выполнится но не запустит корутину (не успеет) и send будет в никого не слушающий канал
источник

AN

Alexander Nozik in Kotlin Community
Lev Shagalov
Как дождаться launch корутины?

        scope.launchNetwork(networkInputChannel)
       scope.launch {
               networkInputChannel.send(InnerAction.WarmUp)
       }

Мне кажется, что launchNetwork выполнится но не запустит корутину (не успеет) и send будет в никого не слушающий канал
join
источник

LS

Lev Shagalov in Kotlin Community
Я это запускаю вне scope
источник

AN

Alexander Nozik in Kotlin Community
Lev Shagalov
Я это запускаю вне scope
ну надо передать job наружу и вызвать у него join. Или просто дождаться закрытия скоупа
источник

LS

Lev Shagalov in Kotlin Community
val job = scope.launchNetwork(networkInputChannel)
scope.launch {
   job.join()
   networkInputChannel.send(InnerAction.WarmUp)
}
источник

LS

Lev Shagalov in Kotlin Community
Alexander Nozik
ну надо передать job наружу и вызвать у него join. Или просто дождаться закрытия скоупа
Не?
источник

LS

Lev Shagalov in Kotlin Community
Я и так снаружи.
Я это все в init класса запускаю
источник

AN

Alexander Nozik in Kotlin Community
Ну напирмер так, хотя глаз режет
источник