aboutsummaryrefslogtreecommitdiff
path: root/src/dotty/tools/dotc/Compiler.scala
diff options
context:
space:
mode:
authorSébastien Doeraene <sjrdoeraene@gmail.com>2016-03-07 14:46:45 +0100
committerSébastien Doeraene <sjrdoeraene@gmail.com>2016-03-10 18:01:45 +0100
commitd0dd7001f0b59ed53f0778530328b3bf413587a2 (patch)
tree4a3ad96313026973543edcb7e3d2e15751580b0d /src/dotty/tools/dotc/Compiler.scala
parentc14c9c096d09d9e21f1fd4ec27e6b416db01512f (diff)
downloaddotty-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.scala6
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 {