net.sourceforge.pmd.lang.plsql.symboltable
Class ClassScope

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

public class ClassScope
extends AbstractScope


Constructor Summary
ClassScope()
          This is only for anonymous inner classes

FIXME - should have name like Foo$1, not Anonymous$1 to get this working right, the parent scope needs to be passed in when instantiating a ClassScope

ClassScope(String className)
           
 
Method Summary
 void addDeclaration(NameDeclaration declaration)
          Adds a new declaration to this scope.
 NameDeclaration addNameOccurrence(NameOccurrence occ)
          Adds a NameOccurrence to this scope - only call this after getting a true back from Scope.contains(NameOccurrence).
protected  NameDeclaration findVariableHere(PLSQLNameOccurrence occurrence)
           
 Map<ClassNameDeclaration,List<NameOccurrence>> getClassDeclarations()
           
 String getClassName()
           
 ClassScope getEnclosingClassScope()
           
 Map<MethodNameDeclaration,List<NameOccurrence>> getMethodDeclarations()
           
 Map<VariableNameDeclaration,List<NameOccurrence>> getVariableDeclarations()
           
 String toString()
           
 
Methods inherited from class net.sourceforge.pmd.lang.symboltable.AbstractScope
contains, getDeclarations, getDeclarations, getEnclosingScope, getParent, setParent
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

ClassScope

public ClassScope(String className)

ClassScope

public ClassScope()
This is only for anonymous inner classes

FIXME - should have name like Foo$1, not Anonymous$1 to get this working right, the parent scope needs to be passed in when instantiating a ClassScope

Method Detail

addDeclaration

public void addDeclaration(NameDeclaration declaration)
Description copied from interface: Scope
Adds a new declaration to this scope. Only after the declaration has been added, Scope.contains(NameOccurrence) and Scope.addNameOccurrence(NameOccurrence) can be used correctly.

Specified by:
addDeclaration in interface Scope
Overrides:
addDeclaration in class AbstractScope
Parameters:
declaration - the declaration to add

addNameOccurrence

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

Specified by:
addNameOccurrence in interface Scope
Overrides:
addNameOccurrence in class AbstractScope
Returns:
the NameDeclaration that is references by the given NameOccurrence, if the NameOccurrence could be added. Otherwise null is returned.

getVariableDeclarations

public Map<VariableNameDeclaration,List<NameOccurrence>> getVariableDeclarations()

getMethodDeclarations

public Map<MethodNameDeclaration,List<NameOccurrence>> getMethodDeclarations()

getClassDeclarations

public Map<ClassNameDeclaration,List<NameOccurrence>> getClassDeclarations()

getEnclosingClassScope

public ClassScope getEnclosingClassScope()

getClassName

public String getClassName()

findVariableHere

protected NameDeclaration findVariableHere(PLSQLNameOccurrence occurrence)

toString

public String toString()
Overrides:
toString in class Object


Copyright © 2002–2015 InfoEther. All rights reserved.