]> git.uio.no Git - ifi-stolz-refaktor.git/blob - 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
1 package no.uio.ifi.refaktor.analyze;
2
3 import org.eclipse.jdt.core.dom.ASTNode;
4 import org.eclipse.jdt.core.dom.ASTVisitor;
5 import org.eclipse.jdt.core.dom.IBinding;
6 import org.eclipse.jdt.core.dom.IVariableBinding;
7 import org.eclipse.jdt.core.dom.SimpleName;
8
9 public 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 }