Nik*_*kov 5 reflection scala scala-macros
如果可能的话,如何使用反射和宏列出所有可见的含义?我需要这个能够分析可用的类型类实例.
case class Artist (name: String, genres: Set[Genre])
case class Genre (name: String)
object CatalogueDB extends MySQL {
implicit val artistEntity = new Entity[Artist] {...}
implicit val genreEntity = new Entity[Genre] {...}
}
trait MySQL {
// Typeclasses let me restrict methods on `MySQL` to work only for types,
// which are associated with its instance.
// E.g., the following method will only compile when either an `Artist` or
// a `Genre` is passed to it when called on `CatalogueDB`:
def save[e : Entity](e : e) ...
// But also I need to be able to get a list of those types and
// instances of `Entity` typeclass to get the information
// needed to generate the database schema and
// to perform other tasks like that.
// So, the following method should somehow be able to have
// the `Entity` instances for `Artist` and `Genre` at its disposal,
// when called on `CatalogueDB`.
def generateSchema ...
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
118 次 |
最近记录: |