aboutsummaryrefslogtreecommitdiff
path: root/tests/disabled/macro/run/macro-enclosingowner-detectvar
diff options
context:
space:
mode:
Diffstat (limited to 'tests/disabled/macro/run/macro-enclosingowner-detectvar')
-rw-r--r--tests/disabled/macro/run/macro-enclosingowner-detectvar/Macros_1.scala14
-rw-r--r--tests/disabled/macro/run/macro-enclosingowner-detectvar/Test_2.scala23
2 files changed, 37 insertions, 0 deletions
diff --git a/tests/disabled/macro/run/macro-enclosingowner-detectvar/Macros_1.scala b/tests/disabled/macro/run/macro-enclosingowner-detectvar/Macros_1.scala
new file mode 100644
index 000000000..26ed64d8c
--- /dev/null
+++ b/tests/disabled/macro/run/macro-enclosingowner-detectvar/Macros_1.scala
@@ -0,0 +1,14 @@
+import scala.reflect.macros.whitebox._
+import scala.language.experimental.macros
+
+object Macros {
+ def impl(c: Context) = {
+ import c.universe._
+ def detectFlags(sym: TermSymbol): String = {
+ (sym.isVal, sym.isVar, !sym.isVal && !sym.isVar && !sym.isLazy, sym.isLazy).toString
+ }
+ q"println(${detectFlags(c.internal.enclosingOwner.asTerm)}); 42"
+ }
+
+ def foo: Int = macro impl
+} \ No newline at end of file
diff --git a/tests/disabled/macro/run/macro-enclosingowner-detectvar/Test_2.scala b/tests/disabled/macro/run/macro-enclosingowner-detectvar/Test_2.scala
new file mode 100644
index 000000000..edc0eb654
--- /dev/null
+++ b/tests/disabled/macro/run/macro-enclosingowner-detectvar/Test_2.scala
@@ -0,0 +1,23 @@
+object Test extends dotty.runtime.LegacyApp {
+ val a1 = Macros.foo
+ val a2 = Predef.identity(Predef.identity(Macros.foo))
+ val a3: Int = Macros.foo
+ val a4: Int = Predef.identity(Predef.identity(Macros.foo))
+
+ var b1 = Macros.foo
+ var b2 = Predef.identity(Predef.identity(Macros.foo))
+ var b3: Int = Macros.foo
+ var b4: Int = Predef.identity(Predef.identity(Macros.foo))
+
+ def c1 = Macros.foo
+ def c2 = Predef.identity(Predef.identity(Macros.foo))
+ def c3: Int = Macros.foo
+ def c4: Int = Predef.identity(Predef.identity(Macros.foo))
+ c1; c2; c3; c4;
+
+ lazy val d1 = Macros.foo
+ lazy val d2 = Predef.identity(Predef.identity(Macros.foo))
+ lazy val d3: Int = Macros.foo
+ lazy val d4: Int = Predef.identity(Predef.identity(Macros.foo))
+ d1; d2; d3; d4
+} \ No newline at end of file