Вы можете использовать ASTVisitor
для проверки соответствующих узлов в вашем АСТ. Затем вы можете использовать resolveBinding()
или resolveTypeBinding()
для извлечения зависимостей. (Для этой работы вам нужно включить «resolveBindings», когда вы разбираете.)
Я не проверял, но этот пример должен дать Вам идею:
public static IType[] findDependencies(ASTNode node) {
final Set<IType> result = new HashSet<IType>();
node.accept(new ASTVisitor() {
@Override
public boolean visit(SimpleName node) {
ITypeBinding typeBinding = node.resolveTypeBinding();
if (typeBinding == null)
return false;
IJavaElement element = typeBinding.getJavaElement();
if (element != null && element instanceof IType) {
result.add((IType)element);
}
return false;
}
});
return result.toArray(new IType[result.size()]);
}