Найти неявные преобразования

Я ищу способ найти неявное преобразование. Что-то, что дает мне пакеты, в которых происходит преобразование из одного типа в другой.

Например:

found   : java.lang.String("")
required: net.liftweb.http.js.JsExp

После недолгих поисков в Скаладоке я нашел пакет с неявным преобразованием. Нет ли какого-нибудь автоматизированного способа сделать этот поиск?

Редактировать: я не так хорош в формулировке. Моя проблема состоит в том, чтобы узнать, какой пакет я должен импортировать. IDE уже отображает, когда используется неявное преобразование. Но иногда я считаю, что где-то должно существовать неявное преобразование, но понятия не имею, в каком именно пакете.


person Fabian    schedule 07.03.2011    source источник
comment
Звучит как отличный инструмент для IDE!   -  person jsuereth    schedule 07.03.2011
comment
Или инструмент поиска в Интернете, где вы можете ввести два типа и который возвращает возможные пакеты.   -  person Fabian    schedule 07.03.2011
comment
В качестве дополнения: альтернативный подключаемый модуль scala Google Summer Code 2010 @ Scala IDE для eclipse показывает неявные преобразования, но только (неявное) имя метода, а не пакет.   -  person Peter Schmitz    schedule 07.03.2011
comment
devnet.jetbrains.net/thread/289036   -  person Gene T    schedule 10.04.2011
comment
stackoverflow.com/questions/8685479/find-all-implicits   -  person lcn    schedule 18.09.2014


Ответы (1)


Подключаемый модуль NetBeans для проектов Scala позволяет наводить указатель мыши на значение, удерживая клавишу Ctrl, чтобы увидеть любые неявные преобразования, которые были применены. Вы также можете использовать некоторые параметры отладки компилятора при попытке скомпилировать свой код; Я думаю, что здесь -Xlog-implicits может быть то, что вы ищете. Более полезные флаги компилятора можно найти здесь: http://www.paulbutcher.com/2010/04/scala-compiler-advanced-options/

person Kris Nuttycombe    schedule 07.03.2011