Size: a a a

Kotlin Community

2020 November 11

с#

саша сок #KotlinGang... in Kotlin Community
Curious Cephalopod
Собирать job'ы в list и использовать awaitAll
и тут тогда уж Deferred собирать
источник

CC

Curious Cephalopod in Kotlin Community
саша сок #KotlinGang
и тут тогда уж Deferred собирать
Ну да, их
источник

с#

саша сок #KotlinGang... in Kotlin Community
других способов нет?
источник

OY

Oleg Yukhnevich in Kotlin Community
саша сок #KotlinGang
других способов нет?
job.join() ?
источник

с#

саша сок #KotlinGang... in Kotlin Community
Oleg Yukhnevich
job.join() ?
спасибо
источник

J

Jacob in Kotlin Community
Привет, подскажите как имея например Class<T> в параметрах дженерик функции обычной сделать вызов инлайн функции с reified параметром (суть в том, что хочу замокать вызов, а замокать инлайн функцию нельзя)
источник

с#

саша сок #KotlinGang... in Kotlin Community
по-моему — нет
источник

IP

Iaroslav Postovalov in Kotlin Community
Jacob
Привет, подскажите как имея например Class<T> в параметрах дженерик функции обычной сделать вызов инлайн функции с reified параметром (суть в том, что хочу замокать вызов, а замокать инлайн функцию нельзя)
можно поменять сигнатуру reified-функции:
fun <reified T> f()
->
fun <T> f(klass: KClass<T>)
fun <reified T> f() = f(T::class)
источник

J

Jacob in Kotlin Community
Iaroslav Postovalov
можно поменять сигнатуру reified-функции:
fun <reified T> f()
->
fun <T> f(klass: KClass<T>)
fun <reified T> f() = f(T::class)
дополню, к инлайн функции которую мне нужно вызвать у меня нет доступа библиотечная функция андроид навигации
inline fun <reified VM : ViewModel> Fragment.navGraphViewModels


у меня она обернута в свою инлайн функцию и вот думаю можно ли как то обернуть её обычной generic функцией с параметром в виде класса
источник

IP

Iaroslav Postovalov in Kotlin Community
Jacob
дополню, к инлайн функции которую мне нужно вызвать у меня нет доступа библиотечная функция андроид навигации
inline fun <reified VM : ViewModel> Fragment.navGraphViewModels


у меня она обернута в свою инлайн функцию и вот думаю можно ли как то обернуть её обычной generic функцией с параметром в виде класса
нельзя
источник

IP

Iaroslav Postovalov in Kotlin Community
но тут другое дело
источник

IP

Iaroslav Postovalov in Kotlin Community
можно просто создать свою реализацию этой функции
источник

с#

саша сок #KotlinGang... in Kotlin Community
Iaroslav Postovalov
можно просто создать свою реализацию этой функции
жалко на самом деле, что никак не получить reified generic из класса + дженерика
источник

IP

Iaroslav Postovalov in Kotlin Community
типа:
@MainThread
public fun <VM : ViewModel> Fragment.navGraphViewModels(
   klass: KClass<VM>,
   @IdRes navGraphId: Int,
   factoryProducer: (() -> ViewModelProvider.Factory)? = null
): Lazy<VM> {
   val backStackEntry by lazy {
       findNavController().getBackStackEntry(navGraphId)
   }
   val storeProducer: () -> ViewModelStore = {
       backStackEntry.viewModelStore
   }
   return createViewModelLazy(
       klass, storeProducer,
       {
           factoryProducer?.invoke() ?: backStackEntry.defaultViewModelProviderFactory
       }
   )
}
источник

J

Jacob in Kotlin Community
Iaroslav Postovalov
типа:
@MainThread
public fun <VM : ViewModel> Fragment.navGraphViewModels(
   klass: KClass<VM>,
   @IdRes navGraphId: Int,
   factoryProducer: (() -> ViewModelProvider.Factory)? = null
): Lazy<VM> {
   val backStackEntry by lazy {
       findNavController().getBackStackEntry(navGraphId)
   }
   val storeProducer: () -> ViewModelStore = {
       backStackEntry.viewModelStore
   }
   return createViewModelLazy(
       klass, storeProducer,
       {
           factoryProducer?.invoke() ?: backStackEntry.defaultViewModelProviderFactory
       }
   )
}
мм, кстате да, мне почему то казалось что функции тут вызывающиеся тоже инлайн, но нет, можно только этот небольшой кусок скопировать, окей спасибо
источник
2020 November 12

AM

Andrew Mikhaylov in Kotlin Community
Совершенно проклято
источник

IP

Iaroslav Postovalov in Kotlin Community
Переслано от Vladimir Sapronov
источник

GO

GGorAA Official in Kotlin Community
Собирай через Gradle, не через IntelliJ
источник

IP

Iaroslav Postovalov in Kotlin Community
источник

RI

Ruslan Ibragimov in Kotlin Community
Andrew Mikhaylov
Совершенно проклято
Это же работает?
источник