Size: a a a

Kotlin Community

2020 May 12

QH

Quantum Harmonizer in Kotlin Community
Алексей Овсянников
Ну кастинг всё-таки не сказать, что рефлексия:) имхо, одно дело залазить в список полей класса и смену финальности/приватности и другое - делать as? :)
С точки зрения языковых фич — да, кастинг — просто и не страшно.
С точки же зрения сокрытия реализации — один фиг это проверка на то, есть ли в объекте недокументированные возможности.
источник

АО

Алексей Овсянников... in Kotlin Community
Вот поэтому за by прятать безопасней:)
источник

VP

Vladimir Petrakovich in Kotlin Community
Алексей Овсянников
Тогда скастить к таблице можно будет
Нельзя, если она internal 😉
источник

VP

Vladimir Petrakovich in Kotlin Community
А, или таблица - это класс из Exposed?
источник

IO

Iaroslav Orlov in Kotlin Community
Vladimir Petrakovich
А, или таблица - это класс из Exposed?
Table из Exposed - паблик, естественно, дочерний тип можно вполне сделать internal. или там боятся, что закастят к Table?
источник

QH

Quantum Harmonizer in Kotlin Community
Iaroslav Orlov
Table из Exposed - паблик, естественно, дочерний тип можно вполне сделать internal. или там боятся, что закастят к Table?
да
источник

VP

Vladimir Petrakovich in Kotlin Community
Iaroslav Orlov
Table из Exposed - паблик, естественно, дочерний тип можно вполне сделать internal. или там боятся, что закастят к Table?
Видимо да, но за такие касты надо больно бить по рукам
источник

VP

Vladimir Petrakovich in Kotlin Community
К сожалению, компилятору это не объяснить
источник

VB

Viacheslav Blinov in Kotlin Community
используйте анонимный класс, тогда кастить будет очень тяжело 🌚
источник

QH

Quantum Harmonizer in Kotlin Community
Viacheslav Blinov
используйте анонимный класс, тогда кастить будет очень тяжело 🌚
Table — не анонимный класс
источник

VB

Viacheslav Blinov in Kotlin Community
ну дак там и не Table отдается же, а его потомок, я полагаю?
источник

VB

Viacheslav Blinov in Kotlin Community
ну а так конечно если каста именно к Table боятся то это уже... кхм...
источник

QH

Quantum Harmonizer in Kotlin Community
Viacheslav Blinov
ну дак там и не Table отдается же, а его потомок, я полагаю?
но его же никто не мешает скастить в Table, где всё и торчит наружу
источник

QH

Quantum Harmonizer in Kotlin Community
None of the following candidates is applicable because of receiver type mismatch:
public inline fun <T : Closeable?, R> Statement.use(block: (Statement) -> Unit): Unit defined in kotlin.io
ЧЯДНТ?
Проблема где-то глубже, чем утверждает компилятор?
источник

AM

Andrew Mikhaylov in Kotlin Community
Quantum Harmonizer
None of the following candidates is applicable because of receiver type mismatch:
public inline fun <T : Closeable?, R> Statement.use(block: (Statement) -> Unit): Unit defined in kotlin.io
ЧЯДНТ?
Проблема где-то глубже, чем утверждает компилятор?
Глупый вопрос: импорты всё правильные?
источник

VP

Vladimir Petrakovich in Kotlin Community
Quantum Harmonizer
None of the following candidates is applicable because of receiver type mismatch:
public inline fun <T : Closeable?, R> Statement.use(block: (Statement) -> Unit): Unit defined in kotlin.io
ЧЯДНТ?
Проблема где-то глубже, чем утверждает компилятор?
Нет, проблема ровно в том, что use из kotlin.io не для AutoCloseable
источник

VP

Vladimir Petrakovich in Kotlin Community
Подключай kotlin-stdlib-jdk7
источник

QH

Quantum Harmonizer in Kotlin Community
Vladimir Petrakovich
Подключай kotlin-stdlib-jdk7
🤦‍♂️ подключил 8, завелось, спасибо) 7 не пробовал, вроде незачем
источник

VP

Vladimir Petrakovich in Kotlin Community
Quantum Harmonizer
🤦‍♂️ подключил 8, завелось, спасибо) 7 не пробовал, вроде незачем
Ну она транзитивно тянется, я про 7 написал на всякий случай, для точности
источник

QH

Quantum Harmonizer in Kotlin Community
а, нифига. Компилировалось долго, вот я и подумал, что завелось
источник