如何找到scala编译器标志/选项的描述?

时间:2013-09-03 20:58:17

标签: scala scalac scala-compiler

如何找到最新scalac版本的所有标志?谷歌搜索几个小时后,我发现只有outdated docs。 (例如,他们甚至没有提到“-feature”标志)。

有没有办法从scalac或其他任何东西获取编译器标志列表?

2 个答案:

答案 0 :(得分:25)

修改:已发布Scala Compiler Options的文档。

我们大多数人都使用scalac -helpscalac -Xscalac -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

答案 1 :(得分:24)

我能找到的最接近的是编译器的相关源文件。不幸的是,这些选项分散在几个文件中。在撰写本文时,它会像这样崩溃:

这些当然适用于编译器的当前开发版本,因此如果您需要特定版本scalac的选项,则需要使用“分支”下拉菜单查看正确的版本标签。