gpt4 book ai didi

scala - 在 Scala 宏中检测案例类

转载 作者:行者123 更新时间:2023-12-01 11:20:20 24 4
gpt4 key购买 nike

在一个被调用为 scala (2.11) 宏的方法中,有没有办法以编程方式确定一个 Type 是否是一个 case class

我正在使用的方法的 API 归结为:

def typeIsCaseClass(c: Context)(targetType: c.universe.Type): Boolean = {
// targetType "is case class?"
}

如果需要,我愿意更改 API。

最佳答案

符号通常包含所有有趣的信息:

def typeIsCaseClass(c: Context)(targetType: c.universe.Type): Boolean = {
val sym = targetType.typeSymbol
sym.isClass && sym.asClass.isCaseClass
}

关于scala - 在 Scala 宏中检测案例类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44633267/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com