1 package net.sourceforge.pmd.symboltable;
2
3 import net.sourceforge.pmd.util.UnaryFunction;
4
5 import java.util.HashMap;
6 import java.util.List;
7 import java.util.Map;
8
9 public class VariableUsageFinderFunction implements UnaryFunction {
10 private Map results = new HashMap();
11 private Map decls;
12 private boolean lookingForUsed;
13
14 public VariableUsageFinderFunction(Map decls, boolean lookingForUsed) {
15 this.decls = decls;
16 this.lookingForUsed = lookingForUsed;
17 }
18
19 public void applyTo(Object o) {
20 NameDeclaration decl = (NameDeclaration) o;
21 List usages = (List) decls.get(decl);
22 if (!usages.isEmpty()) {
23 if (lookingForUsed) {
24 results.put(decl, usages);
25 }
26 } else {
27 if (!lookingForUsed) {
28 results.put(decl, usages);
29 }
30 }
31 }
32
33 public Map getUsed() {
34 return results;
35 }
36 }
This page was automatically generated by Maven