aboutsummaryrefslogtreecommitdiff
path: root/src/dotty/tools/dotc/typer/Typer.scala
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 /src/dotty/tools/dotc/typer/Typer.scala
parent7a5244027cb7257b3e350a37fc2f48e263c4ca7e (diff)
downloaddotty-ea24c55fdc7b3310a7f9911b408647701b5799fa.tar.gz
dotty-ea24c55fdc7b3310a7f9911b408647701b5799fa.tar.bz2
dotty-ea24c55fdc7b3310a7f9911b408647701b5799fa.zip
Move typing of usecases to `typedClassDef`
Diffstat (limited to 'src/dotty/tools/dotc/typer/Typer.scala')
-rw-r--r--src/dotty/tools/dotc/typer/Typer.scala7
1 files changed, 4 insertions, 3 deletions
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)
}