JavaParser: получить имя поля из FieldDeclaration - PullRequest
0 голосов
/ 21 октября 2019

Я составил список FieldDeclarations, и мне нужно выяснить, как называется каждое поле:

List<FieldDeclaration> fields = classDeclaration.getFields();

for (FieldDeclaration field : fields)
{
    String fieldName = field.get...?
}

Я не могу найти методы, которые получают имя поля.

Как ни странно, один из конструкторов принимает аргумент поля, поэтому не уверен, почему у него нет метода получения. Нужно ли получать его из другого узла?

FieldDeclaration (модификаторы NodeList, тип Type, имя строки) Создает FieldDeclaration. https://www.javadoc.io/doc/com.github.javaparser/javaparser-core/3.15.1

1 Ответ

2 голосов
/ 21 октября 2019

Упомянутый вами конструктор объявлен следующим образом:

public FieldDeclaration(NodeList<Modifier> modifiers, Type type, String name) {
    this(assertNotNull(modifiers), new VariableDeclarator(type, assertNotNull(name)));
}

В исходном коде FieldDeclaration существует список узлов VariableDeclarator с следующим образом:

@NonEmptyProperty
private NodeList<VariableDeclarator> variables;

И вы можете получить этот личный список с помощью следующего метода:

public NodeList<VariableDeclarator> getVariables() {
    return variables;
}

Как только вы получите свой список, вы должны использовать VariableDeclarator методы класса, если вы посмотрите на его исходный код, этот метод должен работать;

@Generated("com.github.javaparser.generator.core.node.PropertyGenerator")
public SimpleName getName() {
    return name;
}

РЕДАКТИРОВАТЬ

Вы можете получить доступ к исходным кодам здесь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...