case authorDao: AuthorDao => authorDao
Dao 自体のサブクラスを返すようにこれを記述しようとしています。
この準引用を使用すると:
val daoType = TypeName(daoName)
val caseTerm = TermName(daoName.toLowerCase)
cases.append(cq"$caseTerm: $daoType=> $caseTerm")
これを生成します
case (authordao @ ((_): AuthorDao)) => authordao
そして、私がこれを行うと
cases.append(cq"${q"$caseTerm: $daoType"} => $caseTerm")
それはこれを行います
case ((authordao): AuthorDao) => authordao
どちらもコンパイルエラーを生成します