|
From: David C. <dc...@us...> - 2005-11-20 13:15:53
|
Update of /cvsroot/rubyeclipse/org.rubypeople.rdt.core/src/org/rubypeople/rdt/internal/core In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv21742/src/org/rubypeople/rdt/internal/core Modified Files: SymbolIndexResourceChangeListener.java Log Message: Flush a project symbols from the SymbolIndex when closed or deleted. Index: SymbolIndexResourceChangeListener.java =================================================================== RCS file: /cvsroot/rubyeclipse/org.rubypeople.rdt.core/src/org/rubypeople/rdt/internal/core/SymbolIndexResourceChangeListener.java,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** SymbolIndexResourceChangeListener.java 13 Nov 2005 15:47:08 -0000 1.3 --- SymbolIndexResourceChangeListener.java 20 Nov 2005 13:15:45 -0000 1.4 *************** *** 30,33 **** --- 30,34 ---- public final class SymbolIndexResourceChangeListener implements IResourceChangeListener { private final MassIndexUpdater updater; + private final SymbolIndex symbolIndex; private final IJobScheduler scheduler; *************** *** 36,45 **** MassIndexUpdater massIndexUpdater = new MassIndexUpdater(indexUpdater); SymbolIndexResourceChangeListener listener ! = new SymbolIndexResourceChangeListener(massIndexUpdater, new EclipseJobScheduler()); ResourcesPlugin.getWorkspace().addResourceChangeListener(listener); } ! public SymbolIndexResourceChangeListener(MassIndexUpdater updater, IJobScheduler scheduler) { this.updater = updater; this.scheduler = scheduler; } --- 37,47 ---- MassIndexUpdater massIndexUpdater = new MassIndexUpdater(indexUpdater); SymbolIndexResourceChangeListener listener ! = new SymbolIndexResourceChangeListener(massIndexUpdater, symbolIndex, new EclipseJobScheduler()); ResourcesPlugin.getWorkspace().addResourceChangeListener(listener); } ! public SymbolIndexResourceChangeListener(MassIndexUpdater updater, SymbolIndex symbolIndex, IJobScheduler scheduler) { this.updater = updater; + this.symbolIndex = symbolIndex; this.scheduler = scheduler; } *************** *** 48,51 **** --- 50,56 ---- if (event.getType() == IResourceChangeEvent.POST_CHANGE) handlePostChangeEvent(event); + else if ( event.getType() == IResourceChangeEvent.PRE_CLOSE + || event.getType() == IResourceChangeEvent.PRE_DELETE) + symbolIndex.flush((IProject) event.getResource()); } |