2 つのマクロ アノテーション付きクラスがあり、展開中にフィールドが定義された後、一方が他方に依存するとします。
@Annotation
case class A(i: Int)
@Annotation
case class B(a: A)
Aの前に展開する必要がありますBが、それらの定義の順序はそれを保証しません。
たとえば、次のBような無関係なコンパイル単位内のオブジェクトへの型パラメータとしての参照:
class X{val b = B(A(1))}あるファイルとclass Y{Z[B]}別のファイルで、
最初に展開されるためB、コンパイルが失敗します。
この場合、マクロ展開の順序は何によって決まりますか? 希望の注文を強制する方法はありますか?
ご意見をお寄せいただきありがとうございます。
ジュリアン