Як заголовок зазначається, чи існують бібліотеки для вилучення імен залежності класів, методів, членів і полів з файлу .class (байт-код)?
Наприклад, якщо я зібраний файл Scala .class використовує щось подібне:
var xs = new List[java.lang.String]();
"blah" :: xs;
xs(0).charAt(0);
Я повинен отримати, що я використовую ці класи та методи:
java.lang.String
java.lang.String#charAt
scala.collection.immutable.List
scala.collection.immutable.List#apply
Чи є бібліотека з API, яку я можу використовувати у власній програмі Scala, яка може це зробити для мене?
Відповіді:
4 для відповіді № 1Ось ASM рамки підручник пояснення, як збирати залежності від класів.
3 для відповіді № 2
Вам потрібно вміти читати код органів методів. Я б використовував бібліотеку байтових кодів, таких як ASM, BCEL або JavaAssist ObjectWeb.