2013-09-03 9 views
29

Jak mogę znaleźć wszystkie flagi dla najnowszej wersji scalac? Po kilkugodzinnym przeglĘ ... daniu wyszukiwarki znalazłem tylko outdateddocs. (na przykład nie wspominają nawet o znaczniku "-feature").Jak znaleźć opis flag/opcji kompilatora SCALY?

Czy istnieje sposób na uzyskanie listy flag kompilatora z opisami z scalac lub cokolwiek innego?

Odpowiedz

18

Najbliżej udało mi się znaleźć to istotne źródło pliki dla kompilatora. Niestety opcje są rozłożone między kilka plików. W chwili pisania tego, że zepsuje tak:

To będzie oczywiście do aktualnej wersji rozwojowej kompilator, więc jeśli chcesz mieć opcje dla konkretnej wersji scalac, musisz użyć menu rozwijanego "oddział", aby wyświetlić poprawny tag wersji.

+0

Innym pomysłem jest pobranie źródła i 'ant docs.comp'. Następnie scala/build/scaladoc/compiler/index.html # scala.tools.nsc.Settings dziedziczy z ustawień standardowych i innych. Niestety, scaladoc to tylko lista. Innym pomysłem jest pobranie IDE Eclipse i przeglądanie tych źródeł w ten sposób. –

22

Większość z nas przeżywa dzięki scalac -help, scalac -X i scalac -Y.

Nie zapomnij również o scala -help.

Edit: sbt użytkownik może zrobić zwykły:

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

Przynajmniej strona podręcznika została zaktualizowana ostatnio:

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

+5

Jeśli większość użycia Scala odbywa się za pośrednictwem Maven lub SBT, prawdopodobnie nie masz zainstalowanego skalaca w systemie (nie mam), więc nie zawsze jest to najwygodniejsze rozwiązanie. Prawdziwa dokumentacja online kompilatora byłaby bardzo przydatna. –

+1

@ ChristopherCurrie Zgadzam się, że jest to denerwujące, że doc/tools nie pokazuje najnowszych podstawowych opcji 'skalac'. Myślę, że otworzę bilet, jeśli go nie ma; to powinno być zautomatyzowane. Powiedziałem nawet sobie, gdzie jest "funkcja" i "język", tak jak to było w przypadku OP. "D'oh." –