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 ...