net.sourceforge.pmd.symboltable
public interface Scope
Method Summary | |
---|---|
void | addDeclaration(ClassNameDeclaration decl)
Add a class declaration to this scope |
void | addDeclaration(VariableNameDeclaration decl)
Add a variable declaration to this scope |
void | addDeclaration(MethodNameDeclaration decl)
Add a method 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. |
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. |
Scope | getParent()
Retrieves this scope's parent |
Map<VariableNameDeclaration,List<NameOccurrence>> | 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 |