/** * BSD-style license; for more info see http://pmd.sourceforge.net/license.html */ package net.sourceforge.pmd.symboltable; import net.sourceforge.pmd.util.Applier; public class LocalScope extends AbstractScope { public void addDeclaration(VariableNameDeclaration nameDecl) { if (nameDecl.isExceptionBlockParameter()) { // this declaration needs to go somewhere... should this be delegated to the next // highest LocalScope? return; } super.addDeclaration(nameDecl); } public NameDeclaration findVariableHere(NameOccurrence occurrence) { if (occurrence.isThisOrSuper()) { return null; } ImageFinderFunction finder = new ImageFinderFunction(occurrence.getImage()); Applier.apply(finder, variableNames.keySet().iterator()); return finder.getDecl(); } public String toString() { return "LocalScope:" + super.glomNames(); } }