package no.uio.ifi.refaktor.analyze; import org.eclipse.jdt.core.dom.ASTNode; import org.eclipse.jdt.core.dom.ASTVisitor; import org.eclipse.jdt.core.dom.IBinding; import org.eclipse.jdt.core.dom.IVariableBinding; import org.eclipse.jdt.core.dom.SimpleName; public class VariableBindingFinder extends ASTVisitor { private String bindingKey; private boolean bindingFound; private IVariableBinding variableBinding; public VariableBindingFinder(String bindingKey) { this.bindingKey = bindingKey; bindingFound = false; } @Override public boolean visit(SimpleName node) { IBinding binding = node.resolveBinding(); if (binding instanceof IVariableBinding && binding.getKey().equals(bindingKey)) { variableBinding = (IVariableBinding) binding; bindingFound = true; } return false; } @Override public boolean preVisit2(ASTNode node) { return !bindingFound; } public IVariableBinding getVariableBinding() { return variableBinding; } }