Если я правильно понял ваш вопрос, вы ищите, как узнать соответствующий номер начальной строки всех методов в вашем java коде
. Я бы предложил вам использовать JavaParser (https://javaparser.org/). )
Github Link - https://github.com/javaparser/javaparser
Это инструмент анализа кода java, с помощью которого я тоже решил проблему с похожими строками
Возможно, вам придется переопределить метод посещения, найденный в VoidVisitorAdapter
private static class MethodStartLine extends VoidVisitorAdapter {
@Override
public void visit(MethodDeclaration md, Object arg) {
System.out.println("METHOD: " + md.getDeclarationAsString() + "STARTS AT" + md.getRange().get().begin.line);
}
}
Вам необходимо установить модуль компиляции и передать его, как показано ниже в коде вашего драйвера
private static void getMethodStartLineNumbers(File src) throws ParseException, IOException {
CompilationUnit cu = JavaParser.parse(src);
new MethodStartLine().visit(cu, null);
}
Файл sr c здесь можно создать с помощью Files.walk (), если вам нужно запустить его для нескольких файлов
File mySrc = new File(srcRoot, filePath)
, где filePath - это путь к файлу, для которого вам нужен java парсер для запуска, который можно вызвать с помощью
getMethodStartLineNumbers(File mySrc)
PS: электронная книга, доступная на их веб-сайте, дает вам отличное введение в Java парсеры