From a79753496813f5cbf133afe8f4206d5a5db01f4d Mon Sep 17 00:00:00 2001 From: Jonah Graham Date: Tue, 25 Apr 2017 12:08:22 +0100 Subject: [PATCH] Bug 515756: Allow extending classes to provide getFilterExtension This affects the synchronizer as it now should defer to the manager to get the filter extension, instead of trying to load it directly. Change-Id: I0e646f115ba089453c56f2cc356a4e0a99a1a3b7 Signed-off-by: Jonah Graham --- .../cdt/dsf/mi/service/MIBreakpointsSynchronizer.java | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/dsf-gdb/org.eclipse.cdt.dsf.gdb/src/org/eclipse/cdt/dsf/mi/service/MIBreakpointsSynchronizer.java b/dsf-gdb/org.eclipse.cdt.dsf.gdb/src/org/eclipse/cdt/dsf/mi/service/MIBreakpointsSynchronizer.java index 8aaa1b18b97..b5c7c4606fc 100644 --- a/dsf-gdb/org.eclipse.cdt.dsf.gdb/src/org/eclipse/cdt/dsf/mi/service/MIBreakpointsSynchronizer.java +++ b/dsf-gdb/org.eclipse.cdt.dsf.gdb/src/org/eclipse/cdt/dsf/mi/service/MIBreakpointsSynchronizer.java @@ -32,7 +32,6 @@ import org.eclipse.cdt.debug.core.CDIDebugModel; import org.eclipse.cdt.debug.core.breakpointactions.BreakpointActionManager; import org.eclipse.cdt.debug.core.model.ICAddressBreakpoint; import org.eclipse.cdt.debug.core.model.ICBreakpoint; -import org.eclipse.cdt.debug.core.model.ICBreakpointExtension; import org.eclipse.cdt.debug.core.model.ICBreakpointType; import org.eclipse.cdt.debug.core.model.ICDynamicPrintf; import org.eclipse.cdt.debug.core.model.ICFunctionBreakpoint; @@ -335,9 +334,7 @@ public class MIBreakpointsSynchronizer extends AbstractDsfService implements IMI try { String threadId = data.getThreadId(); if (!threadId.equals("0")) { //$NON-NLS-1$ - IDsfBreakpointExtension bpExtension = - (IDsfBreakpointExtension)((ICBreakpoint)plBpt).getExtension( - MIBreakpointsManager.GDB_DEBUG_MODEL_ID, ICBreakpointExtension.class); + IDsfBreakpointExtension bpExtension = fBreakpointsManager.getFilterExtension((ICBreakpoint)plBpt); IMIProcesses processes = getServicesTracker().getService(IMIProcesses.class); if (processes == null) { @@ -506,8 +503,8 @@ public class MIBreakpointsSynchronizer extends AbstractDsfService implements IMI if (procDmc == null) { return; } - IDsfBreakpointExtension bpExtension = (IDsfBreakpointExtension)plBpt.getExtension( - MIBreakpointsManager.GDB_DEBUG_MODEL_ID, ICBreakpointExtension.class); + IDsfBreakpointExtension bpExtension = fBreakpointsManager.getFilterExtension(plBpt); + IExecutionDMContext[] execDMCs = bpExtension.getThreadFilters(contDMC); if (execDMCs == null) { execDMCs = new IExecutionDMContext[0];