summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/compiler/scala/tools/nsc/transform/ExplicitOuter.scala8
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
}
}
}