]> git.uio.no Git - ifi-stolz-refaktor.git/blame - software/no.uio.ifi.refaktor/src/no/uio/ifi/refaktor/analyze/VariableBindingFinder.java
TextSelectionsGeneratorTest: adding
[ifi-stolz-refaktor.git] / software / no.uio.ifi.refaktor / src / no / uio / ifi / refaktor / analyze / VariableBindingFinder.java
CommitLineData
46cc235b
EK
1package no.uio.ifi.refaktor.analyze;
2
3import org.eclipse.jdt.core.dom.ASTNode;
4import org.eclipse.jdt.core.dom.ASTVisitor;
5import org.eclipse.jdt.core.dom.IBinding;
6import org.eclipse.jdt.core.dom.IVariableBinding;
7import org.eclipse.jdt.core.dom.SimpleName;
8
9public class VariableBindingFinder extends ASTVisitor {
10 private String bindingKey;
11 private boolean bindingFound;
12 private IVariableBinding variableBinding;
13
14 public VariableBindingFinder(String bindingKey) {
15 this.bindingKey = bindingKey;
16 bindingFound = false;
17 }
18
19 @Override
20 public boolean visit(SimpleName node) {
21 IBinding binding = node.resolveBinding();
22
23 if (binding instanceof IVariableBinding && binding.getKey().equals(bindingKey)) {
24 variableBinding = (IVariableBinding) binding;
25 bindingFound = true;
26 }
27
28 return false;
29 }
30
31 @Override
32 public boolean preVisit2(ASTNode node) {
33 return !bindingFound;
34 }
35
36 public IVariableBinding getVariableBinding() {
37 return variableBinding;
38 }
39}