Así que tengo este método que desea utilizar para el registro a la vez que la devolución del bien conectado:
inline fun <T> T.btwLog(prefix:String=)=apply { Timber.d($prefix->${toString()}) }
La clase de la madera es de un registro de la biblioteca y también (cuando configurado de esta manera) muestra la línea a la que se llama, que es también por qué el método es en línea (para mostrar la línea y correcta clase de donde fue llamado) Por ejemplo :
val b = someThingComplex().btwLog()
Básicamente, esto funciona, el único problema es que el número de línea que está mal. Esto, básicamente, tiene que ser porque Kotlin inserta el método y mientras lo hace, añade algunas líneas a la clase (4) ?.
Así que el ejemplo de antes, probablemente es similar a esto:
val b = someThingComplex()
.apply {
Timber.d($prefix->${toString()})
}
Una alternativa es que este método donde Kotlin no añade líneas adicionales:
inline fun Any.log(s:String=)= Timber.d(s+this)
¿Hay alguna manera de que yo pudiera obligar a Kotlin simplemente en línea exactamente como lo escribí y no añadir saltos de línea y esas cosas? ¿O hay una mejor manera que pude definir el método en general?
Gracias.