summaryrefslogtreecommitdiff
path: root/test/files/run/t7617a/Macros_1.scala
diff options
context:
space:
mode:
authorAdriaan Moors <adriaan.moors@typesafe.com>2013-07-12 11:57:39 -0700
committerAdriaan Moors <adriaan.moors@typesafe.com>2013-07-12 11:57:39 -0700
commite9fbdb22c94cd3ab7c4d297c6e9c61fc86263b4c (patch)
tree108c5081b02923a2f8889afc1f02673f09ef64dc /test/files/run/t7617a/Macros_1.scala
parent69901bf25d5a83d6b7bc002b76e69a1a8d38546b (diff)
parente72ae708ed39ad006ef7dbbb85e116a8e6704663 (diff)
downloadscala-e9fbdb22c94cd3ab7c4d297c6e9c61fc86263b4c.tar.gz
scala-e9fbdb22c94cd3ab7c4d297c6e9c61fc86263b4c.tar.bz2
scala-e9fbdb22c94cd3ab7c4d297c6e9c61fc86263b4c.zip
Merge pull request #2689 from scalamacros/ticket/7617
SI-7617 typedAssign no longer expands lhs
Diffstat (limited to 'test/files/run/t7617a/Macros_1.scala')
-rw-r--r--test/files/run/t7617a/Macros_1.scala22
1 files changed, 22 insertions, 0 deletions
diff --git a/test/files/run/t7617a/Macros_1.scala b/test/files/run/t7617a/Macros_1.scala
new file mode 100644
index 0000000000..f9772c83c0
--- /dev/null
+++ b/test/files/run/t7617a/Macros_1.scala
@@ -0,0 +1,22 @@
+import scala.reflect.macros.Context
+import language.experimental.macros
+
+object Macros {
+ def getValueImpl[T](c: Context): c.Expr[T] = {
+ import c.universe._
+ c.Expr[T](Apply(Select(c.prefix.tree, newTermName("getVal")), Nil))
+ }
+ def setValueImpl[T](c: Context)(value: c.Expr[T]): c.Expr[Unit] = {
+ import c.universe._
+ c.Expr[Unit](Apply(Select(c.prefix.tree, newTermName("setVal")), List(value.tree)))
+ }
+}
+
+object Module {
+ private var _val: String = "hello"
+ def setVal(value: String): Unit = this._val = value
+ def getVal(): String = this._val
+
+ def value: String = macro Macros.getValueImpl[String]
+ def value_=(value: String): Unit = macro Macros.setValueImpl[String]
+}