Вы можете получить инструкции байт-кода из файла класса (Foo.class), но не String, представляющий исходный код.Однако, учитывая исходный файл и номер строки, вы можете вместо этого прочитать строку из исходного файла (Foo.java), используя стандартные методы чтения файлов.
Чтобы получить представление о виде информации, содержащейся вфайл .class, проверьте инструмент javap
.Полагаю, технически можно было бы сделать предположение об источнике, скомпилированном для этого класса, или запустить на нем декомпилятор, но номера строк не будут точно совпадать, форматирование будет совершенно другим, и, возможно, принципиально, не будет комментариеваннотации с использованием уровня хранения источника.