ASM4/5: как я могу встроить исходный код в ASM4 / 5
Я собираюсь трансформировать (манипулировать) множество классов и позволить легкую отладку и прозрачную передачу изменений, примененных к коду, я хочу добавить исходный код Java, эквивалентный манипулируемому классу.
Чтобы добавить код Java, я мог бы использовать существующий исходный код и управлять им параллельно. Тогда мне нужно хранить его вместе с классом.
Посещая формат файла класса для JDK 8, я заметил, что не существует атрибута для прямого встраивания исходного кода. Вспоминая старые времена, можно было включать исходный код в файл класса. Что мне не хватает? (Я нашел только атрибут для указания исходного файла). Также опция во вкладке компилятора Eclipse показывает только опции для встраивания имен файлов....
Интересно, если помимо seaming хранить исходные файлы отдельно, возможно ли выполнить обратный инжиниринг (декомпиляцию) файла классов. Если предоставить информацию о локальных именах и именах параметров, это может быть даже лучшим вариантом.
В документации ASM указано, что инструмент доступен даже для декомпиляции байтового кода.
Есть ли у кого-нибудь какие-то идеи или опыт, которыми можно поделиться по этому вопросу?