https://kotlinlang.org logo
#russian
Title
# russian
d

Dima Avdeev

01/15/2020, 9:57 PM
Привет. Нашёл багу в компиляторе Kotlin-JS. Попытался максимально просто её воспроизвести и описать: https://github.com/avdim/kotlin-js-npe-bug. Буду рад ответить на любые вопросы. И готов поучавствовать в починке.
@Svyatoslav Kuzmich [JB] А кто занимается компилятором JS ?
Может мне надо багу в YouTrack поставить?
a

altavir

01/16/2020, 7:44 AM
Разумеется в youtrack. Туда в первую очередь
Там должно быть. Obj?.myVal
В том виде, что есть, оно и должно ошибку кидать, разве что не такую
d

Dima Avdeev

01/16/2020, 7:51 AM
Получается поведение разное на JS и JVM.
На JVM при этом всё хорошо
А можно кстате как нибудь в версии 1.3.70-eap попробовать новый js IR компилятор ?
i

Ilya Goncharov [JB]

01/16/2020, 8:29 AM
Через
freeCompilerArgs
Copy code
compileKotlinJs.kotlinOptions.freeCompilerArgs += ["-Xir-produce-js", "-Xgenerate-dts"]
где
compileKotlinJs
таска компиляции типа
Kotlin2JsCompile
👍 1
s

Svyatoslav Kuzmich [JB]

01/16/2020, 12:21 PM
Спасибо за репорт! В новом IR компиляторе уже исправлено (не сломано).
🎉 1
d

Dima Avdeev

01/16/2020, 2:20 PM
Супер! Спасибо за помощь. Я проверил что на новом IR компиляторе баг починился.
@Ilya Goncharov [JB] @Svyatoslav Kuzmich [JB] Подключил IR в другой ветке и поправил свой пример: https://github.com/avdim/kotlin-js-npe-bug/tree/fixed_experimental_ir_compiler Только мне не нравится что пришлось сделать
Copy code
expect annotation class CommonJsExport()
и
Copy code
actual typealias CommonJsExport = JsExport
Т.к. JsExport не доступен в common sourceSet-е Но жить с этим можно.
i

Ilya Goncharov [JB]

01/16/2020, 2:54 PM
d

Dima Avdeev

01/16/2020, 2:54 PM
👍 1
Может вынести JsExport в common stdlib, так же как и JsName?
s

Svyatoslav Kuzmich [JB]

01/16/2020, 2:57 PM
Хорошая идея, думаю стоит вынести
d

Dima Avdeev

01/16/2020, 2:58 PM
Мне завести на это Issue в YouTrack ?
s

Svyatoslav Kuzmich [JB]

01/16/2020, 3:04 PM
Если хотите следить за статусом, можно завести
d

Dima Avdeev

01/16/2020, 3:26 PM
@Svyatoslav Kuzmich [JB] Завёл задачку: https://youtrack.jetbrains.com/issue/KT-35966
👍 1
@Ilya Goncharov [JB] @Svyatoslav Kuzmich [JB] Спасибо за помощь и оперативность! Приятно иметь дело с разработчиками из JetBrains!