我使用以下代码提取案例类属性的所有注释:
val allAnnotations = typeOf[T].typeSymbol.asClass.primaryConstructor
.typeSignature.paramLists.head.map(_.annotations)
一切正常,直到我将此注释添加到其中一个案例类属性:
@(Tag@field)
例如:
case class Test(@(Tag@field)(10) id1: Int,
@MyAnnotation(128) id2: String,
...)
我得到了这个例外:
scala.reflect.internal.Symbols$CyclicReference: illegal cyclic reference involving object FieldSerializer
任何解决方法?