Вы смешиваете две части API: разрешение привязки и восстановление привязки.Из JavaDoc для setBindingsRecovery
:
void org.eclipse.jdt.core.dom.ASTParser.setBindingsRecovery(boolean enabled)
Requests that the compiler should perform bindings recovery. When bindings recovery is enabled the compiler returns incomplete bindings.
Default to false.
This should be set to true only if bindings are resolved. It has no effect if there is no binding resolution.
Parameters:
enabled true if incomplete bindings are expected, and false if only complete bindings are expected.
Итак, да.Ожидается, что для восстановления привязок установлено значение false, поскольку это значение по умолчанию.Однако, поскольку вы явно устанавливаете привязки для разрешения, для объекта AST
это должно быть установлено в true.Вы должны проверить метод AST.hasBindingsResolved()
, чтобы увидеть, можете ли вы получить свои привязки.
Чтобы быть ясным: разрешение привязок заключается в том, чтобы парсер / компилятор вычислял привязки типов при создании AST во время восстановления привязоко включении привязок для частичного вычисления.Честно говоря, я не совсем уверен, с чем помогает восстановление привязок, но я совершенно уверен, что это не то, что вам нужно.