2010-08-17 14 views
5

Sto eseguendo il porting di una base di codice scala 2.7.7 su 2.8 e mi chiedevo se esistesse un'opzione del compilatore per visualizzare le notifiche di migrazione? Sono stato morso da un cambiamento nel comportamento per le sequenze mutabili che ha avuto il seguente avviso di migrazione [1], tuttavia non visualizza nulla quando costruire il progetto (che ho deprecazione e le avvertenze incontrollati attivato già)Abilitazione degli avvisi di migrazione

1: @migration(2, 8, "As of 2.8, this operation creates a new map. To add an element as a\n"+ "side effect to an existing map and return that map itself, use +=." )

risposta

8

l'opzione è: -Xmigration

Entrando scalac -help mostrerà le opzioni standard del compilatore Scala.

Immettendo scalac -X verranno visualizzate le opzioni avanzate.

Immettendo scalac -Y verranno visualizzate le opzioni private.

+0

Grazie! Molto utile! – BenjaminJackman

3

È un'opzione estesa, -Xmigration.

~: scala -X 
Usage: scala <options> <source files> 
Possible advanced options include: 
    -Xassem-extdirs <dirs>   List of directories containing assemblies, defaults to `lib' 
    -Xassem-name <file>   Name of the output assembly (only relevant with -target:msil) 
    -Xassem-path <path>   List of assemblies referenced by the program (only relevant with -target:msil) 
    -Xcheck-null     Emit warning on selection of nullable reference 
    -Xcheckinit     Add runtime checks on field accessors. Uninitialized accesses result in an exception being thrown. 
    -Xdisable-assertions   Generate no assertions and assumptions 
    -Xelide-below     Generate calls to @elidable-marked methods only if method priority is greater than argument. 
    -Xexperimental     Enable experimental extensions 
    -Xfatal-warnings    Fail the compilation if there are any warnings. 
    -Xfuture      Turn on future language features 
    -Xgenerate-phase-graph <file> Generate the phase graphs (outputs .dot files) to fileX.dot 
    -Xlog-implicits    Show more info on why some implicits are not applicable 
    -Xmigration     Warn about constructs whose behavior may have changed between 2.7 and 2.8 
    -Xno-forwarders    Do not generate static forwarders in mirror classes 
    -Xno-uescape     Disables handling of \u unicode escapes 
    -Xnojline      Do not use JLine for editing 
    -Xplugin-disable:<plugin>  Disable a plugin 
    -Xplugin-list     Print a synopsis of loaded plugins 
    -Xplugin-require:<plugin>  Abort unless a plugin is available 
    -Xplugin:<file>    Load a plugin from a file 
    -Xpluginsdir <path>   Path to search compiler plugins 
    -Xprint-icode     Log internal icode to *.icode files 
    -Xprint-pos     Print tree positions (as offsets) 
    -Xprint-types     Print tree types (debugging option) 
    -Xprint:<phase>    Print out program after <phase> or "all" 
    -Xprompt      Display a prompt after each error (debugging option) 
    -Xresident      Compiler stays resident, files to compile are read from standard input 
    -Xscript <object>    Compile as a script, wrapping the code into object.main() 
    -Xshow-class <class>   Show class info 
    -Xshow-object <object>   Show object info 
    -Xshow-phases     Print a synopsis of compiler phases 
    -Xsource-reader <classname> Specify a custom method for reading source files 
    -Xsourcedir <directory>  When -target:msil, the source folder structure is mirrored in output directory. 
    -Xwarninit      Warn about possible changes in initialization semantics 
    -Y        Print a synopsis of private options 
2
% scala -X 
Usage: scala <options> <source files> 
Possible advanced options include: 
    ... 
    -Xmigration     Warn about constructs whose behavior may have changed between 2.7 and 2.8 
    ... 
Problemi correlati