2013-09-03 15 views

risposta

18

Il più vicino che ho potuto trovare è la fonte pertinente file per il compilatore. Sfortunatamente le opzioni sono distribuite tra diversi file. Momento in cui scriviamo, si rompe in questo modo:

Questi saranno ovviamente per la versione di sviluppo attuale del compilatore, quindi se desideri opzioni per una versione specifica di scalac, dovrai utilizzare il menu a discesa "branch" per visualizzare il tag di versione corretto.

+0

Un'altra idea è prendere il codice sorgente e 'ant docs.comp'. Quindi scala/build/scaladoc/compiler/index.html # scala.tools.nsc.Settings eredita da std e altre impostazioni. Sfortunatamente, lo scaladoc è solo un elenco. Un'altra idea è quella di prendere l'IDE Eclipse e sfogliare quelle fonti in questo modo. –

22

La maggior parte di noi passa con scalac -help, scalac -X e scalac -Y.

Non dimenticarti di scala -help.

Edit: sbt utente può fare il solito:

> 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] 

Almeno la man page è stata aggiornata di recente:

https://issues.scala-lang.org/browse/SI-7824

+5

Se la maggior parte dell'uso di Scala avviene tramite Maven o SBT, è possibile che Scalac non sia installato sul sistema (non lo è), quindi non è sempre la soluzione più comoda. La vera documentazione online del compilatore sarebbe molto utile. –

+1

@ChristopherCurrie Concordo sul fatto che doc/tools non mostri le ultime opzioni di base per 'scalac'. Penso che aprirò un biglietto se non ce n'è uno; che dovrebbe essere automatizzato. Ho anche solo detto a me stesso, dov'è 'feature' e' language' come l'OP. "D'oh". –

Problemi correlati