Переписывание вызовов методов в скомпилированных классах Java

Я хочу заменить вызовы данного класса вызовами другого класса в теле метода при анализе файлов скомпилированного класса ...

или, другими словами, есть ли метод определения использования данного класса в методе и замены только этой части метода, используя что-то вроде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; } }

Я знаю, что альтернативой было бы написать парсер для поиска исходных файлов для использования, но я бы предпочел более элегантное решение, такое как использование отражения для генерации новых скомпилированных файлов классов.

Какие-нибудь мысли ?

Ответы на вопрос(5)

Ваш ответ на вопрос