我想在解析编译的类文件时用对方法体内的另一个类的调用替换对给定类的调用......
或者换句话说,是否有一种方法可以检测方法中给定类的用法并仅替换该部分使用类似javaassist的方法。
例如..如果我有编译版本
class A { public int m() { int i = 2; B.multiply(i,i); return i; } }
有没有一种方法可以检测 B 的使用,然后更改代码以执行
class A { public int m() { int i = 2; C.divide(i,i); return i; } }
我知道另一种方法是编写一个解析器来 grep 源文件以供使用,但我更喜欢更优雅的解决方案,例如使用反射来生成新的编译类文件。
有什么想法吗 ?