Как я могу найти описание флагов/опций scala компилятора?
Как я могу найти все флаги для последней версии скаляса? После поиска в Интернете часами я нашел только устаревший docs, (например, они даже не упоминают флаг "-feature" ).
Есть ли способ получить список флагов компилятора с описаниями из scalac или что-нибудь еще?
Ответы
Ответ 1
Ближайшим я смог найти соответствующие исходные файлы для компилятора. К сожалению, варианты распространены среди нескольких файлов. На момент написания этой статьи он разбивается так:
Это, конечно, будет для текущей версии компилятора, поэтому, если вам нужны параметры для определенной версии scalac
, вам нужно будет использовать раскрывающееся меню "branch", чтобы просмотреть правильную версию тег.
Ответ 2
У большинства из нас есть scalac -help
, scalac -X
и scalac -Y
.
Не забудьте также scala -help
.
Изменить: sbt
пользователь может сделать обычное:
> set scalacOptions in Compile += "-X"
> compile
[snip]
[info] -Xcheck-null Warn upon selection of nullable reference.
[info] -Xcheckinit Wrap field accessors to throw an exception on uninitialized access.
[info] -Xdisable-assertions Generate no assertions or assumptions.
[info] -Xdivergence211 Turn on the 2.11 behavior of implicit divergence not terminating recursive implicit searches (SI-7291).
[info] -Xelide-below <n> Calls to @elidable methods are omitted if method priority is lower than argument
[info] -Xexperimental Enable experimental extensions.
[info] -Xfatal-warnings Fail the compilation if there are any warnings.
[snip]
Как минимум недавно была обновлена справочная страница:
https://issues.scala-lang.org/browse/SI-7824