File tree 3 files changed +42
-7
lines changed
3 files changed +42
-7
lines changed Original file line number Diff line number Diff line change 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
Original file line number Diff line number Diff line change
1
+ package mymacro
2
+
1
3
import scala .annotation .{experimental , MacroAnnotation }
2
4
import scala .quoted ._
3
5
import scala .collection .mutable
Original file line number Diff line number Diff line change
1
+ import mymacro .addClass
2
+
1
3
@ addClass def foo (): Unit =
2
- println(" macro generated main " )
4
+ println(" macro generated class " )
3
5
println(" executed in: " + (new Throwable ().getStackTrace().head.getClassName))
4
6
// > class Baz$macro$1 extends Object {
5
7
// > def run() =
10
12
// > new Baz$macro$1.run
11
13
12
14
@ addClass def bar (): Unit =
13
- println(" macro generated main " )
15
+ println(" macro generated class " )
14
16
println(" executed in: " + (new Throwable ().getStackTrace().head.getClassName))
15
17
// > class Baz$macro$2 extends Object {
16
18
// > def run() =
17
19
// > println("macro generated main")
18
20
// > println("executed in: " + getClass.getName)
19
21
// > }
20
- // > def foo (): Unit =
22
+ // > def bar (): Unit =
21
23
// > new Baz$macro$2.run
22
24
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
+
23
44
@ main def Test (): Unit =
24
45
foo()
25
46
bar()
47
+ a.foo()
48
+ a.b.foo()
49
+ a.bar()
50
+ a.c.foo()
You can’t perform that action at this time.
0 commit comments