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(ClassNameDeclaration decl)
          Add a class declaration to this scope
 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.
 java.util.Map getClassDeclarations()
          Returns a Map (VariableNameDeclaration->List(NameOccurrence,NameOccurrence)) of declarations that exist at this scope
 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()
          Returns a Map (VariableNameDeclaration->List(NameOccurrence,NameOccurrence)) of declarations that exist at this scope
 void setParent(Scope parent)
          Points this scope to its parent
 

Method Detail

getVariableDeclarations

public java.util.Map getVariableDeclarations()
Returns a Map (VariableNameDeclaration->List(NameOccurrence,NameOccurrence)) of declarations that exist at this scope


getClassDeclarations

public java.util.Map getClassDeclarations()
Returns a Map (VariableNameDeclaration->List(NameOccurrence,NameOccurrence)) of declarations that exist at this scope


addDeclaration

public void addDeclaration(ClassNameDeclaration decl)
Add a class declaration to 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-2005 InfoEther. All Rights Reserved.