Scala マクロ アノテーションからパラメーターを取得するでは、マクロ アノテーションからパラメーターを取得する方法について説明します。ただし、デフォルト値を持ついくつかのパラメーターがある場合:
class Foo(b: Boolean = false, i: Int = 0) extends StaticAnnotation { ... }
私は書く必要があります(その質問への答えに基づいて)
val (b, i) = c.prefix.tree match {
case q"new Foo(..$args)" => ???
}
のロジックは???
非常に厄介になっているようです。位置パラメータと名前付きパラメータの両方を処理する必要があり、デフォルト値への単純なアクセスはありません。単純化する方法はありますか?