org.aspectj.org.eclipse.jdt.internal.core.hierarchy
Class IndexBasedHierarchyBuilder

java.lang.Object
  extended by org.aspectj.org.eclipse.jdt.internal.core.hierarchy.HierarchyBuilder
      extended by org.aspectj.org.eclipse.jdt.internal.core.hierarchy.IndexBasedHierarchyBuilder
All Implemented Interfaces:
SuffixConstants

public class IndexBasedHierarchyBuilder
extends HierarchyBuilder
implements SuffixConstants


Field Summary
protected  java.util.Map binariesFromIndexMatches
          Cache used to record binaries recreated from index matches
protected  java.util.Map cuToHandle
          A temporary cache of compilation units to handles to speed info to handle translation - it only contains the entries for the types in the region (in other words, it contains no supertypes outside the region).
static int MAXTICKS
           
protected  IJavaSearchScope scope
          The scope this hierarchy builder should restrain results to.
 
Fields inherited from class org.aspectj.org.eclipse.jdt.internal.core.hierarchy.HierarchyBuilder
focusQualifiedName, hierarchy, hierarchyResolver, infoToHandle, nameLookup
 
Fields inherited from interface org.aspectj.org.eclipse.jdt.internal.compiler.util.SuffixConstants
EXTENSION_aj, EXTENSION_AJ, EXTENSION_class, EXTENSION_CLASS, EXTENSION_java, EXTENSION_JAVA, SUFFIX_aj, SUFFIX_AJ, SUFFIX_class, SUFFIX_CLASS, SUFFIX_java, SUFFIX_JAVA, SUFFIX_STRING_aj, SUFFIX_STRING_AJ, SUFFIX_STRING_class, SUFFIX_STRING_CLASS, SUFFIX_STRING_java, SUFFIX_STRING_JAVA
 
Constructor Summary
IndexBasedHierarchyBuilder(TypeHierarchy hierarchy, IJavaSearchScope scope)
           
 
Method Summary
 void build(boolean computeSubtypes)
           
protected  ICompilationUnit createCompilationUnitFromPath(Openable handle, IFile file)
          Create an ICompilationUnit info from the given compilation unit on disk.
protected  IBinaryType createInfoFromClassFile(Openable classFile, IResource file)
          Creates the type info from the given class file on disk and adds it to the given list of infos.
protected  IBinaryType createInfoFromClassFileInJar(Openable classFile)
          Create a type info from the given class file in a jar and adds it to the given list of infos.
static void searchAllPossibleSubTypes(IType type, IJavaSearchScope scope, java.util.Map binariesFromIndexMatches, IPathRequestor pathRequestor, int waitingPolicy, IProgressMonitor progressMonitor)
          Find the set of candidate subtypes of a given type.
 
Methods inherited from class org.aspectj.org.eclipse.jdt.internal.core.hierarchy.HierarchyBuilder
buildSupertypes, connect, getHandle, getType, lookupBinaryHandle, worked
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

MAXTICKS

public static final int MAXTICKS
See Also:
Constant Field Values

cuToHandle

protected java.util.Map cuToHandle
A temporary cache of compilation units to handles to speed info to handle translation - it only contains the entries for the types in the region (in other words, it contains no supertypes outside the region).


scope

protected IJavaSearchScope scope
The scope this hierarchy builder should restrain results to.


binariesFromIndexMatches

protected java.util.Map binariesFromIndexMatches
Cache used to record binaries recreated from index matches

Constructor Detail

IndexBasedHierarchyBuilder

public IndexBasedHierarchyBuilder(TypeHierarchy hierarchy,
                                  IJavaSearchScope scope)
                           throws JavaModelException
Throws:
JavaModelException
Method Detail

build

public void build(boolean computeSubtypes)
Specified by:
build in class HierarchyBuilder

createCompilationUnitFromPath

protected ICompilationUnit createCompilationUnitFromPath(Openable handle,
                                                         IFile file)
Description copied from class: HierarchyBuilder
Create an ICompilationUnit info from the given compilation unit on disk.

Overrides:
createCompilationUnitFromPath in class HierarchyBuilder

createInfoFromClassFile

protected IBinaryType createInfoFromClassFile(Openable classFile,
                                              IResource file)
Description copied from class: HierarchyBuilder
Creates the type info from the given class file on disk and adds it to the given list of infos.

Overrides:
createInfoFromClassFile in class HierarchyBuilder

createInfoFromClassFileInJar

protected IBinaryType createInfoFromClassFileInJar(Openable classFile)
Description copied from class: HierarchyBuilder
Create a type info from the given class file in a jar and adds it to the given list of infos.

Overrides:
createInfoFromClassFileInJar in class HierarchyBuilder

searchAllPossibleSubTypes

public static void searchAllPossibleSubTypes(IType type,
                                             IJavaSearchScope scope,
                                             java.util.Map binariesFromIndexMatches,
                                             IPathRequestor pathRequestor,
                                             int waitingPolicy,
                                             IProgressMonitor progressMonitor)
Find the set of candidate subtypes of a given type. The requestor is notified of super type references (with actual path of its occurrence) for all types which are potentially involved inside a particular hierarchy. The match locator is not used here to narrow down the results, the type hierarchy resolver is rather used to compute the whole hierarchy at once.

Parameters:
type -
scope -
binariesFromIndexMatches -
pathRequestor -
waitingPolicy -
progressMonitor -