Я пишу инструмент для сбора комментариев класса, и я хотел бы собрать все комментарии, которые логически привязаны к классу разработчиками:
public abstract class A {
private Integer d;
// comment line
/**
* javadoc comment
*/
class B {
int c;
}
}
или (обратный порядок комментариев)
public abstract class A {
/**
* javadoc comment
*/
// comment line
class B {
int c;
}
}
моя текущая реализация рекурсивно проходит от CompilationUnit к каждому дочернему узлу (Node) и проверяет, является ли она объявлением класса (или интерфейса). Затем комментарий извлекается из узла через node.getComment()
. Проблема в том, что другой комментарий, расположенный сверху первого, не имеет родителя и поэтому не учитывается.
Есть ли способ как-нибудь собрать их всех? (давайте рассмотрим, что они расположены рядом друг с другом, без пропусков новой строки)