Kotlin value class + groovy

Kotlin value class + groovy
VD
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 72
0

Cześć,

mam problem z użyciem Kotlinowej value class w testach napisanych w Groovym. Może macie jakieś pomysły jak sobie z tym poradzić?

Kotlin:

Kopiuj
data class Container(val list: List<Name>) {
    val first: Name = list.first()
}

@JvmInline
value class Name(val raw: String)

Groovy:

Kopiuj
new Container(['A', 'B'])
> class java.lang.String cannot be cast to class org.example.Name

Konstruktora nie mogę użyć:

Kopiuj
new Container([new Name('A'), new Name('B')])
> Could not find matching constructor for: org.example.Name(String)

inb4 napisz testy w Kotlinie

BE
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 8
jarekr000000
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: U krasnoludów - pod górą
  • Postów: 4712
1

Jedyna sposób, który na tą chwile widzę to mozolne wywoływanie syntetycznych metod
(dostaniesz je robiąc javap na pliku class, albo z idea odpalając decompile Kotlin to java (na plikach .class)
new Container([Name.box-impl('A'), Name.box-impl('B')])

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.