public class AspectJElementHierarchy extends java.lang.Object implements IHierarchy
Modifier and Type | Field and Description |
---|---|
protected java.lang.String |
configFile |
protected IProgramElement |
root |
NO_STRUCTURE
Constructor and Description |
---|
AspectJElementHierarchy(AsmManager asm) |
Modifier and Type | Method and Description |
---|---|
void |
addToFileMap(java.lang.String key,
IProgramElement value) |
protected void |
cache(java.lang.String handle,
IProgramElement pe) |
IProgramElement |
findCloserMatchForLineNumber(IProgramElement node,
int lineno)
For a specified node, check if any of the children more accurately represent the specified line.
|
IProgramElement |
findElementForHandle(java.lang.String handle) |
IProgramElement |
findElementForHandleOrCreate(java.lang.String handle,
boolean create) |
IProgramElement |
findElementForLabel(IProgramElement parent,
IProgramElement.Kind kind,
java.lang.String label)
Returns the first match
|
IProgramElement |
findElementForOffSet(java.lang.String sourceFilePath,
int lineNumber,
int offSet) |
IProgramElement |
findElementForSignature(IProgramElement parent,
IProgramElement.Kind kind,
java.lang.String signature)
Returns the first match
|
IProgramElement |
findElementForSourceFile(java.lang.String sourceFile) |
IProgramElement |
findElementForSourceLine(ISourceLocation location)
TODO: discriminate columns
|
IProgramElement |
findElementForSourceLine(java.lang.String sourceFilePath,
int lineNumber)
Never returns null
|
IProgramElement |
findElementForType(java.lang.String packageName,
java.lang.String typeName)
Find the entry in the model that represents a particular type.
|
java.lang.Object |
findInFileMap(java.lang.Object key) |
java.util.List<IProgramElement> |
findMatchingPackages(java.lang.String packagename)
Look for any package nodes matching the specified package name.
|
IProgramElement |
findNodeForSourceFile(IProgramElement node,
java.lang.String sourcefilePath)
Discover the node representing a particular source file.
|
void |
flushFileMap() |
void |
flushHandleMap() |
void |
flushTypeMap() |
void |
forget(IProgramElement compilationUnitNode,
IProgramElement typeNode) |
java.lang.String |
getConfigFile() |
IProgramElement |
getElement(java.lang.String handle) |
java.util.Set<java.util.Map.Entry<java.lang.String,IProgramElement>> |
getFileMapEntrySet() |
IProgramElement |
getRoot() |
boolean |
isValid() |
boolean |
removeFromFileMap(java.lang.String canonicalFilePath) |
void |
setAsmManager(AsmManager asm) |
void |
setConfigFile(java.lang.String configFile) |
void |
setFileMap(java.util.HashMap<java.lang.String,IProgramElement> fileMap) |
void |
setRoot(IProgramElement root) |
java.lang.String |
toSummaryString() |
void |
updateHandleMap(java.util.Set<java.lang.String> deletedFiles) |
protected IProgramElement root
protected java.lang.String configFile
public AspectJElementHierarchy(AsmManager asm)
public IProgramElement getElement(java.lang.String handle)
getElement
in interface IHierarchy
public void setAsmManager(AsmManager asm)
public IProgramElement getRoot()
getRoot
in interface IHierarchy
public java.lang.String toSummaryString()
public void setRoot(IProgramElement root)
setRoot
in interface IHierarchy
public void addToFileMap(java.lang.String key, IProgramElement value)
addToFileMap
in interface IHierarchy
public boolean removeFromFileMap(java.lang.String canonicalFilePath)
removeFromFileMap
in interface IHierarchy
public void setFileMap(java.util.HashMap<java.lang.String,IProgramElement> fileMap)
setFileMap
in interface IHierarchy
public java.lang.Object findInFileMap(java.lang.Object key)
findInFileMap
in interface IHierarchy
public java.util.Set<java.util.Map.Entry<java.lang.String,IProgramElement>> getFileMapEntrySet()
getFileMapEntrySet
in interface IHierarchy
public boolean isValid()
isValid
in interface IHierarchy
public IProgramElement findElementForSignature(IProgramElement parent, IProgramElement.Kind kind, java.lang.String signature)
findElementForSignature
in interface IHierarchy
parent
- kind
- not nullpublic IProgramElement findElementForLabel(IProgramElement parent, IProgramElement.Kind kind, java.lang.String label)
IHierarchy
findElementForLabel
in interface IHierarchy
kind
- not nullpublic IProgramElement findElementForType(java.lang.String packageName, java.lang.String typeName)
findElementForType
in interface IHierarchy
packageName
- the package in which the type is declared or null for the default packagetypeName
- the name of the typepublic java.util.List<IProgramElement> findMatchingPackages(java.lang.String packagename)
packagename
- the packagename being searched forpublic IProgramElement findElementForSourceFile(java.lang.String sourceFile)
findElementForSourceFile
in interface IHierarchy
sourceFilePath
- modified to '/' delimited path for consistencypublic IProgramElement findElementForSourceLine(ISourceLocation location)
findElementForSourceLine
in interface IHierarchy
public IProgramElement findElementForSourceLine(java.lang.String sourceFilePath, int lineNumber)
findElementForSourceLine
in interface IHierarchy
sourceFilePath
- canonicalized path for consistencylineNumber
- if 0 or 1 the corresponding file node will be returnedpublic IProgramElement findNodeForSourceFile(IProgramElement node, java.lang.String sourcefilePath)
findNodeForSourceFile
in interface IHierarchy
node
- where in the model to start looking (usually the root on the initial call)sourcefilePath
- the source file being searched forpublic IProgramElement findElementForOffSet(java.lang.String sourceFilePath, int lineNumber, int offSet)
findElementForOffSet
in interface IHierarchy
public IProgramElement findCloserMatchForLineNumber(IProgramElement node, int lineno)
findCloserMatchForLineNumber
in interface IHierarchy
node
- where to start lookinglineno
- the line numberpublic java.lang.String getConfigFile()
getConfigFile
in interface IHierarchy
public void setConfigFile(java.lang.String configFile)
setConfigFile
in interface IHierarchy
public IProgramElement findElementForHandle(java.lang.String handle)
findElementForHandle
in interface IHierarchy
public IProgramElement findElementForHandleOrCreate(java.lang.String handle, boolean create)
findElementForHandleOrCreate
in interface IHierarchy
protected void cache(java.lang.String handle, IProgramElement pe)
public void flushTypeMap()
flushTypeMap
in interface IHierarchy
public void flushHandleMap()
flushHandleMap
in interface IHierarchy
public void flushFileMap()
public void forget(IProgramElement compilationUnitNode, IProgramElement typeNode)
public void updateHandleMap(java.util.Set<java.lang.String> deletedFiles)
updateHandleMap
in interface IHierarchy