List of usage examples for org.eclipse.jdt.core ITypeHierarchy addTypeHierarchyChangedListener
void addTypeHierarchyChangedListener(ITypeHierarchyChangedListener listener);
From source file:com.google.gdt.eclipse.core.TypeHierarchyCache.java
License:Open Source License
public synchronized ITypeHierarchy getHierarchy(IType type) throws JavaModelException { // Return from the cache if available if (hierarchies.containsKey(type)) { return hierarchies.get(type); }/*from w w w . j a v a 2 s.c o m*/ // Create an auto-updating type hierarchy and cache it ITypeHierarchy hierarchy = type.newTypeHierarchy(null); hierarchy.addTypeHierarchyChangedListener(hierarchyUpdater); hierarchies.put(type, hierarchy); return hierarchy; }
From source file:org.hawkinssoftware.rns.analysis.compile.source.TypeHierarchyCache.java
License:Open Source License
public void put(String typename, ITypeHierarchy hierarchy) { modifiedHierarchies.remove(typename); ITypeHierarchy existing = hierarchiesByTypename.get(typename); if (existing != null) { existing.removeTypeHierarchyChangedListener(listener); }/*from w w w . j av a 2 s .c om*/ hierarchiesByTypename.put(typename, hierarchy); hierarchy.addTypeHierarchyChangedListener(listener); }
From source file:org.hawkinssoftware.rns.analysis.compile.source.TypeHierarchyCache.java
License:Open Source License
public ITypeHierarchy establishHierarchy(IType type) { try {/*from w ww . j a va2 s . c om*/ ITypeHierarchy hierarchy = get(type.getFullyQualifiedName()); if (hierarchy == null) { hierarchy = type.newTypeHierarchy(null); hierarchy.addTypeHierarchyChangedListener(listener); hierarchiesByTypename.put(type.getFullyQualifiedName(), hierarchy); } return hierarchy; } catch (CoreException e) { hierarchiesByTypename.remove(type.getFullyQualifiedName()); Log.out(Tag.CRITICAL, e, "Failed to generate the type hierarchy for type %s", type.getTypeQualifiedName()); return null; } }