Отображение предполагаемых типов выражений Scala - PullRequest
9 голосов
/ 10 февраля 2012

Как я могу увидеть типы, выведенные компилятором Scala для выражений и т. Д.? У меня есть некоторый код со сложным выводом типов и неявными преобразованиями, и трудно понять, что происходит, просто читая код.

Я пытался добавить

scalacOptions in Compile += "-Xprint-types"

в build.sbt, но это не имеет никакого эффекта.

Использование scalac напрямую не очень привлекательно, потому что у меня много зависимостей.

Я использую плагин Eclipse Scala и ENSIME для написания кода, а SBT для сборки.

Ответы [ 3 ]

5 голосов
/ 10 февраля 2012

Это должно быть

scalacOptions in Compile ++= Seq("-Xprint-types", "-Xprint:typer")

вместо.

К сожалению, результат не очень читабелен. (

2 голосов
/ 05 апреля 2013

Эта точная функция была добавлена ​​в Eclipse Scala IDE 3.0!

Выберите любую часть кода и нажмите Ctrl-Shift-W T (заменяя Ctrl на Cmd на Mac), чтобы увидеть предполагаемый тип.

0 голосов
/ 20 февраля 2012

Поднимите выражение к нелокальному def или val без явного типа - тогда оно появится в представлении Outline в Eclipse с назначенным логическим типом.

Однако это не идеальное решение, потому что оно требует некоторой работы, и его нельзя использовать, когда речь идет о рекурсии.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...