File tree Expand file tree Collapse file tree 2 files changed +25
-0
lines changed Expand file tree Collapse file tree 2 files changed +25
-0
lines changed Original file line number Diff line number Diff line change
1
+ import scala .quoted .*
2
+
3
+ enum MyEnum0 :
4
+ case Marked
5
+ case Marked2 (i : Int )
6
+
7
+ trait MyMarker
8
+
9
+ enum MyEnum (val value : String ):
10
+ case Marked extends MyEnum (" marked" ) with MyMarker
11
+ case Marked2 (i : Int ) extends MyEnum (" marked" ) with MyMarker
12
+
13
+ inline def enumMacro : Unit = $ { enumMacroExpr }
14
+
15
+ private def enumMacroExpr (using Quotes ): Expr [Unit ] =
16
+ import quotes .reflect .*
17
+ assert(TypeRepr .of[MyEnum0 ].typeSymbol.flags.is(Flags .Enum ))
18
+ assert(TypeRepr .of[MyEnum0 .Marked .type ].termSymbol.flags.is(Flags .Enum ))
19
+ assert(TypeRepr .of[MyEnum0 .Marked2 ].typeSymbol.flags.is(Flags .Enum ))
20
+ assert(TypeRepr .of[MyEnum ].typeSymbol.flags.is(Flags .Enum ))
21
+ assert(TypeRepr .of[MyEnum .Marked .type ].termSymbol.flags.is(Flags .Enum ))
22
+ assert(TypeRepr .of[MyEnum .Marked2 ].typeSymbol.flags.is(Flags .Enum ))
23
+
24
+ ' {}
Original file line number Diff line number Diff line change
1
+ def test = enumMacro
You can’t perform that action at this time.
0 commit comments