diff options
author | Felix Mulder <felix.mulder@gmail.com> | 2016-10-07 14:35:35 +0200 |
---|---|---|
committer | Felix Mulder <felix.mulder@gmail.com> | 2016-10-07 14:35:35 +0200 |
commit | 2ffc7cfaf05217394708d2c00ab85ab07663d03c (patch) | |
tree | 3a239da59946fcb2d6c7b7becd499c7b61e12007 /docs/docs/usage/migrating.md | |
parent | a1d8e04af89d4b1ffc0f1c4efe587b8882461d6e (diff) | |
download | dotty-2ffc7cfaf05217394708d2c00ab85ab07663d03c.tar.gz dotty-2ffc7cfaf05217394708d2c00ab85ab07663d03c.tar.bz2 dotty-2ffc7cfaf05217394708d2c00ab85ab07663d03c.zip |
Migrate dotty.epfl.ch to static site in repository
Diffstat (limited to 'docs/docs/usage/migrating.md')
-rw-r--r-- | docs/docs/usage/migrating.md | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/docs/docs/usage/migrating.md b/docs/docs/usage/migrating.md new file mode 100644 index 000000000..d835aeea6 --- /dev/null +++ b/docs/docs/usage/migrating.md @@ -0,0 +1,46 @@ +--- +layout: default +title: "Migrating to Dotty" +--- + +Migrating to Dotty +================== + +### Minor tweaks ### + * `sym.linkedClassOfClass` => `sym.linkedClass` + * `definitions` => `ctx.definitions` + +### Member Lookup ### +`tpe.member(name)` and `tpe.decl(name)` now return a `Denotation`, not a +`Symbol`. If no definition is found they return `NoDenotation` (instead of +`NoSymbol`). + +### Symbol Properties ### +Most `sym.isProperty` methods don't exist in dotc, test for flags instead. See +[dotc vs scalac: Trees, Symbols, Types & Denotations] + +### Logging, Error Reporting, Failures ### + +There are various kinds of logging: + * Errors, warnings, etc: `ctx.inform`, `ctx.warning`, `ctx.error`, ... + * Log messages displayed under `-Ylog:phase`: `log(msg)` in scalac => + `ctx.log(msg)` in dotc + * Debug-Log messages displayed under `-Ydebug -Ylog:<phase>`: `debuglog(msg)` + in scalac => `ctx.debuglog(msg)` in dotc + * Assertions: `assert(invariant)` + * Fatal errors: `abort(msg)` in scalac => `throw new + dotty.tools.dotc.FatalError(msg)` in dotc + + +#### During development / debugging #### +Instead of `Predef.println`, use `dotc.config.Printers.somePrinter.println` +[Printers.scala]. Printers can be easily added, enabled and disabled +without changing command line arguments. + +```scala +val default: Printer = new Printer // new Printer => print +val core: Printer = noPrinter // noPrinter => shut up +``` + +[dotc vs scalac: Trees, Symbols, Types & Denotations]: https://github.com/lampepfl/dotty/wiki/dotc-vs-scalac:-Trees,-Symbols,-Types-&-Denotations +[Printers.scala]: https://github.com/lampepfl/dotty/blob/master/src/dotty/tools/dotc/config/Printers.scala |