Возможно ли, учитывая объект java.lang.Class
, получить имя исходного файла и номер строки, в которой был объявлен класс?
Данные должны быть доступны в информации об отладке файла .class
. Единственное место, где я знаю, где JDK возвращает такую информацию об отладке, находится в java.lang.StackTraceElement
, но я не уверен, может ли заставить Java создать экземпляр java.lang.StackTraceElement
для произвольного класса, потому что мы не выполняем метод в классе.
Мое точное использование - анонимный внутренний класс, у которого есть сгенерированное компилятором имя. Я хочу знать имя файла и номер строки для объявления класса.
Я предпочитаю не использовать структуру манипуляции с байтовым кодом, но я могу вернуться к нему, если придется.