summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorIulian Dragos <jaguarul@gmail.com>2009-09-04 15:44:48 +0000
committerIulian Dragos <jaguarul@gmail.com>2009-09-04 15:44:48 +0000
commit17e464314d7257e16f58b02f11d8c6b14c761956 (patch)
tree7dff49e847e4d83bca67bf651579c17d2ef941f9 /src
parentfa3ea36c0550fede8ec9d9d312b621e57c487083 (diff)
downloadscala-17e464314d7257e16f58b02f11d8c6b14c761956.tar.gz
scala-17e464314d7257e16f58b02f11d8c6b14c761956.tar.bz2
scala-17e464314d7257e16f58b02f11d8c6b14c761956.zip
Fixed #2317.
Diffstat (limited to 'src')
-rw-r--r--src/compiler/scala/tools/nsc/transform/AddInterfaces.scala5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/compiler/scala/tools/nsc/transform/AddInterfaces.scala b/src/compiler/scala/tools/nsc/transform/AddInterfaces.scala
index 64b9740839..f7ad9be4b9 100644
--- a/src/compiler/scala/tools/nsc/transform/AddInterfaces.scala
+++ b/src/compiler/scala/tools/nsc/transform/AddInterfaces.scala
@@ -77,6 +77,11 @@ abstract class AddInterfaces extends InfoTransform {
atPhase(implClassPhase) {
val implName = nme.implClassName(iface.name)
var impl = if (iface.owner.isClass) iface.owner.info.decl(implName) else NoSymbol
+ if (impl != NoSymbol && settings.XO.value) {
+ log("unlinking impl class " + impl)
+ iface.owner.info.decls.unlink(impl)
+ impl = NoSymbol
+ }
if (impl == NoSymbol) {
impl = iface.cloneSymbolImpl(iface.owner)
impl.name = implName