HEAD - 118789 (fix CCE)
diff --git a/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/JavaModelManager.java b/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/JavaModelManager.java
index e4dd8b6..1ac8a4a 100644
--- a/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/JavaModelManager.java
+++ b/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/JavaModelManager.java
@@ -2417,17 +2417,20 @@
Iterator packages = projectInfo.secondaryTypes.keySet().iterator();
while (packages.hasNext()) {
String packName = (String) packages.next();
- HashMap types = (HashMap) projectInfo.secondaryTypes.get(packName);
- Iterator names = types.keySet().iterator();
- while (names.hasNext()) {
- String typeName = (String) names.next();
- IType type = (IType) types.get(typeName);
- if (file.equals(type.getResource())) {
- types.remove(typeName);
- if (types.size() == 0) {
- projectInfo.secondaryTypes.remove(packName);
+ Object object = projectInfo.secondaryTypes.get(packName);
+ if (object instanceof HashMap) {
+ HashMap types = (HashMap) object;
+ Iterator names = types.keySet().iterator();
+ while (names.hasNext()) {
+ String typeName = (String) names.next();
+ IType type = (IType) types.get(typeName);
+ if (file.equals(type.getResource())) {
+ types.remove(typeName);
+ if (types.size() == 0) {
+ projectInfo.secondaryTypes.remove(packName);
+ }
+ return;
}
- return;
}
}
}