我有一个处理日志记录的宏注释,并希望同时处理SLF4J和Log4j2日志记录。不幸的是,这需要找到import wave
harp=wave.open('/Users/williamweiss2/Desktop/Test 2/harp.wav','r')
print("Frame rate of Harp sample is",harp.getframerate())
print(harp) #I thought that opening the file would automatically make an array.
字段的类型。当注释在其他问题的类上时,我知道如何做到这一点。但是,当注释在方法上时,我还没有想到这种情况。这就是我尝试过的:
logger
这个编译(尽管val loggerType = {
val classImpl = (if (annottees.head.isInstanceOf[DefDefApi])
c.enclosingClass
else
c).asInstanceOf[ImplDef].impl
classImpl.body.collectFirst {
case vd: ValDef if vd.name == TermName("logger") =>
c.typecheck(vd.duplicate).symbol.info
}.getOrElse {
// TODO look at parents
c.abort(c.enclosingPosition, "Logger type not found")
}
}
已弃用),但使用此注释编译类会产生enclosingClass
。对整个封闭类进行类型检查也不起作用。
有什么办法吗?