Проблема переименование переменной с JavaParser

230
22 августа 2017, 11:52

Доброго времени суток!
Столкнулся с проблемой при работе с JavaParser.

Имеется код:

private void editLocalField() throws IOException {
    CompilationUnit cu = JavaParser.parse(classFile.getFile());
    new EditLocalFieldVisitor().visit(cu, null);
    System.out.println(cu);
    classFile.writeFile(cu.toString());
}
private class EditLocalFieldVisitor extends VoidVisitorAdapter<Void> {
    @Override
    public void visit(FieldDeclaration n, Void arg) {
        if(n.getVariable(0).getName().asString().equals(oldFieldName)){
            n.getVariable(0).setName(newFieldName);
        }
    }
}

Соответственно в файле classFile.getFile() хранится код:

public class Test extends AbstractProcessCommand {
/*comment*/
private String test;}

В этом случае все работает и поле меняет свое имя. Но если код в файле:

public class Test extends AbstractProcessCommand {
/*comment*/
private String test;
test = "some Text";}

То здесь уже выскакивает ошибка:

Caused by: com.github.javaparser.ParseProblemException: (line 13,col 2) Parse error. Found "=", expected one of  "enum" "exports" "module" "open" "opens" "provides" "requires" "strictfp" "to" "transitive" "uses" "with" <IDENTIFIER>

Т.е. javaParser не может обработать присвоение.
Как быть? По сути необходимо в данном контексте поменять имя поля везде, где оно встречается в классе. Заранее благодарен!

READ ALSO
Java FX Layouts problem

Java FX Layouts problem

Таблица которая несмотря на AnchorPane не разворачивается на всю область, а зависит только от prefHeight и prefWidth

309
Не вижу разницы между объектами

Не вижу разницы между объектами

Создал два объекта fileOne и fileTwoОба читают из файла, оба имеют одинаковые методы

239
NPE ответа сервера

NPE ответа сервера

Было и раньше подобное предупреждение, но как то не особо придавал значение, так как проверка с toast’ом проходила и кол-во лайков показывает...

212
Из-за чего сбилась кодировка при сборке JAR?

Из-за чего сбилась кодировка при сборке JAR?

Здравствуйте! Есть приложение написанное на JavaПарсит сайт и при необходимости отправляет email

238