/ / Чи існують бібліотеки для вилучення імен залежності класів, методів, членів і полів з файлу .class (байт-код)? - java, scala, залежності, байт-код, .class-файл

Чи існують бібліотеки для вилучення імен класу, методу, члена і поля залежностей з файлу .class (байт-код)? - java, scala, залежності, байт-код, .class-файл

Як заголовок зазначається, чи існують бібліотеки для вилучення імен залежності класів, методів, членів і полів з файлу .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.