summaryrefslogtreecommitdiff
path: root/src/repl
diff options
context:
space:
mode:
authorJason Zaugg <jzaugg@gmail.com>2015-09-03 12:45:46 +1000
committerJason Zaugg <jzaugg@gmail.com>2015-09-03 14:10:40 +1000
commit7bd12e33c0545de23a2c5af4fe73fa37f2f4608b (patch)
tree1baae3721bb7b4945ea519d1f243c58e71602672 /src/repl
parenta67b04079716812004b0d44ad65d48c508cf7d9e (diff)
downloadscala-7bd12e33c0545de23a2c5af4fe73fa37f2f4608b.tar.gz
scala-7bd12e33c0545de23a2c5af4fe73fa37f2f4608b.tar.bz2
scala-7bd12e33c0545de23a2c5af4fe73fa37f2f4608b.zip
Don't offer `asInstanceOf` et al as completions in a fresh REPL
Trying harder to keep the synthetic interpretter wrapper classes behind the curtain
Diffstat (limited to 'src/repl')
-rw-r--r--src/repl/scala/tools/nsc/interpreter/PresentationCompilerCompleter.scala4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/repl/scala/tools/nsc/interpreter/PresentationCompilerCompleter.scala b/src/repl/scala/tools/nsc/interpreter/PresentationCompilerCompleter.scala
index 3fb4428e76..56819cf08e 100644
--- a/src/repl/scala/tools/nsc/interpreter/PresentationCompilerCompleter.scala
+++ b/src/repl/scala/tools/nsc/interpreter/PresentationCompilerCompleter.scala
@@ -71,7 +71,9 @@ class PresentationCompilerCompleter(intp: IMain) extends Completion with ScalaCo
val found = result.completionsAt(cursor) match {
case NoResults => Completion.NoCandidates
case r =>
- val matching = r.matchingResults()
+ def isInterpreterWrapperMember(m: Member): Boolean =
+ definitions.isUniversalMember(m.sym) && nme.isReplWrapperName(m.prefix.typeSymbol.name)
+ val matching = r.matchingResults().filterNot(isInterpreterWrapperMember)
val tabAfterCommonPrefixCompletion = lastCommonPrefixCompletion.contains(buf.substring(0, cursor)) && matching.exists(_.symNameDropLocal == r.name)
val doubleTab = tabCount > 0 && matching.forall(_.symNameDropLocal == r.name)
if (tabAfterCommonPrefixCompletion || doubleTab) defStringCandidates(matching, r.name)