获取定义val的名称

Kre*_*ver 5 scala scala-macros

我想要捕获我的宏的输出分配给的变量的名称.与projectbuild.sbt完全相同.如果有的话,我更喜欢开箱即用的解决方案(库),因为它看起来像一般的用例.

这是一个小例子

val someValue = myMacro()
Run Code Online (Sandbox Code Playgroud)

并作为myMacro()我希望得到字符串的输出"someValue".

Jas*_*r-M 8

您正在寻找SourceCode.

例:

scala> def myName(implicit name: sourcecode.Name) = name.value
myName: (implicit name: sourcecode.Name)String

scala> val foo = myName
foo: String = foo
Run Code Online (Sandbox Code Playgroud)