列出在宏中实现密封特征的案例类

5-t*_*o-9 7 scala scala-macros

让我们假设我们有一个密封的特征和一些继承它的案例类:

  sealed trait SomeTrait
  final case class ClassA(somevalue : Int) extends SomeTrait
  final case class ClassB(str : String) extends SomeTrait
  (...)
Run Code Online (Sandbox Code Playgroud)

现在我想让所有这些案例类将特征扩展为集合.我将如何继续这样做?我甚至需要在什么类型的类中引用这些类?weakTypeTag?别的什么?

从一般意义上讲,这类似于Travis Brown在这里对case对象做同样的回答.

我的应用程序上下文:我有一个HTTP服务器和一个继承单个密封特征的case类的给定文件(更确切地说:这个层次结构实现了命令设计模式).现在,我想为每个案例类的HTTP-POST自动创建一个端点,并将传入的数据解析upickle到与该端点对应的案例类.以编程方式我不需要其他任何类/类型.