diff options
author | Jason Zaugg <jzaugg@gmail.com> | 2015-09-09 08:52:48 +1000 |
---|---|---|
committer | Jason Zaugg <jzaugg@gmail.com> | 2015-09-09 08:52:48 +1000 |
commit | 2d025fe2d0c9cd0e01e390055b0531166988f901 (patch) | |
tree | 203901798506946d81bfec6f014dde5f6767d496 | |
parent | 0a8c4b263e979a7ed9fc9172ebc5f51e8093f3d5 (diff) | |
download | scala-2d025fe2d0c9cd0e01e390055b0531166988f901.tar.gz scala-2d025fe2d0c9cd0e01e390055b0531166988f901.tar.bz2 scala-2d025fe2d0c9cd0e01e390055b0531166988f901.zip |
Exclude <byname> and friends from REPL completion
-rw-r--r-- | src/interactive/scala/tools/nsc/interactive/Global.scala | 4 | ||||
-rw-r--r-- | src/reflect/scala/reflect/internal/Chars.scala | 2 |
2 files changed, 4 insertions, 2 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)) } } } diff --git a/src/reflect/scala/reflect/internal/Chars.scala b/src/reflect/scala/reflect/internal/Chars.scala index 74413fdaba..0f532a4e57 100644 --- a/src/reflect/scala/reflect/internal/Chars.scala +++ b/src/reflect/scala/reflect/internal/Chars.scala @@ -66,7 +66,7 @@ trait Chars { '0' <= c && c <= '9' || 'A' <= c && c <= 'Z' || 'a' <= c && c <= 'z' /** Can character start an alphanumeric Scala identifier? */ - def isIdentifierStart(c: Char): Boolean = + def isIdentifierStart(c: Char): Boolean = (c == '_') || (c == '$') || Character.isUnicodeIdentifierStart(c) /** Can character form part of an alphanumeric Scala identifier? */ |