我正在尝试编写此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
两者都产生编译错误