diff options
author | Martin Odersky <odersky@gmail.com> | 2006-09-11 23:05:20 +0000 |
---|---|---|
committer | Martin Odersky <odersky@gmail.com> | 2006-09-11 23:05:20 +0000 |
commit | 9abe4fe735de70857516db58fb384740c91982d4 (patch) | |
tree | 09fb81f211714a1e35ddb72da486b6fccff2bf5d | |
parent | 540f1b3922fb41a598247036e82ffb407761ce17 (diff) | |
download | scala-9abe4fe735de70857516db58fb384740c91982d4.tar.gz scala-9abe4fe735de70857516db58fb384740c91982d4.tar.bz2 scala-9abe4fe735de70857516db58fb384740c91982d4.zip |
Another fix to explicitOuter
-rw-r--r-- | src/compiler/scala/tools/nsc/transform/ExplicitOuter.scala | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/compiler/scala/tools/nsc/transform/ExplicitOuter.scala b/src/compiler/scala/tools/nsc/transform/ExplicitOuter.scala index 5d5f08922b..128ac3275b 100644 --- a/src/compiler/scala/tools/nsc/transform/ExplicitOuter.scala +++ b/src/compiler/scala/tools/nsc/transform/ExplicitOuter.scala @@ -74,9 +74,10 @@ abstract class ExplicitOuter extends InfoTransform with TransMatcher with Patter val decls1 = newScope(decls.toList) 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(), clazz.outerClass.thisType)) + setInfo MethodType(List(), restpe)) if (!parents.isEmpty) { for (val mc <- clazz.mixinClasses) { val mixinOuterAcc: Symbol = atPhase(phase.next)(outerAccessor(mc)) |