Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

586
Vistas
Kotlin methods accepting inline classes as parameters - how access from Java?

Let's say I have:

inline class Email(value: String)

and

fun something(email: Email)

now if I want to call something() from Java I can't. Because any method that is accepting an inline class as a parameter is "mangled" (more about this here: https://kotlinlang.org/docs/reference/inline-classes.html#mangling) As far as I understood mangling renames the method name to include a "-" that's an invalid character in Java, so the method is practically invisible from Java perspective. That's intentional probably because of strong type safety. But I really need to make the method callable from both Java and Kotlin. Do you know some workaround?

over 4 years ago · Santiago Trujillo
2 Respuestas
Responde la pregunta

0

According to the KEEP that is used to discuss and plan inline classes, this is not currently possible (writing as of 1.3.11):

We'll compile function compute(UInt) to compile-<hash>(Int), where <hash> is a mangling suffix for the signature. Now it will not possible to call this function from Java because - is an illegal symbol there, but from Kotlin point of view it's a usual function with the name compute. [Emphasis mine]

Keep in mind that inline classes are experimental and subject to change, so perhaps in a future release this will be possible. I did try annotating this with @JvmName and that is also not supported.

over 4 years ago · Santiago Trujillo Denunciar

0

Please, manually disable Kotlin names mangling with @JvmName

@JvmName("something")    
fun something(email: Email)

See docs for more details

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda