diff options
Diffstat (limited to 'tests/disabled/macro/run/t7008-scala-defined')
3 files changed, 28 insertions, 0 deletions
diff --git a/tests/disabled/macro/run/t7008-scala-defined/Impls_Macros_2.scala b/tests/disabled/macro/run/t7008-scala-defined/Impls_Macros_2.scala new file mode 100644 index 000000000..330db8da7 --- /dev/null +++ b/tests/disabled/macro/run/t7008-scala-defined/Impls_Macros_2.scala @@ -0,0 +1,13 @@ +import language.experimental.macros +import scala.reflect.macros.blackbox.Context + +object Macros { + def impl(c: Context) = { + import c.universe._ + val decls = c.typeOf[ScalaClassWithCheckedExceptions_1[_]].decls.toList + val s = decls.sortBy(_.name.toString).map(decl => (s"${decl.name}: ${decl.annotations}")).mkString(scala.compat.Platform.EOL) + reify(println(c.Expr[String](Literal(Constant(s))).splice)) + } + + def foo = macro impl +}
\ No newline at end of file diff --git a/tests/disabled/macro/run/t7008-scala-defined/ScalaClassWithCheckedExceptions_1.scala b/tests/disabled/macro/run/t7008-scala-defined/ScalaClassWithCheckedExceptions_1.scala new file mode 100644 index 000000000..7783c873e --- /dev/null +++ b/tests/disabled/macro/run/t7008-scala-defined/ScalaClassWithCheckedExceptions_1.scala @@ -0,0 +1,6 @@ +class ScalaClassWithCheckedExceptions_1[E1 <: Exception] @throws[NullPointerException]("") () { + @throws[E1]("") def bar() {} + @throws[IllegalStateException]("") def baz(x: Int) {} + // FIXME: SI-7066 + // @throws[E2]("") def foo[E2 <: Exception] {} +}
\ No newline at end of file diff --git a/tests/disabled/macro/run/t7008-scala-defined/Test_3.scala b/tests/disabled/macro/run/t7008-scala-defined/Test_3.scala new file mode 100644 index 000000000..23adb88b2 --- /dev/null +++ b/tests/disabled/macro/run/t7008-scala-defined/Test_3.scala @@ -0,0 +1,9 @@ +import scala.reflect.runtime.universe._ + +object Test extends dotty.runtime.LegacyApp { + Macros.foo + println("=============") + + val decls = typeOf[ScalaClassWithCheckedExceptions_1[_]].decls.toList + decls sortBy (_.name.toString) foreach (decl => println(s"${decl.name}: ${decl.annotations}")) +}
\ No newline at end of file |