tutorial software renault examples bayer scala

scala - software - Encontrar todos los implicits



scala wikipedia (2)

¿Hay una manera en Scala para encontrar y mostrar todos los usos de los implícitos en mi código, o compilar sin los implícitos habilitados (así obtengo errores de compilación)? Espero identificar lugares en los que, sin querer, estoy asignando memoria extra en los bucles internos.


A partir de ayer (es solo una coincidencia) hay conversiones -Xlog-implícitas.

scalac -Xlog-implicit-conversions -d /tmp /scala/trunk/src/library/scala/util/Random.scala /scala/trunk/src/library/scala/util/Random.scala:115: applied implicit conversion from Int to ?{val to: ?} = implicit def intWrapper(x: Int): scala.runtime.RichInt for (n <- buf.length to 2 by -1) { ^


Puede usar la opción -Xprint:typer y ver cómo se -Xprint:typer los bucles internos de interés. Las llamadas implícitas aparecerán en el código fuente impreso. Es posible que deba canalizar la salida a un archivo para que pueda buscar las secciones interesantes.

También los nightlies IDE de Eclipse de Scala en http://scala-ide.org/download/nightly.html tienen una característica implícita de visualización. Debe habilitarlo en la sección Preferencias , Implicaciones , Preferencias .

Las flechas dobles en el margen izquierdo muestran que se usa un implícito:

Sobre la marcha, muestra los detalles:

El complemento de Scala IDEA también puede mostrar conversiones implícitas con subrayado, ver el mismo fragmento de código:

También debería mostrar cuál se usa con el acceso directo CTRL-SHIFT-Q, pero tuve menos éxito con él ...