функция с названием как у класса конфликтуют между собой? Казалось бы, первый никак нельзя вызвать.
На норму, кажется, не тянет, но не берусь утверждать, есть ли технические ограничения. В любом случае звучит как повод сходить на ютрек.
но в байткоде какую функцию вызвать? HIDDEN как раз для бинарной совместимости сделан
Ну так да, я хочу чтобы она не сломалась, но из нового кода с этого момента использовать фабричную функцию
по-моему она не сломается, если убрать конструктор и сделать фабрик функцию
Нет конечно, в байткоде вызов конструктора
Всё так. То есть тот код, который скомпилирован с обращением к конструктору, продолжит работать -- фактически конструктор существует -- но то, что ты только планируешь компилировать, этот конструктор по идее видеть вообще не должно, раз он скрыт. Потому в теории там конфликтам неоткуда браться.
разве вызов не по сигнатуре в байткоде происходит?
Что ж, я не первый https://youtrack.jetbrains.com/issue/KT-22004
Обсуждают сегодня