|
我想知道是否有办法确定何时触发此方面。我找到了 JointPoint.getSourceLocation() 方法,它返回源代码行。我意识到我可以尝试解析该源文件并尝试从中确定方法......但似乎应该有更好的方法。
基本上,如果您有以下代码:
类猴子{
公共无效饲料(香蕉b){
打()
}
}
香蕉类{
私有静态 int 香蕉IdGen;
公共最终 int 香蕉 Id = ++bananaIdGen;
私人布尔值吃= false;
公共无效吃(){
如果(吃)
throw IllegalStateException( \"已经吃过了。\" );
别的
吃过=真;
}
}
我想要一个像
@After(\"call(void www.sychzs.cn()) && target(bbb)\")
公共无效whereEaten(香蕉bbb){
....
}
我可以在身体的任何地方打印类似“Banana 47 was eated by org.example.Monkey(org.example.Banana)”的内容。
原因是,如果一个方法被没有任何注释的方法调用,我想抛出一个错误。为此,我需要方法的“方法”。