aboutsummaryrefslogtreecommitdiff
path: root/tests/pending/run/t6992/Macros_1.scala
diff options
context:
space:
mode:
Diffstat (limited to 'tests/pending/run/t6992/Macros_1.scala')
-rw-r--r--tests/pending/run/t6992/Macros_1.scala75
1 files changed, 0 insertions, 75 deletions
diff --git a/tests/pending/run/t6992/Macros_1.scala b/tests/pending/run/t6992/Macros_1.scala
deleted file mode 100644
index f578f2b3c..000000000
--- a/tests/pending/run/t6992/Macros_1.scala
+++ /dev/null
@@ -1,75 +0,0 @@
-import scala.language.experimental.macros
-import scala.reflect.macros.whitebox.Context
-
-object Macros {
- def foo(name: String): Any = macro foo_impl
- def foo_impl(c: Context)(name: c.Expr[String]) = {
- import c.universe._
-
- val Literal(Constant(lit: String)) = name.tree
- val anon = newTypeName(c.fresh)
-
- c.Expr(Block(
- ClassDef(
- Modifiers(Flag.FINAL), anon, Nil, Template(
- Nil, noSelfType, List(
- DefDef(Modifiers(), termNames.CONSTRUCTOR, List(), List(List()), TypeTree(), Block(List(pendingSuperCall), Literal(Constant(())))),
- TypeDef(Modifiers(), TypeName(lit), Nil, TypeTree(typeOf[Int]))
- )
- )
- ),
- Apply(Select(New(Ident(anon)), termNames.CONSTRUCTOR), Nil)
- ))
- }
-
- def bar(name: String): Any = macro bar_impl
- def bar_impl(c: Context)(name: c.Expr[String]) = {
- import c.universe._
-
- val Literal(Constant(lit: String)) = name.tree
- val anon = newTypeName(c.fresh)
-
- c.Expr(Block(
- ClassDef(
- Modifiers(Flag.FINAL), anon, Nil, Template(
- Nil, noSelfType, List(
- DefDef(Modifiers(), termNames.CONSTRUCTOR, List(), List(List()), TypeTree(), Block(List(pendingSuperCall), Literal(Constant(())))),
- DefDef(
- Modifiers(), TermName(lit), Nil, Nil, TypeTree(),
- c.literal(42).tree
- )
- )
- )
- ),
- Apply(Select(New(Ident(anon)), termNames.CONSTRUCTOR), Nil)
- ))
- }
-
- def baz(name: String): Any = macro baz_impl
- def baz_impl(c: Context)(name: c.Expr[String]) = {
- import c.universe._
-
- val Literal(Constant(lit: String)) = name.tree
- val anon = newTypeName(c.fresh)
- val wrapper = newTypeName(c.fresh)
-
- c.Expr(Block(
- ClassDef(
- Modifiers(), anon, Nil, Template(
- Nil, emptyValDef, List(
- DefDef(Modifiers(), termNames.CONSTRUCTOR, List(), List(List()), TypeTree(), Block(List(pendingSuperCall), Literal(Constant(())))),
- DefDef(
- Modifiers(), TermName(lit), Nil, Nil, TypeTree(),
- c.literal(42).tree
- )
- )
- )
- ),
- ClassDef(
- Modifiers(Flag.FINAL), wrapper, Nil,
- Template(Ident(anon) :: Nil, noSelfType, DefDef(Modifiers(), termNames.CONSTRUCTOR, List(), List(List()), TypeTree(), Block(List(pendingSuperCall), Literal(Constant(())))) :: Nil)
- ),
- Apply(Select(New(Ident(wrapper)), termNames.CONSTRUCTOR), Nil)
- ))
- }
-} \ No newline at end of file