diff options
author | Martin Odersky <odersky@gmail.com> | 2006-09-21 09:37:38 +0000 |
---|---|---|
committer | Martin Odersky <odersky@gmail.com> | 2006-09-21 09:37:38 +0000 |
commit | 00ee529f423a64a7004a8790ab9fdc2a395e8bda (patch) | |
tree | 237b3d5b7cdebad61415c5a82911192cf33650ab /src/compiler/scala/tools/nsc/transform/ExplicitOuter.scala | |
parent | 0e61f9c37e37e8338178b144b9294cb085100289 (diff) | |
download | scala-00ee529f423a64a7004a8790ab9fdc2a395e8bda.tar.gz scala-00ee529f423a64a7004a8790ab9fdc2a395e8bda.tar.bz2 scala-00ee529f423a64a7004a8790ab9fdc2a395e8bda.zip |
fixed bug746; removed some costly msgs in asserts
Diffstat (limited to 'src/compiler/scala/tools/nsc/transform/ExplicitOuter.scala')
-rw-r--r-- | src/compiler/scala/tools/nsc/transform/ExplicitOuter.scala | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/src/compiler/scala/tools/nsc/transform/ExplicitOuter.scala b/src/compiler/scala/tools/nsc/transform/ExplicitOuter.scala index 6ba1524213..734b546a85 100644 --- a/src/compiler/scala/tools/nsc/transform/ExplicitOuter.scala +++ b/src/compiler/scala/tools/nsc/transform/ExplicitOuter.scala @@ -84,17 +84,15 @@ abstract class ExplicitOuter extends InfoTransform with TransMatcher with Patter val outerAcc = clazz.newMethod(clazz.pos, nme.OUTER) // 3 outerAcc.expandName(clazz) val restpe = if (clazz.isTrait) clazz.outerClass.tpe else clazz.outerClass.thisType - decls1 enter ( - clazz.newOuterAccessor(clazz.pos) - setInfo MethodType(List(), restpe)) + decls1 enter clazz.newOuterAccessor(clazz.pos).setInfo(MethodType(List(), restpe)) if (!clazz.isTrait) // 2 //todo: avoid outer field if superclass has same outer value? decls1 enter ( clazz.newValue(clazz.pos, nme.getterToLocal(nme.OUTER)) - setFlag (PROTECTED | PARAMACCESSOR) + setFlag (SYNTHETIC | PROTECTED | PARAMACCESSOR) setInfo clazz.outerClass.thisType) } - if (!parents.isEmpty) { + if (!clazz.isTrait && !parents.isEmpty) { for (val mc <- clazz.mixinClasses) { val mixinOuterAcc: Symbol = atPhase(phase.next)(outerAccessor(mc)) if (mixinOuterAcc != NoSymbol) { |