summaryrefslogtreecommitdiff
path: root/src/reflect/scala
diff options
context:
space:
mode:
authorAdriaan Moors <adriaan@lightbend.com>2017-04-10 10:12:01 -0700
committerGitHub <noreply@github.com>2017-04-10 10:12:01 -0700
commit715c88e9b74d1b4d1d0c4da9d0cc8f1b740e2dd3 (patch)
treeb851e7bfd0dd821b39eae1ac25ca053362bee72d /src/reflect/scala
parent2ba0530218daa170df5f1d25f7b39ab8cb8d0cf7 (diff)
parentade53a123c1edce12db442ee74b636d130e7e0f2 (diff)
downloadscala-715c88e9b74d1b4d1d0c4da9d0cc8f1b740e2dd3.tar.gz
scala-715c88e9b74d1b4d1d0c4da9d0cc8f1b740e2dd3.tar.bz2
scala-715c88e9b74d1b4d1d0c4da9d0cc8f1b740e2dd3.zip
Merge pull request #5816 from adriaanm/userdefined-apply-212
Allow user-defined `[un]apply` in case companion
Diffstat (limited to 'src/reflect/scala')
-rw-r--r--src/reflect/scala/reflect/internal/tpe/FindMembers.scala14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/reflect/scala/reflect/internal/tpe/FindMembers.scala b/src/reflect/scala/reflect/internal/tpe/FindMembers.scala
index 6ba48cb44d..510d76793e 100644
--- a/src/reflect/scala/reflect/internal/tpe/FindMembers.scala
+++ b/src/reflect/scala/reflect/internal/tpe/FindMembers.scala
@@ -285,4 +285,18 @@ trait FindMembers {
initBaseClasses.head.newOverloaded(tpe, members)
}
}
+
+ private[scala] final class HasMember(tpe: Type, name: Name, excludedFlags: Long, requiredFlags: Long) extends FindMemberBase[Boolean](tpe, name, excludedFlags, requiredFlags) {
+ private[this] var _result = false
+ override protected def result: Boolean = _result
+
+ protected def shortCircuit(sym: Symbol): Boolean = {
+ _result = true
+ true // prevents call to addMemberIfNew
+ }
+
+ // Not used
+ protected def addMemberIfNew(sym: Symbol): Unit = {}
+ }
+
}