我如何使用 Scala-Meta 解析一个对象?
How do I use Scala-Meta Parse an object?
我正在尝试使用 Scala Meta 编写注释,以便我可以从现有对象生成另一个案例 class。
但是当我尝试这样做时:
MyObject.parse[Source].show[Structure]
我收到这个错误:
错误:(5, 20) 方法解析的参数不足:(隐式转换:scala.meta.common.Convert[domain.MyObject.type,scala.meta.inputs.Input],隐式解析:scala.meta.parsers.Parse [scala.meta.Source],隐式方言:scala.meta.Dialect)scala.meta.parsers.Parsed[scala.meta.Source]。
未指定值参数转换、解析、方言。
MyObject.parse[来源].show[结构];}
^
我很困惑,因为根据他们的教程,这就是我需要开始的
http://scalameta.org/tutorial/#.parse[T]
我怎样才能反映这个对象循环遍历所有属性?
谢谢
parse[Source]
解析文本。您可以尝试以下方法
import scala.meta._
"object MyObject".parse[Source].get.show[Syntax]
如果您正在创建注释,那么它可能看起来像:
@MyAnnotation
object MyObject
在另一个模块中:
import scala.meta._
class MyAnnotation extends StaticAnnotation {
inline def apply(defn: Any): Any = meta {
defn.show[Syntax]
defn
}
}
我正在尝试使用 Scala Meta 编写注释,以便我可以从现有对象生成另一个案例 class。
但是当我尝试这样做时:
MyObject.parse[Source].show[Structure]
我收到这个错误:
错误:(5, 20) 方法解析的参数不足:(隐式转换:scala.meta.common.Convert[domain.MyObject.type,scala.meta.inputs.Input],隐式解析:scala.meta.parsers.Parse [scala.meta.Source],隐式方言:scala.meta.Dialect)scala.meta.parsers.Parsed[scala.meta.Source]。 未指定值参数转换、解析、方言。 MyObject.parse[来源].show[结构];} ^
我很困惑,因为根据他们的教程,这就是我需要开始的 http://scalameta.org/tutorial/#.parse[T]
我怎样才能反映这个对象循环遍历所有属性?
谢谢
parse[Source]
解析文本。您可以尝试以下方法
import scala.meta._
"object MyObject".parse[Source].get.show[Syntax]
如果您正在创建注释,那么它可能看起来像:
@MyAnnotation
object MyObject
在另一个模块中:
import scala.meta._
class MyAnnotation extends StaticAnnotation {
inline def apply(defn: Any): Any = meta {
defn.show[Syntax]
defn
}
}