summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAdriaan Moors <adriaan.moors@typesafe.com>2014-03-12 09:49:01 -0700
committerAdriaan Moors <adriaan.moors@typesafe.com>2014-03-12 09:49:01 -0700
commit3e6c87ef26148fec25a054c27d8f55f191c69113 (patch)
tree451d41fcf8ba1646be21d42aea5832c15dd8cd4b /src
parent0fbd4422b2030bd7ec6299d99cac2eaf9a4a0ea9 (diff)
parent88006140b13559a5673a6cbb5d6c9f892d11a1ae (diff)
downloadscala-3e6c87ef26148fec25a054c27d8f55f191c69113.tar.gz
scala-3e6c87ef26148fec25a054c27d8f55f191c69113.tar.bz2
scala-3e6c87ef26148fec25a054c27d8f55f191c69113.zip
Merge pull request #3615 from retronym/ticket/8376
SI-8376 Fix overload resolution with Java varargs
Diffstat (limited to 'src')
-rw-r--r--src/reflect/scala/reflect/internal/Definitions.scala3
-rw-r--r--src/reflect/scala/reflect/internal/Types.scala2
2 files changed, 3 insertions, 2 deletions
diff --git a/src/reflect/scala/reflect/internal/Definitions.scala b/src/reflect/scala/reflect/internal/Definitions.scala
index fa1694c527..25d78f4e6f 100644
--- a/src/reflect/scala/reflect/internal/Definitions.scala
+++ b/src/reflect/scala/reflect/internal/Definitions.scala
@@ -410,7 +410,8 @@ trait Definitions extends api.StandardDefinitions {
else if (isScalaRepeatedParamType(tp)) elementExtract(RepeatedParamClass, tp) orElse tp
else tp
)
- def repeatedToSingle(tp: Type): Type = elementExtract(RepeatedParamClass, tp) orElse tp
+ def repeatedToSingle(tp: Type): Type = elementExtract(RepeatedParamClass, tp) orElse elementExtract(JavaRepeatedParamClass, tp) orElse tp
+ // We don't need to deal with JavaRepeatedParamClass here, as `repeatedToSeq` is only called in the patmat translation for Scala sources.
def repeatedToSeq(tp: Type): Type = elementTransform(RepeatedParamClass, tp)(seqType) orElse tp
def seqToRepeated(tp: Type): Type = elementTransform(SeqClass, tp)(scalaRepeatedType) orElse tp
def isReferenceArray(tp: Type) = elementTest(ArrayClass, tp)(_ <:< AnyRefTpe)
diff --git a/src/reflect/scala/reflect/internal/Types.scala b/src/reflect/scala/reflect/internal/Types.scala
index e9e5a89aa7..eb56f4ba81 100644
--- a/src/reflect/scala/reflect/internal/Types.scala
+++ b/src/reflect/scala/reflect/internal/Types.scala
@@ -2271,7 +2271,7 @@ trait Types
case _ => args.mkString("(", ", ", ")")
}
private def customToString = sym match {
- case RepeatedParamClass => args.head + "*"
+ case RepeatedParamClass | JavaRepeatedParamClass => args.head + "*"
case ByNameParamClass => "=> " + args.head
case _ =>
if (isFunctionTypeDirect(this)) {