Size: a a a

Kotlin Community

2020 November 27

IP

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

AN

Alexander Nozik in Kotlin Community
Iaroslav Postovalov
jvm ничего не генерирует
странно. А как оно раньше работало... Пойду копаться. Странно, что и JS не генерит артефакты
источник

IP

Iaroslav Postovalov in Kotlin Community
Alexander Nozik
странно. А как оно раньше работало... Пойду копаться. Странно, что и JS не генерит артефакты
ну, я много публиковал жвмные артефакты. всегда сам создавал публикацию и совал туда, что надо
источник

AN

Alexander Nozik in Kotlin Community
Iaroslav Postovalov
ну, я много публиковал жвмные артефакты. всегда сам создавал публикацию и совал туда, что надо
А в JS?
источник

IP

Iaroslav Postovalov in Kotlin Community
без понятия
источник

K

Kopusha in Kotlin Community
Как бы вы элегантно задизайнили чекер тогглов? Чтоб поддерживал anyOf, allOf, noneOf... Из того, что пришло в голову:
1.
ToggleChecker().isAnyEnabled(Toggle.A)
ToggleChecker().isAllEnabled(Toggle.A)

2.
ToggleChecker().isEnabled(Check.ANY, Toggle.A)

3.
ToggleChecker().isEnabled(AnyOf(), Toggle.A)

4.
ToggleChecker().isEnabled(::anyOf, Toggle.A)

Может еще какие идеи?
источник

KK

Kirill Knize in Kotlin Community
Вопрос по интеропу.
Есть код на котлине  NotificationGroup.balloonGroup("Text")
В одной версии зависимости это метод компаньона в котлин классе с аннотацией @JvmStatic. В другой - статический метод джава класса. Из джавы вызовы можно прописать явно:
NotificationGroup.Companion.balloonGroup("Text") для первого варианта
и NotificationGroup.balloonGroup("Text") для второго.
Как эти вызовы явно прописать в котлине? Проблема сейчас в том, что NotificationGroup.balloonGroup("Text") он компилирует в вызов компаньона, во втором случае его не находит в рантайме и бросает эксепшен.
источник

KK

Kirill Knize in Kotlin Community
Просто сейчас пришлось специально делать джава обёртку чтобы это разрулить. Есть ощущение что должен быть способ без неё это решить.
источник

АЕ

Алексей Ершов... in Kotlin Community
Kopusha
Как бы вы элегантно задизайнили чекер тогглов? Чтоб поддерживал anyOf, allOf, noneOf... Из того, что пришло в голову:
1.
ToggleChecker().isAnyEnabled(Toggle.A)
ToggleChecker().isAllEnabled(Toggle.A)

2.
ToggleChecker().isEnabled(Check.ANY, Toggle.A)

3.
ToggleChecker().isEnabled(AnyOf(), Toggle.A)

4.
ToggleChecker().isEnabled(::anyOf, Toggle.A)

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

K

Kopusha in Kotlin Community
Тоже вариант. На практике, там очень долгий путь до самого множества элементов, поэтому захотелось упаковать все вместе с проверками. Может вообще сделать компактно классом с invoke: IsEnabled(). Но вы правы, можно просто остановиться шагом ранее и отдавать исходную коллекцию.
источник

AL

Alexander Levin in Kotlin Community
Kirill Knize
Вопрос по интеропу.
Есть код на котлине  NotificationGroup.balloonGroup("Text")
В одной версии зависимости это метод компаньона в котлин классе с аннотацией @JvmStatic. В другой - статический метод джава класса. Из джавы вызовы можно прописать явно:
NotificationGroup.Companion.balloonGroup("Text") для первого варианта
и NotificationGroup.balloonGroup("Text") для второго.
Как эти вызовы явно прописать в котлине? Проблема сейчас в том, что NotificationGroup.balloonGroup("Text") он компилирует в вызов компаньона, во втором случае его не находит в рантайме и бросает эксепшен.
В теории оба случая должны спокойны работать.

Если у вас есть что-то в компаньоне с аннотацией JvmStatic, то и в Котлине и в Джаве вы можете вызывать как SomeClass.someStatic(someParam)
источник

AL

Alexander Levin in Kotlin Community
источник

KK

Kirill Knize in Kotlin Community
Alexander Levin
В теории оба случая должны спокойны работать.

Если у вас есть что-то в компаньоне с аннотацией JvmStatic, то и в Котлине и в Джаве вы можете вызывать как SomeClass.someStatic(someParam)
На практике летит NoSuchMethodError с сообщением, что нет компаньона у класса в случае когда в джарнике оказывается джава класс, а не котлин класс.
источник

VP

Vladimir Petrakovich in Kotlin Community
Kirill Knize
Вопрос по интеропу.
Есть код на котлине  NotificationGroup.balloonGroup("Text")
В одной версии зависимости это метод компаньона в котлин классе с аннотацией @JvmStatic. В другой - статический метод джава класса. Из джавы вызовы можно прописать явно:
NotificationGroup.Companion.balloonGroup("Text") для первого варианта
и NotificationGroup.balloonGroup("Text") для второго.
Как эти вызовы явно прописать в котлине? Проблема сейчас в том, что NotificationGroup.balloonGroup("Text") он компилирует в вызов компаньона, во втором случае его не находит в рантайме и бросает эксепшен.
Скорее всего, никак. Как и с @JvmOverloads.
источник

AP

Anton Potekhin in Kotlin Community
Вот такой вопрос. Нужно внутри suspend функции распарсить json.
Пишу:
Moshi.Builder().build().adapter(LoginResponseData::class.java).fromJson(response)

И получаю варнинг Inappropriate blocking method call.
И не пойму как правильно сделать чтобы не получать этот варнинг
источник

AN

Alexander Nozik in Kotlin Community
Anton Potekhin
Вот такой вопрос. Нужно внутри suspend функции распарсить json.
Пишу:
Moshi.Builder().build().adapter(LoginResponseData::class.java).fromJson(response)

И получаю варнинг Inappropriate blocking method call.
И не пойму как правильно сделать чтобы не получать этот варнинг
Никак. Если это блокирующий вызов, то он будет кидать ворнинг. Единственное, что можно сделать, это заввернуть блокирующий вызов в withContext(Dispatchers.IO), чтобы он не блокировал Default
источник

AP

Anton Potekhin in Kotlin Community
Alexander Nozik
Никак. Если это блокирующий вызов, то он будет кидать ворнинг. Единственное, что можно сделать, это заввернуть блокирующий вызов в withContext(Dispatchers.IO), чтобы он не блокировал Default
уже завернуто. Спасибо
источник

AN

Alexander Nozik in Kotlin Community
Anton Potekhin
уже завернуто. Спасибо
Ну тогда игнорить
источник

IP

Iaroslav Postovalov in Kotlin Community
Anton Potekhin
Вот такой вопрос. Нужно внутри suspend функции распарсить json.
Пишу:
Moshi.Builder().build().adapter(LoginResponseData::class.java).fromJson(response)

И получаю варнинг Inappropriate blocking method call.
И не пойму как правильно сделать чтобы не получать этот варнинг
это кривая инспекция, надо смотреть на реализацию парсера
источник

AN

Alexander Nozik in Kotlin Community
Iaroslav Postovalov
это кривая инспекция, надо смотреть на реализацию парсера
Она не кривая, а просто не всегда уместная. Она показывает, что надо обратить внимание.
источник