@kotlin_lang

Страница 711 из 982
Bogdan
17.06.2018
12:31:02
нашел, позвать value
c C походу не знакомы

Rikland
17.06.2018
12:32:05
c C походу не знакомы
смешно конечно. вопрос на alloc есть ли какие-то гарантии что память будет инициализирована 0ми ? или нет?

Google
Bogdan
17.06.2018
12:33:30
смешно конечно. вопрос на alloc есть ли какие-то гарантии что память будет инициализирована 0ми ? или нет?
нада на код посмотреть, но вероятность такая есть. Если внутри вызывается обычный малок, то нет

Rikland
17.06.2018
12:34:58
14 : UVC Camera (046d:0825) : IsXExtensionKeyboard : classes: 1 удивительно, когда в вебке есть клавиатура

Bogdan
17.06.2018
12:38:21
смешно конечно. вопрос на alloc есть ли какие-то гарантии что память будет инициализирована 0ми ? или нет?
https://github.com/JetBrains/kotlin-native/blob/master/INTEROP.md Memory allocation - ничего не говорит что нужно самом 0 забивать

Aleqzandr
17.06.2018
12:43:01
Кроме доков еще полезно бывает исходники смотреть :) https://github.com/JetBrains/kotlin-native/tree/master/Interop/Runtime/src/main/kotlin/kotlinx/cinterop

Rikland
17.06.2018
12:45:49
https://github.com/JetBrains/kotlin-native/blob/master/INTEROP.md Memory allocation - ничего не говорит что нужно самом 0 забивать
проблема в том, что это реализация. сегодня она одна, завтра вторая и все сломалось

Dibro
17.06.2018
12:46:00
Кроме доков еще полезно бывает исходники смотреть :) https://github.com/JetBrains/kotlin-native/tree/master/Interop/Runtime/src/main/kotlin/kotlinx/cinterop
интересно что здесь делают @JvmName https://github.com/JetBrains/kotlin-native/blob/master/Interop/Runtime/src/main/kotlin/kotlinx/cinterop/Generated.kt

Bogdan
17.06.2018
12:47:20
проблема в том, что это реализация. сегодня она одна, завтра вторая и все сломалось
не думаю что что-то радикольно поменяется, а если и поменяют, есть список что меняют. Просто нет смысла выделять память и не очищять, пользователь не должен делать такую рутину

Bogdan
17.06.2018
12:51:15
интересно что здесь делают @JvmName https://github.com/JetBrains/kotlin-native/blob/master/Interop/Runtime/src/main/kotlin/kotlinx/cinterop/Generated.kt
если посмотреть исходники https://github.com/JetBrains/kotlin-native/blob/master/runtime/src/main/kotlin/kotlin/jvm/JvmAnnotations.kt

и описание

Vladimir
17.06.2018
14:04:45
не думаю что что-то радикольно поменяется, а если и поменяют, есть список что меняют. Просто нет смысла выделять память и не очищять, пользователь не должен делать такую рутину
Нет смысла очищать память, если она тут же будет заполнена чем-то другим. Только для безопасности, но это не про код на C.

Bogdan
17.06.2018
14:05:32
Нет смысла очищать память, если она тут же будет заполнена чем-то другим. Только для безопасности, но это не про код на C.
ну в метод алокации передается значения, если нет, будет использовано поумолчанию

Dumitru
17.06.2018
17:21:16
кто то слышал про KVision (Web UI framework for Kotlin/JS), как он вам ?, хотя по моему он сыроват еще но весьма многообещающий (https://github.com/rjaros/kvision)

Google
Roman Q
17.06.2018
18:16:39
Никто не пробовал? https://github.com/spring-projects/spring-fu

Boris
17.06.2018
18:18:24
Никто не пробовал? https://github.com/spring-projects/spring-fu
Пару дней назад тут его обсуждали

Alexander
17.06.2018
19:17:30
И к чему пришли в итоге?

Boris
17.06.2018
19:22:55
И к чему пришли в итоге?
Прошу прощения, вот тут @kotlin_jvm обсуждали

Bogdan
17.06.2018
19:23:24
я тоже не обратил что разные группы)

Quantum Harmonizer
17.06.2018
19:26:01
Можно как-нибудь спрятать Kotlin-классы от Java-кода?

Bogdan
17.06.2018
19:26:34
Boris
17.06.2018
19:26:43
Quantum Harmonizer
17.06.2018
19:26:57
ты же знаешь ответ)
если б знал, уже б запушил)

А какая между ними разница?
ну, Kotlin смотрит не только на модификаторы, но и на @Metadata

спойлер: @JvmSynthetic нельзя поставить на класс

Антон
17.06.2018
19:28:37
стикеры нельзя? плохо.

Bogdan
17.06.2018
19:29:04
стикеры нельзя? плохо.
что бы не флудить, много места, во многих чатах такое

Quantum Harmonizer
17.06.2018
19:29:16
стикеры нельзя? плохо.
Вот есть какие-то люди, которые в обсуждениях не участвуют, но считают, что их стикеры будут невероятно уместны.

Boris
17.06.2018
19:30:00
Я в том смысле, что в одном жвм работают, нету там никакого котлина который мог бы что то смотреть

