Хорошо, это мой первый ответ на переполнение стека. Нервный ...
У меня с вами та же проблема, и с тех пор, как вы это сделали:
parser.setResolveBindings(true);
Посмотрим, сработало ли это, проверив следующее:
if (unit.getAST().hasResolvedBindings()) {
System.out.println("Binding activated.");
}
else {
Ststem.out.println("Binding is not activated.");
}
И я думаю, что результат «Связывание не активировано». И именно поэтому вы постоянно получаете нулевой указатель.
Затем я добавляю это утверждение в мой код:
parser.setEnvironment(null, null, null, true);
Волшебно, проблема исправлена !!! И я полагаю, вы тоже можете попробовать это.