net.sourceforge.pmd.symboltable
Interface Scope

All Known Implementing Classes:
AbstractScope, GlobalScope

public interface Scope

Provides methods which all scopes must implement See JLS 6.3 for a description of scopes


Method Summary
 void addDeclaration(MethodNameDeclaration decl)
          Add a method declaration to this scope
 void addDeclaration(VariableNameDeclaration decl)
          Add a variable declaration to this scope
 NameDeclaration addVariableNameOccurrence(NameOccurrence occ)
          Adds a NameOccurrence to this scope - only call this after getting a true back from contains()
 boolean contains(NameOccurrence occ)
          Tests whether or not a NameOccurrence is directly contained in the scope Note that if this search is just in this scope - it doesn't go diving into any contained scopes.
 ClassScope getEnclosingClassScope()
          Goes searching up the tree for this scope's enclosing ClassScope This is handy if you're buried down in a LocalScope and need to hop up to the ClassScope to find a method name.
 Scope getParent()
          Retrieves this scope's parent
 java.util.Map getVariableDeclarations(boolean lookingForUsed)
          Returns a Map (VariableNameDeclaration->List(NameOccurrence,NameOccurrence)) of declarations that exist and are either used or not used at this scope
 void setParent(Scope parent)
          Points this scope to its parent
 

Method Detail

getVariableDeclarations

public java.util.Map getVariableDeclarations(boolean lookingForUsed)
Returns a Map (VariableNameDeclaration->List(NameOccurrence,NameOccurrence)) of declarations that exist and are either used or not used at this scope


addDeclaration

public void addDeclaration(VariableNameDeclaration decl)
Add a variable declaration to this scope


addDeclaration

public void addDeclaration(MethodNameDeclaration decl)
Add a method declaration to this scope


contains

public boolean contains(NameOccurrence occ)
Tests whether or not a NameOccurrence is directly contained in the scope Note that if this search is just in this scope - it doesn't go diving into any contained scopes.


addVariableNameOccurrence

public NameDeclaration addVariableNameOccurrence(NameOccurrence occ)
Adds a NameOccurrence to this scope - only call this after getting a true back from contains()


setParent

public void setParent(Scope parent)
Points this scope to its parent


getParent

public Scope getParent()
Retrieves this scope's parent


getEnclosingClassScope

public ClassScope getEnclosingClassScope()
Goes searching up the tree for this scope's enclosing ClassScope This is handy if you're buried down in a LocalScope and need to hop up to the ClassScope to find a method name.



Copyright © 2002-2003 Project Ultra*Log @ DARPA. All Rights Reserved.