我试图深入理解有关sbt的一些概念。此时我正在尝试了解设置键映射的工作原理。我见过this,现在我想根据settingAssignMacroImpl
函数的签名了解:=
的工作原理。
我看到有一个macro但我不太明白宏扩展是如何工作的,所以我无法理解该函数如何将值赋给Map。我很欣赏你能解决的任何问题。
编辑:正如Sarvesh Kumar Singh所说,我的问题是关于宏如何扩展以更新地图,因为我看到这样的事情:
def settingMacroImpl[T: c.WeakTypeTag](c: blackbox.Context)(t: c.Expr[T]): c.Expr[Initialize[T]] =
Instance.contImpl[T, Id](c, InitializeInstance, InitializeConvert, MixedBuilder)(Left(t), Instance.idTransform[c.type])
但我不太了解那里的扩张过程。