Możliwe jest ustawienie treści metody za pomocą CtMethod.setBody("..")
, ale nie znajduję żadnego interfejsu API, aby pobrać treść metody w formacie ciągu znaków.Jak uzyskać treść metody przy użyciu Javassist?
5
A
Odpowiedz
5
To nie jest możliwe.
Javassist nie jest dekompilatorem. Metoda w pliku klasy jest reprezentowana w kodzie bajtowym Java. Javassist wie, jak przetłumaczyć kod źródłowy Java na kod bajtowy, ale nie na odwrót. Ponadto kodu bajtowego Java nie można nawet wyrazić jako kodu źródłowego Java, na przykład gdy jest napisany w języku JVM innym niż Java.