megaease/easeagent

代码有点没看懂

jiangyunpeng opened this issue · 2 comments

easeagent 的作者,最近看了下 easeagent 的代码,有两个地方有点疑问。

疑问 1. com.megaease.easeagent.core.plugin.transformer.AnnotationTransformer 这个类看上去是处理 @ EaseAgentInstrumented ,这个注解用来干啥,搜了下代码看上去并没地方用到这个注解, 81行https://github.com/megaease/easeagent/blob/master/core/src/main/java/com/megaease/easeagent/core/plugin/transformer/AnnotationTransformer.java#L81 这个变量并不会被用到,代码没写完?

疑问 2. com.megaease.easeagent.core.plugin.transformer.advice.AgentAdvice 这个类一万多行代码,看上去大部分都是从net.bytebuddy.asm.Advice copy过来的,为啥要重新copy一份?

问题1,这是原来的一个方案设想,后来未使用,代码可以优化掉,没删除带来困扰,不好意思,欢迎删除并提PR;
问题2,是的,就是从Advice过来的,因为有些内部类不能访问,又想做了一点修改,以支持每个增强方法的unique id参数运行时生成;可能这个不是最好的方式;更好的方式也许是同名包下扩展类来访问,欢迎改进。

好的,了解了,感谢及时回复。