From 225102627d37f16134bc682eb5b01270684a02e4 Mon Sep 17 00:00:00 2001 From: Martin Odersky Date: Thu, 4 Sep 2014 08:35:42 +0200 Subject: Add inSuperCall mode and flag. Needed to keep a record of definitions in supercall arguments. These may not see the enclosing class. --- src/dotty/tools/dotc/typer/Typer.scala | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'src/dotty/tools/dotc/typer/Typer.scala') diff --git a/src/dotty/tools/dotc/typer/Typer.scala b/src/dotty/tools/dotc/typer/Typer.scala index f58ccbdbc..9c5fb09b0 100644 --- a/src/dotty/tools/dotc/typer/Typer.scala +++ b/src/dotty/tools/dotc/typer/Typer.scala @@ -951,8 +951,10 @@ class Typer extends Namer with TypeAssigner with Applications with Implicits wit val typer1 = localTyper(sym) typer1.typedDefDef(tree, sym)(localContext(tree, sym).setTyper(typer1)) case tree: untpd.TypeDef => - if (tree.isClassDef) typedClassDef(tree, sym.asClass)(localContext(tree, sym)) - else typedTypeDef(tree, sym)(localContext(tree, sym).setNewScope) + if (tree.isClassDef) + typedClassDef(tree, sym.asClass)(localContext(tree, sym).setMode(ctx.mode &~ Mode.InSuperCall)) + else + typedTypeDef(tree, sym)(localContext(tree, sym).setNewScope) case _ => typedUnadapted(desugar(tree), pt) } } -- cgit v1.2.3