Bug 563030 - updated use of changed internal JDT API
Change-Id: I67056273395acae91b5deed45a7d676eddc85898
Signed-off-by: Andrey Loskutov <loskutov@gmx.de>
diff --git a/apitools/org.eclipse.pde.api.tools/META-INF/MANIFEST.MF b/apitools/org.eclipse.pde.api.tools/META-INF/MANIFEST.MF
index 0d6f394..1d2fa7f 100644
--- a/apitools/org.eclipse.pde.api.tools/META-INF/MANIFEST.MF
+++ b/apitools/org.eclipse.pde.api.tools/META-INF/MANIFEST.MF
@@ -7,7 +7,7 @@
Bundle-Localization: plugin
Require-Bundle: org.eclipse.core.runtime;bundle-version="[3.11.0,4.0.0)",
org.eclipse.pde.core;bundle-version="[3.3.102,4.0.0)",
- org.eclipse.jdt.core;bundle-version="[3.14.0,4.0.0)",
+ org.eclipse.jdt.core;bundle-version="[3.22.0,4.0.0)",
org.eclipse.jdt.launching;bundle-version="[3.6.100,4.0.0)",
org.eclipse.core.resources;bundle-version="[3.4.0,4.0.0)",
org.eclipse.text;bundle-version="[3.4.0,4.0.0)",
diff --git a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/builder/IncrementalApiBuilder.java b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/builder/IncrementalApiBuilder.java
index 0269584..753c8a8 100644
--- a/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/builder/IncrementalApiBuilder.java
+++ b/apitools/org.eclipse.pde.api.tools/src/org/eclipse/pde/api/tools/internal/builder/IncrementalApiBuilder.java
@@ -17,6 +17,7 @@
import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
+import java.util.Map.Entry;
import java.util.Set;
import org.eclipse.core.resources.IFile;
@@ -437,7 +438,7 @@
addInnerTypes(change.resource, change.changeKind);
} else {
// look up the source file
- String path = (String) state.typeLocators.get(change.typeName);
+ String path = state.typeLocators.get(change.typeName);
if (path != null) {
IResource member = this.builder.getProject().findMember(path);
if (member != null && member.getType() == IResource.FILE) {
@@ -502,24 +503,19 @@
if (internedSimpleNames.length < typenames.elementSize) {
internedSimpleNames = null;
}
- Object[] keyTable = state.getReferences().keyTable;
- Object[] valueTable = state.getReferences().valueTable;
- IFile file = null;
- String typeLocator = null;
- for (int i = 0; i < valueTable.length; i++) {
- typeLocator = (String) keyTable[i];
- if (typeLocator != null) {
- ReferenceCollection refs = (ReferenceCollection) valueTable[i];
- if (refs.includes(internedQualifiedNames, internedSimpleNames, null)) {
- file = project.getFile(typeLocator);
- if (file == null) {
- continue;
- }
- if (ApiPlugin.DEBUG_BUILDER) {
- System.out.println("ApiAnalysisBuilder: adding affected source file " + file.getName()); //$NON-NLS-1$
- }
- addDependentTypeToContext(file, kind);
+ Set<Entry<String, ReferenceCollection>> entrySet = state.getReferences().entrySet();
+ for (Entry<String, ReferenceCollection> entry : entrySet) {
+ String typeLocator = entry.getKey();
+ ReferenceCollection refs = entry.getValue();
+ if (refs.includes(internedQualifiedNames, internedSimpleNames, null)) {
+ IFile file = project.getFile(typeLocator);
+ if (file == null) {
+ continue;
}
+ if (ApiPlugin.DEBUG_BUILDER) {
+ System.out.println("ApiAnalysisBuilder: adding affected source file " + file.getName()); //$NON-NLS-1$
+ }
+ addDependentTypeToContext(file, kind);
}
}
}