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

java.lang.Object
  extended by net.sourceforge.pmd.lang.java.symboltable.TypeSet

public class TypeSet
extends Object

Keeps track of the types encountered in a ASTCompilationUnit


Nested Class Summary
static class TypeSet.AbstractResolver
          Base Resolver class that support a PMDASMClassLoader class loader.
static class TypeSet.CurrentPackageResolver
          Resolver that uses the current package to resolve a simple class name.
static class TypeSet.ExplicitImportResolver
          Resolver that tries to resolve the given simple class name with the explicit import statements.
static class TypeSet.FullyQualifiedNameResolver
          Resolver that simply loads the class by name.
static class TypeSet.ImplicitImportResolver
          Resolver that resolves simple class names from the implicit import of java.lang.*.
static class TypeSet.ImportOnDemandResolver
          Resolver that uses the "on demand" import statements.
static class TypeSet.PrimitiveTypeResolver
          Resolver that resolves primitive types such as int or double.
static interface TypeSet.Resolver
          A resolver that can resolve a class by name.
static class TypeSet.VoidResolver
          Resolver that resolves the "void" type.
 
Constructor Summary
TypeSet()
          The TypeSet provides type resolution for the symbol facade.
TypeSet(ClassLoader classLoader)
          The TypeSet provides type resolution for the symbol facade.
 
Method Summary
 void addImport(String importString)
          Adds a import to the list of imports
 Class<?> findClass(String name)
          Resolves a class by its name using all known resolvers.
 String getASTCompilationUnitPackage()
           
 Set<String> getExplicitImports()
           
 int getImportsCount()
           
 boolean hasAuxclasspath()
          Whether the classloader is using the auxclasspath or not.
 void setASTCompilationUnitPackage(String pkg)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

TypeSet

public TypeSet()
The TypeSet provides type resolution for the symbol facade.


TypeSet

public TypeSet(ClassLoader classLoader)
The TypeSet provides type resolution for the symbol facade.

Parameters:
classLoader - the class loader to use to search classes (could be an auxiliary class path)
Method Detail

hasAuxclasspath

public boolean hasAuxclasspath()
Whether the classloader is using the auxclasspath or not.

Returns:
true if the classloader is using the auxclasspath feature

setASTCompilationUnitPackage

public void setASTCompilationUnitPackage(String pkg)

getASTCompilationUnitPackage

public String getASTCompilationUnitPackage()

addImport

public void addImport(String importString)
Adds a import to the list of imports

Parameters:
importString - the import to add

getImportsCount

public int getImportsCount()

getExplicitImports

public Set<String> getExplicitImports()

findClass

public Class<?> findClass(String name)
                   throws ClassNotFoundException
Resolves a class by its name using all known resolvers.

Parameters:
name - the name of the class, can be a simple name or a fully qualified name.
Returns:
the class
Throws:
ClassNotFoundException - if there is no such class


Copyright © 2002–2015 InfoEther. All rights reserved.