From 29e8f67ba19ab531932c98eba1411a63815cfa80 Mon Sep 17 00:00:00 2001 From: Martin Odersky Date: Tue, 15 Jul 2014 09:09:42 +0200 Subject: Adapt signature of so that sig([T]) = sig(Seq[T]). --- src/dotty/tools/dotc/core/transform/Erasure.scala | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/dotty/tools/dotc/core/transform/Erasure.scala b/src/dotty/tools/dotc/core/transform/Erasure.scala index e35cdd128..587f0c088 100644 --- a/src/dotty/tools/dotc/core/transform/Erasure.scala +++ b/src/dotty/tools/dotc/core/transform/Erasure.scala @@ -46,8 +46,12 @@ object Erasure { def erasure(tp: Type)(implicit ctx: Context): Type = scalaErasureFn(tp) def semiErasure(tp: Type)(implicit ctx: Context): Type = semiErasureFn(tp) - def sigName(tp: Type, isJava: Boolean)(implicit ctx: Context): TypeName = - (if (isJava) javaSigFn else scalaSigFn).sigName(tp) + def sigName(tp: Type, isJava: Boolean)(implicit ctx: Context): TypeName = { + val normTp = + if (tp.isRepeatedParam) tp.translateParameterized(defn.RepeatedParamClass, defn.SeqClass) + else tp + (if (isJava) javaSigFn else scalaSigFn).sigName(normTp) + } /** The symbol's erased info. This is the type's erasure, except for the following symbols: * -- cgit v1.2.3