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 |