diff options
author | Iulian Dragos <jaguarul@gmail.com> | 2016-11-24 14:51:09 +0100 |
---|---|---|
committer | Iulian Dragos <jaguarul@gmail.com> | 2016-11-25 10:51:06 +0100 |
commit | 6e719afe609a7447d0f9717ff9548818d3b94f5d (patch) | |
tree | e1bd6be2b06d9319fcda313dc22cdc69c99f9330 /src/reflect/scala/reflect | |
parent | 7602f2ebc0fbd0e1b51aa8d9d9a9e71607a06dd6 (diff) | |
download | scala-6e719afe609a7447d0f9717ff9548818d3b94f5d.tar.gz scala-6e719afe609a7447d0f9717ff9548818d3b94f5d.tar.bz2 scala-6e719afe609a7447d0f9717ff9548818d3b94f5d.zip |
Don’t run the uncurry info transformer on Java symbols.
Diffstat (limited to 'src/reflect/scala/reflect')
-rw-r--r-- | src/reflect/scala/reflect/internal/transform/UnCurry.scala | 7 |
1 files changed, 4 insertions, 3 deletions
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 } |