Size: a a a

Kotlin Community

2020 September 12

ПФ

Паша Финкельштейн... in Kotlin Community
Alexander Nozik
нет, скорее поверх jvm
Это бы было мало. Например определить data ли класс только поверх jvm плохо понятно как
источник

AN

Alexander Nozik in Kotlin Community
Паша Финкельштейн
Это бы было мало. Например определить data ли класс только поверх jvm плохо понятно как
Ну да. Но вот то, что реально нужно, это не рефлексия как таковая, а банальная проверка наследования.
источник

IP

Iaroslav Postovalov in Kotlin Community
Alexander Nozik
Ну да. Но вот то, что реально нужно, это не рефлексия как таковая, а банальная проверка наследования.
+
источник

ПФ

Паша Финкельштейн... in Kotlin Community
Alexander Nozik
Ну да. Но вот то, что реально нужно, это не рефлексия как таковая, а банальная проверка наследования.
А это лайт и поверх жвм, да
источник

ПФ

Паша Финкельштейн... in Kotlin Community
Но мне вот как раз обычно нужно более сложное - всякие силд классы и всё такое
источник

AN

Alexander Nozik in Kotlin Community
Паша Финкельштейн
А это лайт и поверх жвм, да
Ну вот не очень понятно, почему это только поверх JVM, если instanceOf в стдлибе.
источник

ПФ

Паша Финкельштейн... in Kotlin Community
Alexander Nozik
Ну вот не очень понятно, почему это только поверх JVM, если instanceOf в стдлибе.
Так механизмы работы разные же
источник

AN

Alexander Nozik in Kotlin Community
Паша Финкельштейн
Так механизмы работы разные же
Это как это? И там и там надо проверить наследника
источник

ПФ

Паша Финкельштейн... in Kotlin Community
В js есть instanceof, но способа собрать иерархию нет
источник

ПФ

Паша Финкельштейн... in Kotlin Community
То есть гипотетически да, можно на каждый класс в класспасе спросить instanceof, но это мягко говоря медленно
источник

AN

Alexander Nozik in Kotlin Community
Паша Финкельштейн
То есть гипотетически да, можно на каждый класс в класспасе спросить instanceof, но это мягко говоря медленно
Так для того, чтобы инстансоф работал в JS, оно уже нужно. Там же транзитивное наследование работает.
источник

ПФ

Паша Финкельштейн... in Kotlin Community
Да, но там instanceof же на прототипе
источник

ПФ

Паша Финкельштейн... in Kotlin Community
Это не то же самое, что собрать иерархию предков
источник

AN

Alexander Nozik in Kotlin Community
Паша Финкельштейн
Да, но там instanceof же на прототипе
Ну так оно все равно проверяет цепочку. Не вижу, в чем разница.
источник

ПФ

Паша Финкельштейн... in Kotlin Community
Alexander Nozik
Ну так оно все равно проверяет цепочку. Не вижу, в чем разница.
Мне кажется что как раз цепочку оно не проверяет. Ты прямо уверен что проверяет?
источник

ПФ

Паша Финкельштейн... in Kotlin Community
Да, ты прав, ходит по цепочке прототипов
источник

AN

Alexander Nozik in Kotlin Community
Паша Финкельштейн
Мне кажется что как раз цепочку оно не проверяет. Ты прямо уверен что проверяет?
источник

AN

Alexander Nozik in Kotlin Community
Конкретно в моем кейсе не так важно, чтобы оно было быстро, хотя на самом деле сделать это быстро не так сложно. Но раз оно уже есть, хочу уметь проверять подтипы. У меня это делается один раз.
источник

ПФ

Паша Финкельштейн... in Kotlin Community
Не совсем понял
источник

AN

Alexander Nozik in Kotlin Community
Паша Финкельштейн
Не совсем понял
В коменте на https://youtrack.jetbrains.com/issue/KT-32956 написал. У меня эта проверка подтипа делается грубо говоря один раз, мне не важно, насколько она тормозная. Но инстанса нет.
источник