HashMap allTypes= new HashMap();
IExtensionPoint point= Platform.getExtensionRegistry().getExtensionPoint(ResourcesPlugin.PI_RESOURCES, ResourcesPlugin.PT_MARKERS);
if (point != null) {
IExtension[] extensions = point.getExtensions();
for (int i= 0; i < extensions.length; i++) {
IExtension extension= extensions[i];
ArrayList types= new ArrayList();
IConfigurationElement[] configElements= extension.getConfigurationElements();
for (int j= 0; j < configElements.length; ++j) {
IConfigurationElement element= configElements[j];
if (element.getName().equalsIgnoreCase("super")) { //$NON-NLS-1$
String type = element.getAttribute("type"); //$NON-NLS-1$
if (type != null) {
types.add(type);
}
}
}
String[] superTypes= new String[types.size()];
types.toArray(superTypes);
allTypes.put(extension.getUniqueIdentifier(), superTypes);
}
}
return allTypes;
}