如何生成自己的ScalaSig?

时间:2013-07-12 09:24:57

标签: scala metaprogramming dynamic-programming scalac

我已动态定义了Scala类,但为了“正确”使用它,它需要有一个ScalaSig。

那么,我如何在正常编译之外生成ScalaSig?也许是从树上来的?也许像:

val tb = runtimeMirror(getClass.getClassLoader).mkToolBox()
val classDef = """class MyRecord(x: String)"""
val tree = showRaw(tb.parse(classDef))

但是挑选者在哪里进来?

感谢您的任何建议 -Julian

1 个答案:

答案 0 :(得分:0)

Artisanal-Pickle-Maker将逐字节重现Scala pickled签名(请参阅限制)。

进入编译器的pickler阶段,以及重用Pickler的代码,证明过于具有挑战性,因此我使用PickleBufferShowPickled和整个lotta {{ 1}}弄清楚如何生成任意酸洗的Scala sigs。