From 57950488d947dcdca19ae6908e7b55888134d649 Mon Sep 17 00:00:00 2001 From: Doug Schaefer Date: Wed, 7 Jun 2006 18:49:33 +0000 Subject: Bug 145415 - Make sure we remove the symbols when files are indexed again. --- .../cdt/internal/core/pdom/indexer/full/PDOMFullHandleDelta.java | 2 +- .../cdt/internal/core/pdom/indexer/full/PDOMFullIndexerJob.java | 9 +++++++++ 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/indexer/full/PDOMFullHandleDelta.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/indexer/full/PDOMFullHandleDelta.java index 9e5ff642a3c..33bca5e6281 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/indexer/full/PDOMFullHandleDelta.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/indexer/full/PDOMFullHandleDelta.java @@ -186,7 +186,7 @@ public class PDOMFullHandleDelta extends PDOMFullIndexerJob { IASTPreprocessorIncludeStatement[] includes = ast.getIncludeDirectives(); for (int i = 0; i < includes.length; ++i) { - String incname = includes[i].getFileLocation().getFileName(); + String incname = includes[i].getPath(); PDOMFile incfile = pdom.getFile(incname); if (incfile != null) incfile.clear(); diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/indexer/full/PDOMFullIndexerJob.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/indexer/full/PDOMFullIndexerJob.java index a8463a0f26e..f0eb7303b90 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/indexer/full/PDOMFullIndexerJob.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/indexer/full/PDOMFullIndexerJob.java @@ -65,6 +65,15 @@ public abstract class PDOMFullIndexerJob implements IPDOMIndexerTask { pdom.acquireWriteLock(); try { + // First clear out the symbols in the includes + IASTPreprocessorIncludeStatement[] includes = ast.getIncludeDirectives(); + for (int i = 0; i < includes.length; ++i) { + String incname = includes[i].getPath(); + PDOMFile incfile = pdom.getFile(incname); + if (incfile != null) + incfile.clear(); + } + addSymbols(tu.getLanguage(), ast); } finally { pdom.releaseWriteLock(); -- cgit v1.2.3