Size: a a a

2020 October 15

ИИ

Иван Иванов... in KotlinLangRu
Bogdan Panchenko
У него вроде одно обозначения
если одно, то я понимаю его, как доступ к аннотациям у класса и полей
источник

BP

Bogdan Panchenko in KotlinLangRu
Иван Иванов
если одно, то я понимаю его, как доступ к аннотациям у класса и полей
источник

QH

Quantum Harmonizer in KotlinLangRu
Иван Иванов
если одно, то я понимаю его, как доступ к аннотациям у класса и полей
в компайл-тайме. Плагинами компилятора и сборочной системы
источник

ИИ

Иван Иванов... in KotlinLangRu
я конечно не супер опытный программист в котлин, но что это, если не подключение рефлексий?
источник

QH

Quantum Harmonizer in KotlinLangRu
Иван Иванов
я конечно не супер опытный программист в котлин, но что это, если не подключение рефлексий?
а к чему это?
источник

ИИ

Иван Иванов... in KotlinLangRu
Quantum Harmonizer
а к чему это?
kotlinx.serialization и "не использует рефлексий"
источник

BP

Bogdan Panchenko in KotlinLangRu
Иван Иванов
я конечно не супер опытный программист в котлин, но что это, если не подключение рефлексий?
У котлина две рефлексии, одна в stdlib. Вторая требует либу, ее называют full reflection. И она, вроде, есть только у jvm
источник

ИИ

Иван Иванов... in KotlinLangRu
да, но при этом смотрю на подгруженные градлом либы и там:
источник

QH

Quantum Harmonizer in KotlinLangRu
Иван Иванов
kotlinx.serialization и "не использует рефлексий"
там есть какие-то рефлективные фичи, а есть нормальные, ЕМНИП
источник

BP

Bogdan Panchenko in KotlinLangRu
Иван Иванов
kotlinx.serialization и "не использует рефлексий"
Там не все так просто. Там большая либа
источник

BP

Bogdan Panchenko in KotlinLangRu
Иван Иванов
да, но при этом смотрю на подгруженные градлом либы и там:
Вроде не тянула она
источник

BP

Bogdan Panchenko in KotlinLangRu
Иван Иванов
да, но при этом смотрю на подгруженные градлом либы и там:
что-то другое ее тянет, и мне кажется ты ее сам подключил (рефлексию)
источник

BP

Bogdan Panchenko in KotlinLangRu
Иван Иванов
kotlinx.serialization и "не использует рефлексий"
Там используется KClass и KType. Но в базовой поставки они не требуют kotlin-reflect.
источник

ИИ

Иван Иванов... in KotlinLangRu
Bogdan Panchenko
что-то другое ее тянет, и мне кажется ты ее сам подключил (рефлексию)
видимо что-то не то, да.
удалил из списка. скомпилировалось без проблем
источник

BP

Bogdan Panchenko in KotlinLangRu
Иван Иванов
видимо что-то не то, да.
удалил из списка. скомпилировалось без проблем
Ну если ты явно прописываешь зависимость то она и будет, либо другая библиотека может ее тянуть, у меня вон дерево зависимостей было, но это если я явно не укажу в dependency {}
источник

ИИ

Иван Иванов... in KotlinLangRu
Bogdan Panchenko
Ну если ты явно прописываешь зависимость то она и будет, либо другая библиотека может ее тянуть, у меня вон дерево зависимостей было, но это если я явно не укажу в dependency {}
я просто скачал ктх.срлз и открыл в Идее, дальше происходила магия =)
источник

BP

Bogdan Panchenko in KotlinLangRu
Иван Иванов
я конечно не супер опытный программист в котлин, но что это, если не подключение рефлексий?
Это полиморфная серелизация, это серелизация  sealed class или с наследованием классов/интерфейсов
источник

OY

Oleg Yukhnevich in KotlinLangRu
Иван Иванов
я конечно не супер опытный программист в котлин, но что это, если не подключение рефлексий?
Там используется рефлект, который в стдлиб
И то, вроде и его не будет, вскоре
Будет интрисик
Думаю это там что-то связанное с KType
источник

BP

Bogdan Panchenko in KotlinLangRu
Oleg Yukhnevich
Там используется рефлект, который в стдлиб
И то, вроде и его не будет, вскоре
Будет интрисик
Думаю это там что-то связанное с KType
нет там полиморфная, там без KClass не получиться, смотри PolymorphicSerializer. По факту там джавовая рефлексия рефлексия (может с дополнительной обработкой котлина)
источник

BP

Bogdan Panchenko in KotlinLangRu
KType - генерится когда мы хотим найти серелизатор:
public inline fun <reified T> serializer(): KSerializer<T> {
   return serializer(typeOf<T>()).cast()
}
источник