aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorFelix Mulder <felix.mulder@gmail.com>2016-08-25 19:43:19 +0200
committerFelix Mulder <felix.mulder@gmail.com>2016-10-06 17:09:10 +0200
commitea24c55fdc7b3310a7f9911b408647701b5799fa (patch)
tree90ce3eb40af185673878eccfa1c26fd3803e84c2
parent7a5244027cb7257b3e350a37fc2f48e263c4ca7e (diff)
downloaddotty-ea24c55fdc7b3310a7f9911b408647701b5799fa.tar.gz
dotty-ea24c55fdc7b3310a7f9911b408647701b5799fa.tar.bz2
dotty-ea24c55fdc7b3310a7f9911b408647701b5799fa.zip
Move typing of usecases to `typedClassDef`
-rw-r--r--dottydoc/test/UsecaseTest.scala11
-rw-r--r--src/dotty/tools/dotc/typer/Typer.scala7
2 files changed, 10 insertions, 8 deletions
diff --git a/dottydoc/test/UsecaseTest.scala b/dottydoc/test/UsecaseTest.scala
index 9be688297..2effb77fa 100644
--- a/dottydoc/test/UsecaseTest.scala
+++ b/dottydoc/test/UsecaseTest.scala
@@ -141,12 +141,13 @@ class UsecaseTest extends DottyTest {
}
}
- @Test def checkIterator = {
- val sources =
- "./scala-scala/src/library/scala/collection/Iterator.scala" :: Nil
+ @Test def checkIterator =
+ checkFiles("./scala-scala/src/library/scala/collection/Iterator.scala" :: Nil) { _ =>
+ // success if typer throws no errors! :)
+ }
- checkFiles(sources) { packages =>
+ @Test def checkIterableLike =
+ checkFiles("./scala-scala/src/library/scala/collection/IterableLike.scala" :: Nil) { _ =>
// success if typer throws no errors! :)
}
- }
}
diff --git a/src/dotty/tools/dotc/typer/Typer.scala b/src/dotty/tools/dotc/typer/Typer.scala
index d633e5653..181f5bd7c 100644
--- a/src/dotty/tools/dotc/typer/Typer.scala
+++ b/src/dotty/tools/dotc/typer/Typer.scala
@@ -1245,6 +1245,9 @@ class Typer extends Namer with TypeAssigner with Applications with Implicits wit
val self1 = typed(self)(ctx.outer).asInstanceOf[ValDef] // outer context where class members are not visible
val dummy = localDummy(cls, impl)
val body1 = typedStats(impl.body, dummy)(inClassContext(self1.symbol))
+
+ typedUsecases(body1.map(_.symbol), self1.symbol)
+
checkNoDoubleDefs(cls)
val impl1 = cpy.Template(impl)(constr1, parents1, self1, body1)
.withType(dummy.nonMemberTermRef)
@@ -1520,9 +1523,7 @@ class Typer extends Namer with TypeAssigner with Applications with Implicits wit
buf += typed(stat)(ctx.exprContext(stat, exprOwner))
traverse(rest)
case nil =>
- val tpdStats = buf.toList
- typedUsecases(tpdStats.map(_.symbol), exprOwner)
- tpdStats
+ buf.toList
}
traverse(stats)
}