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