【发布时间】:2013-09-03 20:58:16
【问题描述】:
如何找到最新 scalac 版本的所有标志?在谷歌搜索了几个小时后,我只找到了outdateddocs。 (例如,他们甚至没有提到“-feature”标志)。
有没有办法从 scalac 或其他任何东西中获取编译器标志列表?
【问题讨论】:
标签: scala scalac scala-compiler
如何找到最新 scalac 版本的所有标志?在谷歌搜索了几个小时后,我只找到了outdateddocs。 (例如,他们甚至没有提到“-feature”标志)。
有没有办法从 scalac 或其他任何东西中获取编译器标志列表?
【问题讨论】:
标签: scala scalac scala-compiler
编辑:Scala Compiler Options 的文档已发布。
我们大多数人都使用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]
至少手册页最近更新了:
【讨论】:
scalac 的最新基本选项很烦人。如果没有,我想我会开一张票;那应该是自动化的。我什至只是对自己说,feature 和 language 和 OP 一样在哪里。 “哦。”
[错误] 用法:-target: 文档:-target:TARGET 或 --target:TARGET 目标文件的目标平台。 ([8],9,10,11,12)
我能找到的最接近的是编译器的相关源文件。不幸的是,这些选项分布在几个文件中。在撰写本文时,它是这样分解的:
这些当然是针对当前开发版本的编译器,所以如果你想要scalac的特定版本的选项,你需要使用“分支”下拉菜单来查看正确的版本标记。
【讨论】:
ant docs.comp。然后 scala/build/scaladoc/compiler/index.html#scala.tools.nsc.Settings 从 std 和其他设置继承。不幸的是,scaladoc 只是一个列表。另一个想法是获取 Eclipse IDE 并以这种方式浏览这些源代码。