diff options
author | Felix Mulder <felix.mulder@gmail.com> | 2016-08-25 19:43:19 +0200 |
---|---|---|
committer | Felix Mulder <felix.mulder@gmail.com> | 2016-10-06 17:09:10 +0200 |
commit | ea24c55fdc7b3310a7f9911b408647701b5799fa (patch) | |
tree | 90ce3eb40af185673878eccfa1c26fd3803e84c2 /src/dotty/tools/dotc/typer/Typer.scala | |
parent | 7a5244027cb7257b3e350a37fc2f48e263c4ca7e (diff) | |
download | dotty-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.scala | 7 |
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) } |