summaryrefslogtreecommitdiff
path: root/src/interactive
diff options
context:
space:
mode:
authorJason Zaugg <jzaugg@gmail.com>2014-12-15 12:26:39 +1000
committerJason Zaugg <jzaugg@gmail.com>2014-12-15 12:26:39 +1000
commit1c6969945f209dafbe3c3fb38f1c3f9a5aaadb82 (patch)
treec405e7858fa4a1bbbd4055104b3ead19dc6e638d /src/interactive
parentd9f623db0ff1d20040939fbb9e15d4d4e5887c75 (diff)
downloadscala-1c6969945f209dafbe3c3fb38f1c3f9a5aaadb82.tar.gz
scala-1c6969945f209dafbe3c3fb38f1c3f9a5aaadb82.tar.bz2
scala-1c6969945f209dafbe3c3fb38f1c3f9a5aaadb82.zip
SI-9011 Speculative fix for CCE in Scala IDE
Based on the reported stack trace and what I know of Scala IDE, I've changed `InteractiveNamer#enterExistingSymbol` to be `DocDef` aware. I haven't provided a test as this was not minimized from Scala IDE.
Diffstat (limited to 'src/interactive')
-rw-r--r--src/interactive/scala/tools/nsc/interactive/Global.scala6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/interactive/scala/tools/nsc/interactive/Global.scala b/src/interactive/scala/tools/nsc/interactive/Global.scala
index 5d00141e6a..4476697cfd 100644
--- a/src/interactive/scala/tools/nsc/interactive/Global.scala
+++ b/src/interactive/scala/tools/nsc/interactive/Global.scala
@@ -78,7 +78,11 @@ trait InteractiveAnalyzer extends Analyzer {
val owningInfo = sym.owner.info
val existingDerivedSym = owningInfo.decl(sym.name.toTermName).filter(sym => sym.isSynthetic && sym.isMethod)
existingDerivedSym.alternatives foreach (owningInfo.decls.unlink)
- enterImplicitWrapper(tree.asInstanceOf[ClassDef])
+ val defTree = tree match {
+ case dd: DocDef => dd.definition // See SI-9011, Scala IDE's presentation compiler incorporates ScalaDocGlobal with InterativeGlobal, so we have to unwrap DocDefs.
+ case _ => tree
+ }
+ enterImplicitWrapper(defTree.asInstanceOf[ClassDef])
}
super.enterExistingSym(sym, tree)
}