diff options
author | Vikas Chandra | 2019-07-31 14:47:58 +0000 |
---|---|---|
committer | Andrey Loskutov | 2019-08-02 14:57:14 +0000 |
commit | 095b5787967ccad7c707d3305ad018e425341ead (patch) | |
tree | 936e37212806acf63013d03e2b457dba22896bc8 | |
parent | bcfa2613e12f8ccca43adb676973ae8c83049fe7 (diff) | |
download | eclipse.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.java | 30 |
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); } |