Есть проблема: пытаюсь реализовать на Kotlin скаловский trait, и анализатор IDEA криво подсказки выдаёт: требует реализовать методы, у которых есть дефолтная реализация в скомпилированном .class файле, но не ругается на отсутствие реализации у методов, для которых её нет в .class файле.
То есть ведёт себя неконсистентно по отношению к kotlinc
Собственно, нужна подсказка, куда копать, чтобы неконсистентность эту устранить?
Не уверен, что это разумный путь. У trait-ов помимо джавового интерфейса есть поля и методы. И инициализаторы этих полей.
Наверное, @asm0dey сможет подсказать
С очки зрения скала - да. С точки зрения JVM, данный конкретный trait компилируется в интерфейс с дефолтными методами и синтетическими статическими, так что всё вполне нормально линкуется с Котлин реализацией, а ИДЕЯ ведёт себя криво, в отличие от kotlinc
Привет! Я занимался интеропом достаточно много, но к счастью не реализовывал трейтов на котлине :) Кажется, реализовывал их на скале и только прокидывал то что мне надо из котлина в скалу
Обсуждают сегодня