summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEugene Burmako <xeno.by@gmail.com>2012-04-24 23:36:52 +0300
committerEugene Burmako <xeno.by@gmail.com>2012-04-24 23:36:52 +0300
commitf32d301fb556e006ae40b27175c4a4ca0e548616 (patch)
treeb61f37e34d1821090810883c2f23c635e05d1add
parentd9740f82a3aea3b223233776cd7c9460a2e4dfc3 (diff)
downloadscala-f32d301fb556e006ae40b27175c4a4ca0e548616.tar.gz
scala-f32d301fb556e006ae40b27175c4a4ca0e548616.tar.bz2
scala-f32d301fb556e006ae40b27175c4a4ca0e548616.zip
fixes SI-5704
-rw-r--r--src/compiler/scala/reflect/runtime/ToolBoxes.scala2
-rw-r--r--test/files/run/t5704.check1
-rw-r--r--test/files/run/t5704.flags1
-rw-r--r--test/files/run/t5704.scala16
4 files changed, 19 insertions, 1 deletions
diff --git a/src/compiler/scala/reflect/runtime/ToolBoxes.scala b/src/compiler/scala/reflect/runtime/ToolBoxes.scala
index 21a90326cf..7b1fc9fc0d 100644
--- a/src/compiler/scala/reflect/runtime/ToolBoxes.scala
+++ b/src/compiler/scala/reflect/runtime/ToolBoxes.scala
@@ -113,7 +113,7 @@ trait ToolBoxes extends { self: Universe =>
override def transform(tree: Tree): Tree =
tree match {
case Ident(name) if reversedFreeTermNames contains name =>
- Ident(reversedFreeTermNames(name))
+ Ident(reversedFreeTermNames(name)) setType tree.tpe
case _ =>
super.transform(tree)
}
diff --git a/test/files/run/t5704.check b/test/files/run/t5704.check
new file mode 100644
index 0000000000..7b56bf2bfd
--- /dev/null
+++ b/test/files/run/t5704.check
@@ -0,0 +1 @@
+String \ No newline at end of file
diff --git a/test/files/run/t5704.flags b/test/files/run/t5704.flags
new file mode 100644
index 0000000000..cd66464f2f
--- /dev/null
+++ b/test/files/run/t5704.flags
@@ -0,0 +1 @@
+-language:experimental.macros \ No newline at end of file
diff --git a/test/files/run/t5704.scala b/test/files/run/t5704.scala
new file mode 100644
index 0000000000..25a6575dc3
--- /dev/null
+++ b/test/files/run/t5704.scala
@@ -0,0 +1,16 @@
+import scala.reflect.mirror._
+
+object Test extends App {
+ class MyQuerycollection{
+ def findUserByName( name:String ) = {
+ val tree = reify{ "test" == name }
+ val toolbox = mkToolBox()
+ toolbox.typeCheck(tree) match{
+ case Apply(Select(lhs,op),rhs::Nil) =>
+ println(rhs.tpe)
+ }
+ }
+ }
+ val qc = new MyQuerycollection
+ qc.findUserByName("some value")
+}