/** * BSD-style license; for more info see http://pmd.sourceforge.net/license.html */ package net.sourceforge.pmd.symboltable; import net.sourceforge.pmd.util.UnaryFunction; import java.util.HashMap; import java.util.List; import java.util.Map; public class VariableUsageFinderFunction implements UnaryFunction { private Map results = new HashMap(); private Map decls; private boolean lookingForUsed; public VariableUsageFinderFunction(Map decls, boolean lookingForUsed) { this.decls = decls; this.lookingForUsed = lookingForUsed; } public void applyTo(Object o) { NameDeclaration decl = (NameDeclaration) o; List usages = (List) decls.get(decl); if (!usages.isEmpty()) { if (lookingForUsed) { results.put(decl, usages); } } else { if (!lookingForUsed) { results.put(decl, usages); } } } public Map getUsed() { return results; } }