// below to the AjState for a compilation and recover it if switching
// between projects.
protected IHierarchy hierarchy;
+
+ /* Map from String > String - it maps absolute paths for
+ * inpath dirs/jars to workspace relative paths suitable for handle inclusion */
+ protected Map inpathMap;
private IRelationshipMap mapper;
private IElementHandleProvider handleProvider;
private AsmManager() {
}
- public static AsmManager createNewStructureModel() {
+ public static AsmManager createNewStructureModel(Map inpathMap) {
if (forceSingletonBehaviour && lastActiveStructureModel != null) {
return lastActiveStructureModel;
}
AsmManager asm = new AsmManager();
+ asm.inpathMap = inpathMap;
asm.hierarchy = new AspectJElementHierarchy(asm);
asm.mapper = new RelationshipMap(asm.hierarchy);
asm.handleProvider = new JDTLikeHandleProvider(asm);
}
}
+ public String getHandleElementForInpath(String binaryPath) {
+ return (String)inpathMap.get(new File(binaryPath));
+ }
+
}