Skip to content

Commit 89c550b

Browse files
committed
Add test for top level classes added from defs in nested packages
1 parent ac239fd commit 89c550b

File tree

3 files changed

+42
-7
lines changed

3 files changed

+42
-7
lines changed
+12-4
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,12 @@
1-
macro generated main
2-
executed in: Bar$macro$1
3-
macro generated main
4-
executed in: Bar$macro$2
1+
macro generated class
2+
executed in: Bar$macro$5
3+
macro generated class
4+
executed in: Bar$macro$6
5+
macro generated class
6+
executed in: a.Bar$macro$3
7+
macro generated class
8+
executed in: a.b.Bar$macro$1
9+
macro generated class
10+
executed in: a.Bar$macro$4
11+
macro generated class
12+
executed in: a.c.Bar$macro$2

tests/run-macros/annot-add-global-class/Macro_1.scala

+2
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
package mymacro
2+
13
import scala.annotation.{experimental, MacroAnnotation}
24
import scala.quoted._
35
import scala.collection.mutable
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
1+
import mymacro.addClass
2+
13
@addClass def foo(): Unit =
2-
println("macro generated main")
4+
println("macro generated class")
35
println("executed in: " + (new Throwable().getStackTrace().head.getClassName))
46
//> class Baz$macro$1 extends Object {
57
//> def run() =
@@ -10,16 +12,39 @@
1012
//> new Baz$macro$1.run
1113

1214
@addClass def bar(): Unit =
13-
println("macro generated main")
15+
println("macro generated class")
1416
println("executed in: " + (new Throwable().getStackTrace().head.getClassName))
1517
//> class Baz$macro$2 extends Object {
1618
//> def run() =
1719
//> println("macro generated main")
1820
//> println("executed in: " + getClass.getName)
1921
//> }
20-
//> def foo(): Unit =
22+
//> def bar(): Unit =
2123
//> new Baz$macro$2.run
2224

25+
package a:
26+
@addClass def foo(): Unit =
27+
println("macro generated class")
28+
println("executed in: " + (new Throwable().getStackTrace().head.getClassName))
29+
30+
package b:
31+
@addClass def foo(): Unit =
32+
println("macro generated class")
33+
println("executed in: " + (new Throwable().getStackTrace().head.getClassName))
34+
35+
@addClass def bar(): Unit =
36+
println("macro generated class")
37+
println("executed in: " + (new Throwable().getStackTrace().head.getClassName))
38+
39+
package c:
40+
@addClass def foo(): Unit =
41+
println("macro generated class")
42+
println("executed in: " + (new Throwable().getStackTrace().head.getClassName))
43+
2344
@main def Test(): Unit =
2445
foo()
2546
bar()
47+
a.foo()
48+
a.b.foo()
49+
a.bar()
50+
a.c.foo()

0 commit comments

Comments
 (0)