From 802f7279babb04233e80135a1d3240079df65667 Mon Sep 17 00:00:00 2001 From: James Blackburn Date: Mon, 11 Jan 2010 23:02:52 +0000 Subject: [PATCH] Bug 247948 - Wrong source shown on hit breakpoint - remove FIXME code, and don't force find duplicates. --- .../CSourceLookupParticipant.java | 136 ------------------ 1 file changed, 136 deletions(-) diff --git a/debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/internal/core/sourcelookup/CSourceLookupParticipant.java b/debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/internal/core/sourcelookup/CSourceLookupParticipant.java index 94b9aa24d77..b005aff35bc 100644 --- a/debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/internal/core/sourcelookup/CSourceLookupParticipant.java +++ b/debug/org.eclipse.cdt.debug.core/src/org/eclipse/cdt/debug/internal/core/sourcelookup/CSourceLookupParticipant.java @@ -26,16 +26,10 @@ import org.eclipse.cdt.debug.internal.core.ListenerList; import org.eclipse.core.resources.IResource; import org.eclipse.core.runtime.CoreException; import org.eclipse.core.runtime.IAdaptable; -import org.eclipse.debug.core.ILaunchConfiguration; import org.eclipse.debug.core.model.IBreakpoint; import org.eclipse.debug.core.model.IDebugElement; -import org.eclipse.debug.core.model.IStackFrame; import org.eclipse.debug.core.sourcelookup.AbstractSourceLookupParticipant; -import org.eclipse.debug.core.sourcelookup.ISourceContainer; -import org.eclipse.debug.core.sourcelookup.ISourceContainerType; import org.eclipse.debug.core.sourcelookup.ISourceLookupDirector; -import org.eclipse.debug.core.sourcelookup.ISourceLookupParticipant; -import org.eclipse.debug.core.sourcelookup.ISourcePathComputer; /** * A source lookup participant that searches for C/C++ source code. @@ -80,10 +74,6 @@ public class CSourceLookupParticipant extends AbstractSourceLookupParticipant { @Override public Object[] findSourceElements( Object object ) throws CoreException { - // Workaround for BUG247977 - // FIXME: Remove having switched to 3.5 platform - initContainersSourceDirector(); - // Workaround for cases when the stack frame doesn't contain the source file name String name = null; IBreakpoint breakpoint = null; @@ -140,23 +130,9 @@ public class CSourceLookupParticipant extends AbstractSourceLookupParticipant { } } - // FIXME: remove when BUG247977 is fixed - endContainersSourceDirector(); - return foundElements; } - /** - * Override default. We want all the source elements we can get from the source containers - * so we can select the 'correct' element on the user's behalf. - * {@link https://bugs.eclipse.org/bugs/show_bug.cgi?id=247948} - * @see CSourceLookupParticipant#findSourceElements(Object) - */ - @Override - public boolean isFindDuplicates() { - return true; - } - /* (non-Javadoc) * @see org.eclipse.debug.core.sourcelookup.AbstractSourceLookupParticipant#dispose() */ @@ -185,116 +161,4 @@ public class CSourceLookupParticipant extends AbstractSourceLookupParticipant { super.sourceContainersChanged( director ); } - /** - * FIXME: Workaround for BUG247977 - * Remove before 3.5 - * Remove when ISourceLocator.isFindDuplicates() queries the source lookup participant - * instead of the ISourceLookupDirector - */ - private ISourceContainer[] containers; - private void initContainersSourceDirector() { - ISourceLookupDirector dummySourceDirector = new ISourceLookupDirector() { - - public void addParticipants(ISourceLookupParticipant[] participants) { - getDirector().addParticipants(participants); - } - - public void clearSourceElements(Object element) { - getDirector().clearSourceElements(element); - } - - public Object[] findSourceElements(Object object) throws CoreException { - return getDirector().findSourceElements(object); - } - - public String getId() { - return getDirector().getId(); - } - - public ILaunchConfiguration getLaunchConfiguration() { - return getDirector().getLaunchConfiguration(); - } - - public ISourceLookupParticipant[] getParticipants() { - return getDirector().getParticipants(); - } - - public ISourceContainer[] getSourceContainers() { - return getDirector().getSourceContainers(); - } - - public Object getSourceElement(Object element) { - return getDirector().getSourceElement(element); - } - - public ISourcePathComputer getSourcePathComputer() { - return getDirector().getSourcePathComputer(); - } - - public void initializeParticipants() { - getDirector().initializeParticipants(); - } - - public boolean isFindDuplicates() { - return CSourceLookupParticipant.this.isFindDuplicates(); - } - - public void removeParticipants(ISourceLookupParticipant[] participants) { - getDirector().removeParticipants(participants); - } - - public void setFindDuplicates(boolean findDuplicates) { - getDirector().setFindDuplicates(findDuplicates); - } - - public void setSourceContainers(ISourceContainer[] containers) { - getDirector().setSourceContainers(containers); - } - - public void setSourcePathComputer(ISourcePathComputer computer) { - getDirector().setSourcePathComputer(computer); - } - - public boolean supportsSourceContainerType(ISourceContainerType type) { - return getDirector().supportsSourceContainerType(type); - } - - public void dispose() { - getDirector().dispose(); - } - - public void initializeFromMemento(String memento, ILaunchConfiguration configuration) throws CoreException { - getDirector().initializeFromMemento(memento, configuration); - } - - public String getMemento() throws CoreException { - return getDirector().getMemento(); - } - - public void initializeDefaults(ILaunchConfiguration configuration) throws CoreException { - getDirector().initializeDefaults(configuration); - } - - public void initializeFromMemento(String memento) throws CoreException { - getDirector().initializeFromMemento(memento); - } - - public Object getSourceElement(IStackFrame stackFrame) { - return getDirector().getSourceElement(stackFrame); - } - - }; - containers = getSourceContainers(); - for (ISourceContainer cont : containers) - cont.init(dummySourceDirector); - } - - private void endContainersSourceDirector() { - if (containers != null) - { - for (ISourceContainer cont : containers) - cont.init(getDirector()); - } - containers = null; - } }