diff options
author | Martin Odersky <odersky@gmail.com> | 2005-08-04 22:01:46 +0000 |
---|---|---|
committer | Martin Odersky <odersky@gmail.com> | 2005-08-04 22:01:46 +0000 |
commit | 56b6b545ddc4ec454b7513d37f2e7ff56cd2997c (patch) | |
tree | f3badbbd94407aaff4729113649c1d26531fafe3 /sources | |
parent | 2a5f62338c30ba6d06aa10c8fb809ce92462f96c (diff) | |
download | scala-56b6b545ddc4ec454b7513d37f2e7ff56cd2997c.tar.gz scala-56b6b545ddc4ec454b7513d37f2e7ff56cd2997c.tar.bz2 scala-56b6b545ddc4ec454b7513d37f2e7ff56cd2997c.zip |
*** empty log message ***
Diffstat (limited to 'sources')
-rw-r--r-- | sources/scala/Iterable.scala | 1 | ||||
-rwxr-xr-x | sources/scala/tools/nsc/transform/AddInterfaces.scala | 2 | ||||
-rwxr-xr-x | sources/scala/tools/nsc/transform/Erasure.scala | 1 | ||||
-rwxr-xr-x | sources/scala/tools/nsc/transform/ExplicitOuter.scala | 2 |
4 files changed, 4 insertions, 2 deletions
diff --git a/sources/scala/Iterable.scala b/sources/scala/Iterable.scala index 4c71390670..035da41067 100644 --- a/sources/scala/Iterable.scala +++ b/sources/scala/Iterable.scala @@ -9,6 +9,7 @@ package scala; +import Predef._; object Iterable { def view[A <% Ordered[A]](x: Iterable[A]): Ordered[Iterable[A]] = new Ordered[Iterable[A]] { diff --git a/sources/scala/tools/nsc/transform/AddInterfaces.scala b/sources/scala/tools/nsc/transform/AddInterfaces.scala index 61c7c307c0..8161e69782 100755 --- a/sources/scala/tools/nsc/transform/AddInterfaces.scala +++ b/sources/scala/tools/nsc/transform/AddInterfaces.scala @@ -114,7 +114,7 @@ abstract class AddInterfaces extends InfoTransform { else { assert(!parents.head.symbol.isTrait); if (clazz hasFlag INTERFACE) erasedTypeRef(ObjectClass) :: parents.tail - else if (isImplClass(clazz)) parents + else if (isImplClass(clazz) || clazz == ArrayClass) parents else traitToImplClass(parents) } val decls1 = addImplClasses( diff --git a/sources/scala/tools/nsc/transform/Erasure.scala b/sources/scala/tools/nsc/transform/Erasure.scala index 5f64349469..d9462c2118 100755 --- a/sources/scala/tools/nsc/transform/Erasure.scala +++ b/sources/scala/tools/nsc/transform/Erasure.scala @@ -423,6 +423,7 @@ abstract class Erasure extends AddInterfaces with typechecker.Analyzer { */ private val preTransformer = new Transformer { override def transform(tree: Tree): Tree = { + if (tree.symbol == ArrayClass) return tree; val tree1 = tree match { case ClassDef(mods, name, tparams, tpt, impl) => copy.ClassDef(tree, mods, name, List(), tpt, impl) diff --git a/sources/scala/tools/nsc/transform/ExplicitOuter.scala b/sources/scala/tools/nsc/transform/ExplicitOuter.scala index f1ac3392e8..bea9fd63ce 100755 --- a/sources/scala/tools/nsc/transform/ExplicitOuter.scala +++ b/sources/scala/tools/nsc/transform/ExplicitOuter.scala @@ -249,7 +249,7 @@ abstract class ExplicitOuter extends InfoTransform { List(vparamss.head ::: List(ValDef(outerParam, EmptyTree))) } val rhs1 = - if (sym.isPrimaryConstructor || sym.isMixinConstructor) + if ((sym.isPrimaryConstructor || sym.isMixinConstructor) && sym.owner != ArrayClass) addMixinConstructorCalls(rhs, sym.owner); // (3) else rhs; copy.DefDef(tree, mods, name, tparams, vparamss1, tpt, rhs1); |