Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVikas Chandra2019-07-31 14:47:58 +0000
committerAndrey Loskutov2019-08-02 14:57:14 +0000
commit095b5787967ccad7c707d3305ad018e425341ead (patch)
tree936e37212806acf63013d03e2b457dba22896bc8
parentbcfa2613e12f8ccca43adb676973ae8c83049fe7 (diff)
downloadeclipse.jdt.core-095b5787967ccad7c707d3305ad018e425341ead.tar.gz
eclipse.jdt.core-095b5787967ccad7c707d3305ad018e425341ead.tar.xz
eclipse.jdt.core-095b5787967ccad7c707d3305ad018e425341ead.zip
Bug 549457 - optimize delta search for single settings pathI20190802-1800
Change-Id: I8cff594cd98e6f3fa59f42881a3726a36e3e532f Signed-off-by: Vikas Chandra <Vikas.Chandra@in.ibm.com> Signed-off-by: Andrey Loskutov <loskutov@gmx.de>
-rw-r--r--org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/builder/JavaBuilder.java30
1 files changed, 1 insertions, 29 deletions
diff --git a/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/builder/JavaBuilder.java b/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/builder/JavaBuilder.java
index f6a67cf324..df5369f1bb 100644
--- a/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/builder/JavaBuilder.java
+++ b/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/builder/JavaBuilder.java
@@ -514,39 +514,11 @@ boolean hasBuildpathErrors() throws CoreException {
private boolean hasJdtCoreSettingsChange(SimpleLookupTable deltas) {
Object resourceDelta = deltas.get(this.currentProject);
if (resourceDelta instanceof IResourceDelta) {
- IResourceDelta delta = (IResourceDelta) resourceDelta;
- class CheckForJdtCoreSettingsFileChange implements IResourceDeltaVisitor {
-
- boolean hasJdtCoreSettingsChange = false;
-
- @Override
- public boolean visit(IResourceDelta childDelta) throws CoreException {
- IResource resource = childDelta.getResource();
- boolean isJdtCoreSettingsResource = isJdtCoreSettingsResource(resource);
- if (isJdtCoreSettingsResource) {
- this.hasJdtCoreSettingsChange = true;
- return false; // stop visiting, the JDT core settings file changed
- }
- return true;
- }
- }
- try {
- CheckForJdtCoreSettingsFileChange visitor = new CheckForJdtCoreSettingsFileChange();
- delta.accept(visitor);
- return visitor.hasJdtCoreSettingsChange;
- } catch (CoreException e) {
- Util.log(e, "Failed to check whether deltas contain JDT preference changes"); //$NON-NLS-1$
- }
+ return ((IResourceDelta) resourceDelta).findMember(JDT_CORE_SETTINGS_PATH) != null;
}
return false;
}
-static boolean isJdtCoreSettingsResource(IResource resource) {
- IPath resourcePath = resource.getProjectRelativePath();
- boolean isJdtCoreSettingsResource = JDT_CORE_SETTINGS_PATH.equals(resourcePath);
- return isJdtCoreSettingsResource;
-}
-
private boolean hasClasspathChanged() {
return hasClasspathChanged(CompilationGroup.MAIN) || hasClasspathChanged(CompilationGroup.TEST);
}

Back to the top