Я ищу механизм в java (возможно, как Reflection
) для доступа к операторам в программе. например, я обращаюсь к операторам функции, а затем прохожу по дереву операторов, чтобы иметь анализ на Java-программах.Отражение уровня этажа в java
В .Net Microsoft предоставляет Extended Reflection
. Какая альтернатива в java?
Для файлов C, CIL
процесса в .c
исходные файлы и позволяют получить доступ к отчетности и ходить бросить дерево (даже изменения и вставки кодов) статически. если есть инструмент, который обрабатывает коды .java
и выполняет подобные работы, может решить мою проблему.
Я не уверен, что это возможно без доступа к исходному коду. Исходный код Java скомпилирован в байт-код, который запускается JVM, и я подозреваю, что файлы .class не будут содержать информацию об исходном коде, из которого они созданы. Вы могли бы почти думать об этом как стирание стилей с помощью дженериков, что-то вроде этой концепции. –
Не сейчас, если это соответствует вашим потребностям, но вы можете попробовать Thread.currentThread(). GetStackTrace() –
@JoaoPereira Это даст вам стек вызовов, но откроет ли он такие вещи, как назначения? ОО заботится о них? –