net.sourceforge.pmd.symboltable
Interface Scope

All Known Implementing Classes:
AbstractScope, DummyScope, SourceFileScope

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 this search is just for this scope - it doesn't go diving into any child 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.
 MethodScope getEnclosingMethodScope()
          Goes searching up the tree for this scope's enclosing SourceFileScope This is handy if you're buried down in a LocalScope and need to hop up to the MethodScope to find a method parameter.
 SourceFileScope getEnclosingSourceFileScope()
          Goes searching up the tree for this scope's enclosing SourceFileScope This is handy if you're buried down in a LocalScope and need to hop up to the SourceFileScope to find a class 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 this search is just for this scope - it doesn't go diving into any child 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.


getEnclosingSourceFileScope

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


getEnclosingMethodScope

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



Copyright © 2002-2006 InfoEther. All Rights Reserved.