diff options
Diffstat (limited to 'tests/disabled/macro/run/macro-default-params/Macros_1.scala')
-rw-r--r-- | tests/disabled/macro/run/macro-default-params/Macros_1.scala | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/tests/disabled/macro/run/macro-default-params/Macros_1.scala b/tests/disabled/macro/run/macro-default-params/Macros_1.scala new file mode 100644 index 000000000..74588a1cf --- /dev/null +++ b/tests/disabled/macro/run/macro-default-params/Macros_1.scala @@ -0,0 +1,27 @@ +import scala.language.experimental.macros +import scala.reflect.macros.whitebox.Context + +object Macros { + def id[A]: A = null.asInstanceOf[A] + + def foo: Any = macro impl + def impl(c: Context): c.Tree = { + import c.universe._ + import Flag._ + + lazy val tpe = TypeTree(typeOf[Int]) + + /* If we used this line instead, it would work! */ + // lazy val tpe = tq"Int" + + lazy val param: ValDef = { + val p1 = q"val a: ${tpe.duplicate} = Macros.id[${tpe.duplicate}]" + ValDef(Modifiers(DEFAULTPARAM), p1.name, p1.tpt, p1.rhs) + } + + q""" + class C { def f($param) = a } + println(new C().f()) + """ + } +} |