summaryrefslogtreecommitdiff
path: root/src/reflect/scala/reflect/runtime/JavaUniverseForce.scala
diff options
context:
space:
mode:
authorIulian Dragos <jaguarul@gmail.com>2016-11-21 13:27:16 +0100
committerAdriaan Moors <adriaan@lightbend.com>2017-01-09 15:34:29 -0800
commit5b972dc10f0c263bcecd11c528715e8b94ca9efa (patch)
tree89fad430622a806646d62a200617b29bcfe2187a /src/reflect/scala/reflect/runtime/JavaUniverseForce.scala
parentde361dfe4fab67a01750bccf960788ef10321e4d (diff)
downloadscala-5b972dc10f0c263bcecd11c528715e8b94ca9efa.tar.gz
scala-5b972dc10f0c263bcecd11c528715e8b94ca9efa.tar.bz2
scala-5b972dc10f0c263bcecd11c528715e8b94ca9efa.zip
SI-10071 Separate compilation for varargs methods
Make sure that methods annotated with varargs are properly mixed-in. This commit splits the transformation into an info transformer (that works on all symbols, whether they come from source or binary) and a tree transformer. The gist of this is that the symbol-creation part of the code was moved to the UnCurry info transformer, while tree operations remained in the tree transformer. The newly created symbol is attached to the original method so that the tree transformer can still retrieve the symbol. A few fall outs: - I removed a local map that was identical to TypeParamsVarargsAttachment - moved the said attachment to StdAttachments so it’s visible between reflect.internal and nsc.transform - a couple more comments in UnCurry to honour the boy-scout rule
Diffstat (limited to 'src/reflect/scala/reflect/runtime/JavaUniverseForce.scala')
-rw-r--r--src/reflect/scala/reflect/runtime/JavaUniverseForce.scala2
1 files changed, 2 insertions, 0 deletions
diff --git a/src/reflect/scala/reflect/runtime/JavaUniverseForce.scala b/src/reflect/scala/reflect/runtime/JavaUniverseForce.scala
index 8481cd8996..45dd550e3e 100644
--- a/src/reflect/scala/reflect/runtime/JavaUniverseForce.scala
+++ b/src/reflect/scala/reflect/runtime/JavaUniverseForce.scala
@@ -42,6 +42,7 @@ trait JavaUniverseForce { self: runtime.JavaUniverse =>
this.SyntheticUnitAttachment
this.SubpatternsAttachment
this.KnownDirectSubclassesCalled
+ this.TypeParamVarargsAttachment
this.noPrint
this.typeDebug
this.Range
@@ -444,6 +445,7 @@ trait JavaUniverseForce { self: runtime.JavaUniverse =>
definitions.ScalaValueClassesNoUnit
definitions.ScalaValueClasses
+ uncurry.VarargsSymbolAttachment
uncurry.DesugaredParameterType
erasure.GenericArray
erasure.scalaErasure