Przepisywanie wywołań metod w skompilowanych klasach Java
Chcę zastąpić wywołania danej klasy wywołaniami klasy anther w treści metody podczas analizowania skompilowanych plików klas ...
lub inaczej mówiąc, czy istnieje metoda wykrywania zastosowań danej klasy w metodzie i zastępowania tylko tej części metody przy użyciu czegoś takiegojavaassist.
na przykład .. gdybym miał skompilowaną wersję
class A { public int m() { int i = 2; B.multiply(i,i); return i; } }
czy istnieje metoda wykrywania użycia B, a następnie zmiana kodu do wykonania
class A { public int m() { int i = 2; C.divide(i,i); return i; } }
Wiem, że alternatywą byłoby napisanie parsera do grep plików źródłowych do użytku, ale wolałbym bardziej eleganckie rozwiązanie, takie jak użycie refleksji do wygenerowania nowych skompilowanych plików klas.
Jakieś pomysły ?