Class ClassScope
- java.lang.Object
-
- net.sourceforge.pmd.lang.symboltable.AbstractScope
-
- net.sourceforge.pmd.lang.java.symboltable.AbstractJavaScope
-
- net.sourceforge.pmd.lang.java.symboltable.ClassScope
-
- All Implemented Interfaces:
net.sourceforge.pmd.lang.symboltable.Scope
public class ClassScope extends AbstractJavaScope
This scope represents one Java class. It can have variable declarations, method declarations and inner class declarations.
-
-
Constructor Summary
Constructors Constructor Description ClassScope(java.lang.String className, ClassNameDeclaration classNameDeclaration)ClassScope(ClassNameDeclaration classNameDeclaration)This is only for anonymous inner classes.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.util.Set<net.sourceforge.pmd.lang.symboltable.NameDeclaration>addNameOccurrence(net.sourceforge.pmd.lang.symboltable.NameOccurrence occurrence)protected java.util.Set<net.sourceforge.pmd.lang.symboltable.NameDeclaration>findVariableHere(JavaNameOccurrence occurrence)ClassNameDeclarationgetClassDeclaration()java.util.Map<ClassNameDeclaration,java.util.List<net.sourceforge.pmd.lang.symboltable.NameOccurrence>>getClassDeclarations()java.lang.StringgetClassName()java.util.Map<MethodNameDeclaration,java.util.List<net.sourceforge.pmd.lang.symboltable.NameOccurrence>>getMethodDeclarations()java.util.Map<VariableNameDeclaration,java.util.List<net.sourceforge.pmd.lang.symboltable.NameOccurrence>>getVariableDeclarations()java.lang.Class<?>resolveType(java.lang.String name)voidsetIsEnum(boolean isEnum)java.lang.StringtoString()-
Methods inherited from class net.sourceforge.pmd.lang.java.symboltable.AbstractJavaScope
addDeclaration, checkForDuplicatedNameDeclaration, contains, glomNames
-
-
-
-
Constructor Detail
-
ClassScope
public ClassScope(java.lang.String className, ClassNameDeclaration classNameDeclaration)
-
ClassScope
public ClassScope(ClassNameDeclaration classNameDeclaration)
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
- Parameters:
classNameDeclaration- The declaration of this class, as known to the parent scope.
-
-
Method Detail
-
getClassDeclaration
public ClassNameDeclaration getClassDeclaration()
-
setIsEnum
public void setIsEnum(boolean isEnum)
-
getClassDeclarations
public java.util.Map<ClassNameDeclaration,java.util.List<net.sourceforge.pmd.lang.symboltable.NameOccurrence>> getClassDeclarations()
-
getMethodDeclarations
public java.util.Map<MethodNameDeclaration,java.util.List<net.sourceforge.pmd.lang.symboltable.NameOccurrence>> getMethodDeclarations()
-
getVariableDeclarations
public java.util.Map<VariableNameDeclaration,java.util.List<net.sourceforge.pmd.lang.symboltable.NameOccurrence>> getVariableDeclarations()
-
addNameOccurrence
public java.util.Set<net.sourceforge.pmd.lang.symboltable.NameDeclaration> addNameOccurrence(net.sourceforge.pmd.lang.symboltable.NameOccurrence occurrence)
- Specified by:
addNameOccurrencein interfacenet.sourceforge.pmd.lang.symboltable.Scope- Overrides:
addNameOccurrencein classnet.sourceforge.pmd.lang.symboltable.AbstractScope
-
getClassName
public java.lang.String getClassName()
-
findVariableHere
protected java.util.Set<net.sourceforge.pmd.lang.symboltable.NameDeclaration> findVariableHere(JavaNameOccurrence occurrence)
- Specified by:
findVariableHerein classAbstractJavaScope
-
resolveType
public java.lang.Class<?> resolveType(java.lang.String name)
-
toString
public java.lang.String toString()
- Overrides:
toStringin classjava.lang.Object
-
-