From b1afbfd7c7f4bcd606dee921ea196468e0e5a9e8 Mon Sep 17 00:00:00 2001 From: Alain Magloire Date: Tue, 29 Apr 2003 17:27:58 +0000 Subject: [PATCH] remove contentChanged() and only use elementChanged(). close() the openable when content changed. --- .../internal/core/model/DeltaProcessor.java | 36 ++++++++++++------- 1 file changed, 23 insertions(+), 13 deletions(-) diff --git a/core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/model/DeltaProcessor.java b/core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/model/DeltaProcessor.java index 44a5d3a40da..f62712e70a2 100644 --- a/core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/model/DeltaProcessor.java +++ b/core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/model/DeltaProcessor.java @@ -44,17 +44,6 @@ public class DeltaProcessor { // Hold on the element bein renamed. ICElement movedFromElement = null; - /** - * Generic processing for elements with changed contents: - */ - protected void contentChanged(ICElement element, IResourceDelta delta) { - fCurrentDelta.changed(element, ICElementDelta.F_CONTENT); - } - /** * Creates the create corresponding to this resource. * Returns null if none was found. @@ -206,8 +195,29 @@ public class DeltaProcessor { } } + /* + * Closes the given element, which removes it from the cache of open elements. + */ + private void close(Openable element) { + try { + element.close(); + } catch (CModelException e) { + // do nothing + } + } + + /** + * Generic processing for elements with changed contents: + */ protected void elementChanged(ICElement element, IResourceDelta delta) { - fCurrentDelta.changed(element, ICElementDelta.F_CONTENT); + if (element instanceof Openable) { + close((Openable)element); + } + fCurrentDelta.changed(element, ICElementDelta.F_CONTENT); } /** @@ -403,7 +413,7 @@ public class DeltaProcessor { if ((flags & IResourceDelta.CONTENT) != 0) { // content has changed if (element != null) { - contentChanged(element, delta); + elementChanged(element, delta); updateIndexAddResource(element, delta); } } else if (resource.getType() == IResource.PROJECT) {