我想了解scaladoc macros work的方式。 E.g。
/** $DESCR
*
* @define DESCR
* A `Consumer` simplifies resource management...
*
* @define KEY
* the key type
*
* @define VALUE
* the value type
*/
object Consumer {
/** Creates a new consumer
*
* @tparam A $KEY
* @tparam B $VALUE
*/
def apply[A, B](): Consumer[A, B] = ???
}
/** $DESCR
*
* @tparam A $KEY
* @tparam B $VALUE
*/
trait Consumer[-A, +B]
我的印象是,这应该生成一个文档,其中包含特征和伴随对象的描述A Consumer simplifies resource management...
,并且还显示了apply
方法和{{}中的两个类型参数描述。 1}}。
但宏似乎在特性中不可用。在正确记录对象的同时,特征文档只显示宏名称trait
,$DESCR
,$KEY
。