Антон
17.06.2018
19:30:10
да всего лишь выразить эмоцию

Quantum Harmonizer
17.06.2018
19:30:49
Bogdan
17.06.2018
19:31:41
ну не, у Kotlin есть internal, у Java есть package-private, есть synthetic
но ведиь интернал для джавы прайвет

Google
Quantum Harmonizer
17.06.2018
19:31:42
очевидно, меня интересует только компайл-тайм, в рантайме пусть рефлексируют как угодно — способов оторвать себе ноги предстаточно

Boris
17.06.2018
19:31:43
Ну, видимость которая есть в жвм ты ведь отлично знаешь

Quantum Harmonizer
17.06.2018
19:31:50
Bogdan
17.06.2018
19:31:58
Quantum Harmonizer
17.06.2018
19:32:06
Boris
17.06.2018
19:33:16
я бы взял package-private, если бы мог
Раздели на модули и сделай интерналом

Quantum Harmonizer
17.06.2018
19:33:34
Quantum Harmonizer
17.06.2018
19:33:51
вот серьёзно, почему @JvmSynthetic нельзя повесить на класс?

Bogdan
17.06.2018
19:34:48
в Java <9 нет модулей
сделай JvmName невменяемый)

Boris
17.06.2018
19:34:51
в Java <9 нет модулей
Я про другой модуль

Quantum Harmonizer
17.06.2018
19:35:01
Bogdan
17.06.2018
19:35:09
Я про другой модуль
в джаве видно же

Kirill
17.06.2018
19:35:30
вот серьёзно, почему @JvmSynthetic нельзя повесить на класс?
А разве по спецификации jvm может быть synthetic class?

Boris
17.06.2018
19:36:15
да
Пруф

Задумался сейчас, как вообще интернал выглядит после компиляции

Bogdan
17.06.2018
19:37:37
блет, нельзя
нельзя над классом ?

Google
Boris
17.06.2018
19:37:46
Паблик просто?

Bogdan
17.06.2018
19:37:50
не думал что интертоп с джавой навредит

Quantum Harmonizer
17.06.2018
19:40:38
Bogdan
17.06.2018
19:42:06
напомни прогу, опять, сегодня спрашивали про байткод)

Bogdan
17.06.2018
19:44:44
а во что превращается enum, даже интересно стало...

Quantum Harmonizer
17.06.2018
19:44:59
сделай JvmName невменяемый)
а, бэктики же. Спасибо.

Kirill
17.06.2018
19:46:07
а во что превращается enum, даже интересно стало...
В идее cmd/ctrl+shift+a(find action by name) и там "show kotlin bytecode"

Dibro
17.06.2018
19:46:26
а, бэктики же. Спасибо.
костыль, как не крути

почему вариант с вынесением в отдельный модуль не подходит?

Bogdan
17.06.2018
19:47:03
В идее cmd/ctrl+shift+a(find action by name) и там "show kotlin bytecode"
пасиб кеп, сейчас не могу посмотреть, но там мог бы быть ответ

интертоп

Quantum Harmonizer
17.06.2018
19:47:45
а во что превращается enum, даже интересно стало...
Сам enum? Обычный класс, extends Enum<E>; final, если нет тел анонимных классов; создание экземпляров в <clinit>; массив значений в синтетическом $VALUES.

values и valueOf встраиваются компилятором.

Меня, кстати, удивляет, что у энамов в Kotlin такой же API, один-в-один.

Bogdan
17.06.2018
19:48:37
Сам enum? Обычный класс, extends Enum<E>; final, если нет тел анонимных классов; создание экземпляров в <clinit>; массив значений в синтетическом $VALUES.
вот масив, поле значит "вот серьёзно, почему @JvmSynthetic нельзя повесить на класс?" то-есть не совсем это класс

Bogdan
17.06.2018
19:50:02
что?
ты привел пример с Enum

Quantum Harmonizer
17.06.2018
19:50:07
Google
Quantum Harmonizer
17.06.2018
19:51:28
Почему, это удивляет?
— не ожидал увидеть в котлине истинно статические методы — хотел бы видеть operator fun Companion.get(ordinal: Int) и val values: List<T>

Bogdan
17.06.2018
19:51:32
и?
Synthetic - может быть только полем, я так понял что это можно делать с полями. Если я не прав поправьте

Quantum Harmonizer
17.06.2018
19:52:03
Synthetic - может быть только полем, я так понял что это можно делать с полями. Если я не прав поправьте
аннотация в котлине доступна для полей и методов, а Java позволяет делать это ещё и с классами

Boris
17.06.2018
19:53:24
синтетический класс от обычного вроде ничем не отлчается, а вот синтетический метод помечается в байткоде, чтобы отметить, что тот сгенерирован исключительно для поддержания всякого рода совместимости во всяких наследованиях и переопределениях, насколько я себе это представляю

и соответственно "не виден" из джавы

Quantum Harmonizer
17.06.2018
20:18:25
так для класса это обозначает то же самое

Boris
17.06.2018
20:19:11
что "это"?

Quantum Harmonizer
17.06.2018
20:20:09
synthetic для класса тоже означает, что он не должен быть виден и занимается поддержкой языковых фич, которые рантайм не поддерживает непосредственно

вот этот $1 не виден

Страница 711 из 982