summaryrefslogtreecommitdiff
path: root/src/compiler/scala/tools/nsc/transform/Mixin.scala
diff options
context:
space:
mode:
authorPaul Phillips <paulp@improving.org>2009-06-28 19:36:31 +0000
committerPaul Phillips <paulp@improving.org>2009-06-28 19:36:31 +0000
commite3bb9bfa5cdaa4ef293713a7bebb189f73732e6d (patch)
tree331bc2f1d133bdc09b0792d0591f0a6cd8c8fb8b /src/compiler/scala/tools/nsc/transform/Mixin.scala
parente32113307c381e8bc8558208a6076f60666784a2 (diff)
downloadscala-e3bb9bfa5cdaa4ef293713a7bebb189f73732e6d.tar.gz
scala-e3bb9bfa5cdaa4ef293713a7bebb189f73732e6d.tar.bz2
scala-e3bb9bfa5cdaa4ef293713a7bebb189f73732e6d.zip
DSL refinement continues apace.
good-sized whacks on Erasure.
Diffstat (limited to 'src/compiler/scala/tools/nsc/transform/Mixin.scala')
-rw-r--r--src/compiler/scala/tools/nsc/transform/Mixin.scala8
1 files changed, 3 insertions, 5 deletions
diff --git a/src/compiler/scala/tools/nsc/transform/Mixin.scala b/src/compiler/scala/tools/nsc/transform/Mixin.scala
index 56bcd34cd2..bcab93b461 100644
--- a/src/compiler/scala/tools/nsc/transform/Mixin.scala
+++ b/src/compiler/scala/tools/nsc/transform/Mixin.scala
@@ -459,14 +459,14 @@ abstract class Mixin extends InfoTransform with ast.TreeDSL {
/** Create a static reference to given symbol <code>sym</code> of the
* form <code>M.sym</code> where M is the symbol's implementation module.
*/
- private def staticRef(sym: Symbol) = {
+ private def staticRef(sym: Symbol): Tree = {
sym.owner.info //todo: needed?
sym.owner.owner.info //todo: needed?
if (sym.owner.sourceModule == NoSymbol) {
assert(false, "" + sym + " in " + sym.owner + " in " + sym.owner.owner +
" " + sym.owner.owner.info.decls.toList)//debug
}
- Select(gen.mkAttributedRef(sym.owner.sourceModule), sym)
+ REF(sym.owner.sourceModule) DOT sym
}
/** Add all new definitions to a non-trait class
@@ -542,9 +542,7 @@ abstract class Mixin extends InfoTransform with ast.TreeDSL {
def completeSuperAccessor(stat: Tree) = stat match {
case DefDef(mods, name, tparams, List(vparams), tpt, EmptyTree)
if (stat.symbol hasFlag SUPERACCESSOR) =>
- val rhs0 =
- Apply(Select(Super(clazz, nme.EMPTY.toTypeName), stat.symbol.alias),
- vparams map (vparam => Ident(vparam.symbol)))
+ val rhs0 = (Super(clazz, nme.EMPTY.toTypeName) DOT stat.symbol.alias)(vparams map (v => Ident(v.symbol)): _*)
val rhs1 = localTyper.typed(atPos(stat.pos)(rhs0), stat.symbol.tpe.resultType)
val rhs2 = atPhase(currentRun.mixinPhase)(transform(rhs1))
if (settings.debug.value)