net.sourceforge.pmd.symboltable
Class AbstractScope

java.lang.Object
  extended by net.sourceforge.pmd.symboltable.AbstractScope
All Implemented Interfaces:
Scope
Direct Known Subclasses:
ClassScope, LocalScope, MethodScope, SourceFileScope

public abstract class AbstractScope
extends java.lang.Object
implements Scope


Constructor Summary
AbstractScope()
           
 
Method Summary
 void addDeclaration(ClassNameDeclaration classDecl)
          Add a class declaration to this scope
 void addDeclaration(MethodNameDeclaration methodDecl)
          Add a method declaration to this scope
 boolean contains(NameOccurrence occurrence)
          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.
protected abstract  NameDeclaration findVariableHere(NameOccurrence occurrence)
           
 java.util.Map<ClassNameDeclaration,java.util.List<NameOccurrence>> 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 MethodScope 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
protected
<T> java.lang.String
glomNames(java.util.Set<T> s)
           
 void setParent(Scope parent)
          Points this scope to its parent
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface net.sourceforge.pmd.symboltable.Scope
addDeclaration, addVariableNameOccurrence, getVariableDeclarations
 

Constructor Detail

AbstractScope

public AbstractScope()
Method Detail

getClassDeclarations

public java.util.Map<ClassNameDeclaration,java.util.List<NameOccurrence>> getClassDeclarations()
Description copied from interface: Scope
Returns a Map (VariableNameDeclaration->List(NameOccurrence,NameOccurrence)) of declarations that exist at this scope

Specified by:
getClassDeclarations in interface Scope

getEnclosingMethodScope

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

Specified by:
getEnclosingMethodScope in interface Scope

getEnclosingClassScope

public ClassScope getEnclosingClassScope()
Description copied from interface: Scope
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.

Specified by:
getEnclosingClassScope in interface Scope

getEnclosingSourceFileScope

public SourceFileScope getEnclosingSourceFileScope()
Description copied from interface: Scope
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.

Specified by:
getEnclosingSourceFileScope in interface Scope

setParent

public void setParent(Scope parent)
Description copied from interface: Scope
Points this scope to its parent

Specified by:
setParent in interface Scope

getParent

public Scope getParent()
Description copied from interface: Scope
Retrieves this scope's parent

Specified by:
getParent in interface Scope

addDeclaration

public void addDeclaration(MethodNameDeclaration methodDecl)
Description copied from interface: Scope
Add a method declaration to this scope

Specified by:
addDeclaration in interface Scope

addDeclaration

public void addDeclaration(ClassNameDeclaration classDecl)
Description copied from interface: Scope
Add a class declaration to this scope

Specified by:
addDeclaration in interface Scope

contains

public boolean contains(NameOccurrence occurrence)
Description copied from interface: Scope
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.

Specified by:
contains in interface Scope

findVariableHere

protected abstract NameDeclaration findVariableHere(NameOccurrence occurrence)

glomNames

protected <T> java.lang.String glomNames(java.util.Set<T> s)


Copyright © 2002-2011 InfoEther. All Rights Reserved.