summaryrefslogtreecommitdiff
path: root/src/compiler/scala/tools/nsc/typechecker/Macros.scala
diff options
context:
space:
mode:
authorJason Zaugg <jzaugg@gmail.com>2014-06-27 16:03:06 +0200
committerJason Zaugg <jzaugg@gmail.com>2014-06-27 16:03:06 +0200
commit856fe4ad0472ab71d91a6ab442fba77c4cf9950b (patch)
treef45971d824669c0962ddb71b109837afd954c537 /src/compiler/scala/tools/nsc/typechecker/Macros.scala
parent899ad4f3f5388599b748525f4d412d7411b2b8f2 (diff)
parentfcb3932b32a2133612473e7b061859f97aa562df (diff)
downloadscala-856fe4ad0472ab71d91a6ab442fba77c4cf9950b.tar.gz
scala-856fe4ad0472ab71d91a6ab442fba77c4cf9950b.tar.bz2
scala-856fe4ad0472ab71d91a6ab442fba77c4cf9950b.zip
Merge pull request #3780 from xeno-by/topic/rangepos-macro-args
macro args now correctly preserve range positions
Diffstat (limited to 'src/compiler/scala/tools/nsc/typechecker/Macros.scala')
-rw-r--r--src/compiler/scala/tools/nsc/typechecker/Macros.scala5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/compiler/scala/tools/nsc/typechecker/Macros.scala b/src/compiler/scala/tools/nsc/typechecker/Macros.scala
index f4456998c0..f40a92f8e5 100644
--- a/src/compiler/scala/tools/nsc/typechecker/Macros.scala
+++ b/src/compiler/scala/tools/nsc/typechecker/Macros.scala
@@ -417,9 +417,10 @@ trait Macros extends MacroRuntimes with Traces with Helpers {
val wrappedArgs = mapWithIndex(args)((arg, j) => {
val fingerprint = implParams(min(j, implParams.length - 1))
+ val duplicatedArg = duplicateAndKeepPositions(arg)
fingerprint match {
- case LiftedTyped => context.Expr[Nothing](arg.duplicate)(TypeTag.Nothing) // TODO: SI-5752
- case LiftedUntyped => arg.duplicate
+ case LiftedTyped => context.Expr[Nothing](duplicatedArg)(TypeTag.Nothing) // TODO: SI-5752
+ case LiftedUntyped => duplicatedArg
case _ => abort(s"unexpected fingerprint $fingerprint in $binding with paramss being $paramss " +
s"corresponding to arg $arg in $argss")
}