net.sourceforge.pmd.lang.java.symboltable
Class SourceFileScope

java.lang.Object
  extended by net.sourceforge.pmd.lang.java.symboltable.AbstractScope
      extended by net.sourceforge.pmd.lang.java.symboltable.SourceFileScope
All Implemented Interfaces:
Scope

public class SourceFileScope
extends AbstractScope


Field Summary
protected  Map<ClassNameDeclaration,List<NameOccurrence>> classNames
           
 
Constructor Summary
SourceFileScope()
           
SourceFileScope(String image)
           
 
Method Summary
 void addDeclaration(ClassNameDeclaration classDecl)
          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()
protected  NameDeclaration findVariableHere(NameOccurrence occ)
           
 Map<ClassNameDeclaration,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.
 String getPackageName()
           
 Map<VariableNameDeclaration,List<NameOccurrence>> getVariableDeclarations()
          Returns a Map (VariableNameDeclaration->List(NameOccurrence,NameOccurrence)) of declarations that exist at this scope
 String toString()
           
 
Methods inherited from class net.sourceforge.pmd.lang.java.symboltable.AbstractScope
contains, getParent, glomNames, setParent
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

classNames

protected Map<ClassNameDeclaration,List<NameOccurrence>> classNames
Constructor Detail

SourceFileScope

public SourceFileScope()

SourceFileScope

public SourceFileScope(String image)
Method Detail

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
Overrides:
getEnclosingClassScope in class AbstractScope

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
Overrides:
getEnclosingMethodScope in class AbstractScope

getPackageName

public String getPackageName()

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
Overrides:
getEnclosingSourceFileScope in class AbstractScope

addDeclaration

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

Specified by:
addDeclaration in interface Scope
Overrides:
addDeclaration in class AbstractScope

addDeclaration

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

Specified by:
addDeclaration in interface Scope
Overrides:
addDeclaration in class AbstractScope

addDeclaration

public void addDeclaration(VariableNameDeclaration decl)
Description copied from interface: Scope
Add a variable declaration to this scope


getClassDeclarations

public Map<ClassNameDeclaration,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
Overrides:
getClassDeclarations in class AbstractScope

getVariableDeclarations

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


addVariableNameOccurrence

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


toString

public String toString()
Overrides:
toString in class Object

findVariableHere

protected NameDeclaration findVariableHere(NameOccurrence occ)
Specified by:
findVariableHere in class AbstractScope


Copyright © 2002-2012 InfoEther. All Rights Reserved.