From 6e719afe609a7447d0f9717ff9548818d3b94f5d Mon Sep 17 00:00:00 2001 From: Iulian Dragos Date: Thu, 24 Nov 2016 14:51:09 +0100 Subject: Don’t run the uncurry info transformer on Java symbols. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/reflect/scala/reflect/internal/transform/UnCurry.scala | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) (limited to 'src/reflect') diff --git a/src/reflect/scala/reflect/internal/transform/UnCurry.scala b/src/reflect/scala/reflect/internal/transform/UnCurry.scala index 222f25440e..e20f1f04f6 100644 --- a/src/reflect/scala/reflect/internal/transform/UnCurry.scala +++ b/src/reflect/scala/reflect/internal/transform/UnCurry.scala @@ -72,7 +72,7 @@ trait UnCurry { def apply(tp0: Type): Type = { val tp = expandAlias(tp0) tp match { - case ClassInfoType(parents, decls, clazz) => + case ClassInfoType(parents, decls, clazz) if !clazz.isJavaDefined => val parents1 = parents mapConserve uncurry val varargOverloads = mutable.ListBuffer.empty[Symbol] @@ -83,8 +83,7 @@ trait UnCurry { // is anyway faster and safer for (decl <- decls if decl.annotations.exists(_.symbol == VarargsClass)) { if (mexists(decl.paramss)(sym => definitions.isRepeatedParamType(sym.tpe))) { - val forwarderSym = varargForwarderSym(clazz, decl, exitingPhase(phase)(decl.info)) - varargOverloads += forwarderSym + varargOverloads += varargForwarderSym(clazz, decl, exitingPhase(phase)(decl.info)) } } if ((parents1 eq parents) && varargOverloads.isEmpty) tp @@ -93,8 +92,10 @@ trait UnCurry { varargOverloads.foreach(newDecls.enter) ClassInfoType(parents1, newDecls, clazz) } // @MAT normalize in decls?? + case PolyType(_, _) => mapOver(tp) + case _ => tp } -- cgit v1.2.3