Как стать автором
Обновить
87
0
Андрей Бреслав @abreslav

Co-founder @ Alter (psyalter.ru), Ex-Kotlin

Отправить сообщение
fun A(c: C): A { 
  val a = A()
  a.c = c
  return a
}
fun A(b: B): A {
  val a = A()
  a.b = b
  return a
}
class A() {
  var b: B = ...
  var c: C = ...
}
fun A(...): A = A(...) 
class A(...) { ... }
Помещать фабричные методы в class object нужно редко. Обычно делают так:

fun A(...): A = A(...) class A(...) { ... }
Делать два разных констурктора не надо. На это есть фабричные методы, синтаксически они выглядят точно так же как и конструктор.
Да, юзкейс понятный. Мы, в принципе, могли бы сделать так: генерировать версию, где все параметры подставлены, вдобавок к тому, что генерируется сейчас.

Были экстремистские идеи сделать все варианты, но мне это кажется несколько через чур. :)
Мавен-билд уже пофикшен.

Вообще, баги лучше репортить в трекер.

Про конструктор я не совсем понял: какой в точности юзкейс имеется в виду?
В nightly builds энумы уже пофикшены. А M3 выйдет очень скоро: где-то на следующей неделе.
А для чего нужно транслировать в PHP?
1. Не совсем. В текущей версии дизацна запланированы GADT, под менем enum-классов. Они частично уже поддержаны, частично будут, скорее всего, поддержаны позже.

Однако я бы не демонизировал так выбрасывание исключений в последней ветке. Это обычный assertion: упадет и все, а вот NPE — это бомба замедленного действия: когда упадет, не понятно, в чем его причина.
2. Да, конечно
3. Скорее нет, чем да, а что именно Вас интересует?
Явно можно задавать уровень доступа к свойству, то есть к методам get и set, а поле всегда остается приватным
Доступ к полю всегда будет private.
А у нас, между прочим, есть офис в Москве и даже один из разработчиков Котлина там работает…
Мы не пробовали, но принципиальных проблем быть не должно: Kotlin генерирует такой же байт-код, как и Java
В этом нет никакой проблемы: конструкторы классов и функции живут в одном пространстве имен (в Kotlin нет оператора new), и имена разрешаются точно так же как обычные перегруженные функции.
Прямо сейчас можно считать, что нет. Появится совсем скоро.
Если у Вас сохранился stacktrace или какая-то еще информация (например, в логе), напишите нам в трекер, пожалуйста. Спасибо.
Да, планируем.
Чтобы люди использовали наш язык, вне зависимости от того, какая IDE им нравится…

Информация

В рейтинге
Не участвует
Откуда
Санкт-Петербург, Санкт-Петербург и область, Россия
Зарегистрирован
Активность