diff options
author | Sébastien Doeraene <sjrdoeraene@gmail.com> | 2016-03-07 14:46:45 +0100 |
---|---|---|
committer | Sébastien Doeraene <sjrdoeraene@gmail.com> | 2016-03-10 18:01:45 +0100 |
commit | d0dd7001f0b59ed53f0778530328b3bf413587a2 (patch) | |
tree | 4a3ad96313026973543edcb7e3d2e15751580b0d /src/dotty/tools/dotc/Compiler.scala | |
parent | c14c9c096d09d9e21f1fd4ec27e6b416db01512f (diff) | |
download | dotty-d0dd7001f0b59ed53f0778530328b3bf413587a2.tar.gz dotty-d0dd7001f0b59ed53f0778530328b3bf413587a2.tar.bz2 dotty-d0dd7001f0b59ed53f0778530328b3bf413587a2.zip |
Implement most of the Scala.js IR code generator.
Notable things that are missing at this point:
* Pattern matching
* Try
* Most of the JavaScript interop
Diffstat (limited to 'src/dotty/tools/dotc/Compiler.scala')
-rw-r--r-- | src/dotty/tools/dotc/Compiler.scala | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/dotty/tools/dotc/Compiler.scala b/src/dotty/tools/dotc/Compiler.scala index be4477ee2..db92983ef 100644 --- a/src/dotty/tools/dotc/Compiler.scala +++ b/src/dotty/tools/dotc/Compiler.scala @@ -103,7 +103,11 @@ class Compiler { def rootContext(implicit ctx: Context): Context = { ctx.initialize()(ctx) val actualPhases = if (ctx.settings.scalajs.value) { - phases + // Remove phases that Scala.js does not want + phases.mapConserve(_.filter { + case _: FunctionalInterfaces => false + case _ => true + }).filter(_.nonEmpty) } else { // Remove Scala.js-related phases phases.mapConserve(_.filter { |