diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/compiler/scala/tools/nsc/transform/ExplicitOuter.scala | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/src/compiler/scala/tools/nsc/transform/ExplicitOuter.scala b/src/compiler/scala/tools/nsc/transform/ExplicitOuter.scala index 010ef4f5ee..910e34cf9d 100644 --- a/src/compiler/scala/tools/nsc/transform/ExplicitOuter.scala +++ b/src/compiler/scala/tools/nsc/transform/ExplicitOuter.scala @@ -380,11 +380,15 @@ abstract class ExplicitOuter extends InfoTransform with TransMatcher with Patter Console.println("cc " + currentClass + ":" + currentClass.info.decls + " at " + phase)//debug assert(outerAcc != NoSymbol) - val path = gen.mkAttributedQualifier(currentClass.thisType.baseType(mixinClass).prefix) + val path = + if (mixinClass.owner.isTerm) gen.mkAttributedThis(mixinClass.owner.enclClass) + else gen.mkAttributedQualifier(currentClass.thisType.baseType(mixinClass).prefix) val rhs = ExplicitOuterTransformer.this.transform(path) localTyper.typed { atPos(currentClass.pos) { - DefDef(outerAcc, {vparamss=>rhs}) + val result = DefDef(outerAcc, {vparamss=>rhs}) + Console.println("==> "+result) + result } } } |