diff options
author | Jason Zaugg <jzaugg@gmail.com> | 2014-12-15 12:26:39 +1000 |
---|---|---|
committer | Jason Zaugg <jzaugg@gmail.com> | 2014-12-15 12:26:39 +1000 |
commit | 1c6969945f209dafbe3c3fb38f1c3f9a5aaadb82 (patch) | |
tree | c405e7858fa4a1bbbd4055104b3ead19dc6e638d | |
parent | d9f623db0ff1d20040939fbb9e15d4d4e5887c75 (diff) | |
download | scala-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.
-rw-r--r-- | src/interactive/scala/tools/nsc/interactive/Global.scala | 6 |
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) } |