summaryrefslogtreecommitdiff
path: root/src/interactive/scala/tools
diff options
context:
space:
mode:
authorJason Zaugg <jzaugg@gmail.com>2015-09-09 08:52:48 +1000
committerJason Zaugg <jzaugg@gmail.com>2015-09-09 08:52:48 +1000
commit2d025fe2d0c9cd0e01e390055b0531166988f901 (patch)
tree203901798506946d81bfec6f014dde5f6767d496 /src/interactive/scala/tools
parent0a8c4b263e979a7ed9fc9172ebc5f51e8093f3d5 (diff)
downloadscala-2d025fe2d0c9cd0e01e390055b0531166988f901.tar.gz
scala-2d025fe2d0c9cd0e01e390055b0531166988f901.tar.bz2
scala-2d025fe2d0c9cd0e01e390055b0531166988f901.zip
Exclude <byname> and friends from REPL completion
Diffstat (limited to 'src/interactive/scala/tools')
-rw-r--r--src/interactive/scala/tools/nsc/interactive/Global.scala4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/interactive/scala/tools/nsc/interactive/Global.scala b/src/interactive/scala/tools/nsc/interactive/Global.scala
index 703da0b947..ae9d816780 100644
--- a/src/interactive/scala/tools/nsc/interactive/Global.scala
+++ b/src/interactive/scala/tools/nsc/interactive/Global.scala
@@ -19,6 +19,7 @@ import scala.annotation.{ elidable, tailrec }
import scala.language.implicitConversions
import scala.tools.nsc.typechecker.Typers
import scala.util.control.Breaks._
+import scala.reflect.internal.Chars.isIdentifierStart
/**
* This trait allows the IDE to have an instance of the PC that
@@ -1165,7 +1166,8 @@ class Global(settings: Settings, _reporter: Reporter, projectName: String = "")
results filter { (member: Member) =>
val symbol = member.sym
def isStable = member.tpe.isStable || member.sym.isStable || member.sym.getterIn(member.sym.owner).isStable
- member.accessible && !symbol.isConstructor && (name.isEmpty || matcher(member.sym.name) && (symbol.name.isTermName == name.isTermName || name.isTypeName && isStable))
+ def isJunk = symbol.name.isEmpty || !isIdentifierStart(member.sym.name.charAt(0)) // e.g. <byname>
+ !isJunk && member.accessible && !symbol.isConstructor && (name.isEmpty || matcher(member.sym.name) && (symbol.name.isTermName == name.isTermName || name.isTypeName && isStable))
}
}
}