diff options
Diffstat (limited to 'dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse')
14 files changed, 294 insertions, 541 deletions
diff --git a/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/internal/ui/EvaluationContextManager.java b/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/internal/ui/EvaluationContextManager.java index 6b84831d599..7020ccd690c 100644 --- a/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/internal/ui/EvaluationContextManager.java +++ b/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/internal/ui/EvaluationContextManager.java @@ -52,24 +52,20 @@ public class EvaluationContextManager implements IWindowListener, IDebugContextL } public static void startup() { - Runnable r = new Runnable() { - - @Override - public void run() { - if (fgManager == null) { - // FindBugs reported that it is unsafe to set s_resources - // before we finish to initialize the object, because of - // multi-threading. This is why we use a temporary variable. - EvaluationContextManager manager = new EvaluationContextManager(); - IWorkbench workbench = PlatformUI.getWorkbench(); - IWorkbenchWindow[] windows = workbench.getWorkbenchWindows(); - for (int i = 0; i < windows.length; i++) { - manager.windowOpened(windows[i]); - } - workbench.addWindowListener(manager); - - fgManager = manager; + Runnable r = () -> { + if (fgManager == null) { + // FindBugs reported that it is unsafe to set s_resources + // before we finish to initialize the object, because of + // multi-threading. This is why we use a temporary variable. + EvaluationContextManager manager = new EvaluationContextManager(); + IWorkbench workbench = PlatformUI.getWorkbench(); + IWorkbenchWindow[] windows = workbench.getWorkbenchWindows(); + for (int i = 0; i < windows.length; i++) { + manager.windowOpened(windows[i]); } + workbench.addWindowListener(manager); + + fgManager = manager; } }; Display display = Display.getCurrent(); diff --git a/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/internal/ui/ExpressionInformationControlCreator.java b/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/internal/ui/ExpressionInformationControlCreator.java index 76477e9124c..bed7e8d6ce7 100644 --- a/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/internal/ui/ExpressionInformationControlCreator.java +++ b/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/internal/ui/ExpressionInformationControlCreator.java @@ -400,18 +400,15 @@ public class ExpressionInformationControlCreator implements IInformationControlC fViewerUpdateListener = new IViewerUpdateListener() { @Override public void viewerUpdatesComplete() { - fViewer.getDisplay().timerExec(100, new Runnable() { - @Override - public void run() { - if (!fViewer.getTree().isDisposed()) { - TreeSelection selection = (TreeSelection) fViewer.getSelection(); - if (selection.isEmpty()) { - selection = new TreeSelection(fViewer.getTopElementPath()); - } - fViewer.setSelection(selection); - if (fDetailPane != null) { - fDetailPane.display(selection); - } + fViewer.getDisplay().timerExec(100, () -> { + if (!fViewer.getTree().isDisposed()) { + TreeSelection selection = (TreeSelection) fViewer.getSelection(); + if (selection.isEmpty()) { + selection = new TreeSelection(fViewer.getTopElementPath()); + } + fViewer.setSelection(selection); + if (fDetailPane != null) { + fDetailPane.display(selection); } } }); diff --git a/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/internal/ui/actions/AbstractDsfRegisterGroupActions.java b/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/internal/ui/actions/AbstractDsfRegisterGroupActions.java index ed1db18251c..7ed3bb22309 100644 --- a/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/internal/ui/actions/AbstractDsfRegisterGroupActions.java +++ b/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/internal/ui/actions/AbstractDsfRegisterGroupActions.java @@ -963,14 +963,11 @@ public abstract class AbstractDsfRegisterGroupActions extends AbstractHandler { private void notifyUser(final String message) { - Runnable runnable = new Runnable() { - @Override - public void run() { - Shell parent = DsfUIPlugin.getActiveWorkbenchShell(); - if (parent != null) { - MessageDialog.openInformation(parent, Messages.Information, - Messages.RegisterGroupInfo + ": " + message); //$NON-NLS-1$ - } + Runnable runnable = () -> { + Shell parent = DsfUIPlugin.getActiveWorkbenchShell(); + if (parent != null) { + MessageDialog.openInformation(parent, Messages.Information, + Messages.RegisterGroupInfo + ": " + message); //$NON-NLS-1$ } }; diff --git a/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/internal/ui/disassembly/DisassemblyBackendDsf.java b/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/internal/ui/disassembly/DisassemblyBackendDsf.java index 7285b32e2a3..c01adeaefee 100644 --- a/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/internal/ui/disassembly/DisassemblyBackendDsf.java +++ b/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/internal/ui/disassembly/DisassemblyBackendDsf.java @@ -353,12 +353,7 @@ public class DisassemblyBackendDsf extends AbstractDisassemblyBackend implements if (canDisassemble()) { final BigInteger address = getLastKnownAddress(); if (address != null && !UNKNOWN_ADDRESS.equals(address)) { - fCallback.asyncExec(new Runnable() { - @Override - public void run() { - fCallback.updatePC(address); - } - }); + fCallback.asyncExec(() -> fCallback.updatePC(address)); } } } @@ -387,17 +382,14 @@ public class DisassemblyBackendDsf extends AbstractDisassemblyBackend implements if (DEBUG) System.out .println("retrieveFrameAddress done " + DisassemblyUtils.getAddressText(addressValue)); //$NON-NLS-1$ - fCallback.asyncExec(new Runnable() { - @Override - public void run() { - if (address.getSize() * 8 != fCallback.getAddressSize()) { - fCallback.addressSizeChanged(address.getSize() * 8); - } - if (frame == 0) { - fCallback.updatePC(addressValue); - } else { - fCallback.gotoFrame(frame, addressValue); - } + fCallback.asyncExec(() -> { + if (address.getSize() * 8 != fCallback.getAddressSize()) { + fCallback.addressSizeChanged(address.getSize() * 8); + } + if (frame == 0) { + fCallback.updatePC(addressValue); + } else { + fCallback.gotoFrame(frame, addressValue); } }); } else { @@ -474,12 +466,7 @@ public class DisassemblyBackendDsf extends AbstractDisassemblyBackend implements } final IExecutionDMContext context = event.getDMContext(); if (context.equals(fTargetContext) || DMContexts.isAncestorOf(fTargetContext, context)) { - fCallback.asyncExec(new Runnable() { - @Override - public void run() { - fCallback.handleTargetEnded(); - } - }); + fCallback.asyncExec(() -> fCallback.handleTargetEnded()); } } @@ -571,152 +558,98 @@ public class DisassemblyBackendDsf extends AbstractDisassemblyBackend implements final IDisassemblyDMContext context = DMContexts.getAncestorOfType(fTargetContext, IDisassemblyDMContext.class); // align the start address first (bug 328168) - executor.execute(new Runnable() { - @Override - public void run() { - alignOpCodeAddress(startAddress, new DataRequestMonitor<BigInteger>(executor, null) { + executor.execute(() -> alignOpCodeAddress(startAddress, new DataRequestMonitor<BigInteger>(executor, null) { - @Override - public void handleCompleted() { - final BigInteger finalStartAddress = getData(); - if (mixed) { - final DataRequestMonitor<IMixedInstruction[]> disassemblyRequest = new DataRequestMonitor<IMixedInstruction[]>( - executor, null) { - @Override - public void handleCompleted() { - final IMixedInstruction[] data = getData(); - if (!isCanceled() && data != null) { - fCallback.asyncExec(new Runnable() { - @Override - public void run() { - if (!insertDisassembly(finalStartAddress, finalEndAddress, data, - showSymbols, showDisassembly)) { - // retry in non-mixed mode - fCallback.retrieveDisassembly(finalStartAddress, finalEndAddress, - linesHint, false, true); - } - } - }); - } else { - final IStatus status = getStatus(); - if (status != null && !status.isOK()) { - if (file != null) { - fCallback.asyncExec(new Runnable() { - @Override - public void run() { - fCallback.retrieveDisassembly(finalStartAddress, - finalEndAddress, linesHint, true, true); - } - }); - } else { - fCallback.asyncExec(new Runnable() { - @Override - public void run() { - fCallback.doScrollLocked(new Runnable() { - @Override - public void run() { - fCallback.insertError(finalStartAddress, - status.getMessage()); - } - }); - } - }); - } - } - fCallback.setUpdatePending(false); - } - } - }; - if (file != null) { - executor.execute(new Runnable() { - @Override - public void run() { - final IDisassembly disassembly = fServicesTracker - .getService(IDisassembly.class); - if (disassembly == null) { - disassemblyRequest.cancel(); - disassemblyRequest.done(); - return; - } - disassembly.getMixedInstructions(context, file, lineNumber, lines * 2, - disassemblyRequest); + @Override + public void handleCompleted() { + final BigInteger finalStartAddress = getData(); + if (mixed) { + final DataRequestMonitor<IMixedInstruction[]> disassemblyRequest = new DataRequestMonitor<IMixedInstruction[]>( + executor, null) { + @Override + public void handleCompleted() { + final IMixedInstruction[] data = getData(); + if (!isCanceled() && data != null) { + fCallback.asyncExec(() -> { + if (!insertDisassembly(finalStartAddress, finalEndAddress, data, showSymbols, + showDisassembly)) { + // retry in non-mixed mode + fCallback.retrieveDisassembly(finalStartAddress, finalEndAddress, linesHint, + false, true); } }); } else { - executor.execute(new Runnable() { - @Override - public void run() { - final IDisassembly disassembly = fServicesTracker - .getService(IDisassembly.class); - if (disassembly == null) { - disassemblyRequest.cancel(); - disassemblyRequest.done(); - return; - } - disassembly.getMixedInstructions(context, finalStartAddress, finalEndAddress, - disassemblyRequest); - } - }); - } - } else { - final DataRequestMonitor<IInstruction[]> disassemblyRequest = new DataRequestMonitor<IInstruction[]>( - executor, null) { - @Override - public void handleCompleted() { - if (!isCanceled() && getData() != null) { - fCallback.asyncExec(new Runnable() { - @Override - public void run() { - if (!insertDisassembly(finalStartAddress, finalEndAddress, getData(), - showSymbols, showDisassembly)) { - fCallback.doScrollLocked(new Runnable() { - @Override - public void run() { - fCallback.insertError(finalStartAddress, - DisassemblyMessages.DisassemblyBackendDsf_error_UnableToRetrieveData); - } - }); - } - } - }); + final IStatus status = getStatus(); + if (status != null && !status.isOK()) { + if (file != null) { + fCallback.asyncExec(() -> fCallback.retrieveDisassembly(finalStartAddress, + finalEndAddress, linesHint, true, true)); } else { - final IStatus status = getStatus(); - if (status != null && !status.isOK()) { - fCallback.asyncExec(new Runnable() { - @Override - public void run() { - fCallback.doScrollLocked(new Runnable() { - @Override - public void run() { - fCallback.insertError(finalStartAddress, - status.getMessage()); - } - }); - } - }); - } - fCallback.setUpdatePending(false); + fCallback.asyncExec(() -> fCallback.doScrollLocked( + () -> fCallback.insertError(finalStartAddress, status.getMessage()))); } } - }; - executor.execute(new Runnable() { - @Override - public void run() { - final IDisassembly disassembly = fServicesTracker.getService(IDisassembly.class); - if (disassembly == null) { - disassemblyRequest.cancel(); - disassemblyRequest.done(); - return; + fCallback.setUpdatePending(false); + } + } + }; + if (file != null) { + executor.execute(() -> { + final IDisassembly disassembly = fServicesTracker.getService(IDisassembly.class); + if (disassembly == null) { + disassemblyRequest.cancel(); + disassemblyRequest.done(); + return; + } + disassembly.getMixedInstructions(context, file, lineNumber, lines * 2, disassemblyRequest); + }); + } else { + executor.execute(() -> { + final IDisassembly disassembly = fServicesTracker.getService(IDisassembly.class); + if (disassembly == null) { + disassemblyRequest.cancel(); + disassemblyRequest.done(); + return; + } + disassembly.getMixedInstructions(context, finalStartAddress, finalEndAddress, + disassemblyRequest); + }); + } + } else { + final DataRequestMonitor<IInstruction[]> disassemblyRequest = new DataRequestMonitor<IInstruction[]>( + executor, null) { + @Override + public void handleCompleted() { + if (!isCanceled() && getData() != null) { + fCallback.asyncExec(() -> { + if (!insertDisassembly(finalStartAddress, finalEndAddress, getData(), showSymbols, + showDisassembly)) { + fCallback.doScrollLocked(() -> fCallback.insertError(finalStartAddress, + DisassemblyMessages.DisassemblyBackendDsf_error_UnableToRetrieveData)); } - disassembly.getInstructions(context, finalStartAddress, finalEndAddress, - disassemblyRequest); + }); + } else { + final IStatus status = getStatus(); + if (status != null && !status.isOK()) { + fCallback.asyncExec(() -> fCallback.doScrollLocked( + () -> fCallback.insertError(finalStartAddress, status.getMessage()))); } - }); + fCallback.setUpdatePending(false); + } } - } - }); + }; + executor.execute(() -> { + final IDisassembly disassembly = fServicesTracker.getService(IDisassembly.class); + if (disassembly == null) { + disassemblyRequest.cancel(); + disassemblyRequest.done(); + return; + } + disassembly.getInstructions(context, finalStartAddress, finalEndAddress, disassemblyRequest); + }); + } } - }); + })); } private boolean insertDisassembly(BigInteger startAddress, BigInteger endAddress, IInstruction[] instructions, @@ -1039,12 +972,7 @@ public class DisassemblyBackendDsf extends AbstractDisassemblyBackend implements protected void handleSuccess() { final BigInteger address = getData(); if (address != null) { - fCallback.asyncExec(new Runnable() { - @Override - public void run() { - fCallback.gotoAddress(address); - } - }); + fCallback.asyncExec(() -> fCallback.gotoAddress(address)); } } }); @@ -1090,12 +1018,7 @@ public class DisassemblyBackendDsf extends AbstractDisassemblyBackend implements final IAddress address = data.getAddress(); if (address != null && address != IExpressionDMLocation.INVALID_ADDRESS) { final BigInteger addressValue = address.getValue(); - fCallback.asyncExec(new Runnable() { - @Override - public void run() { - fCallback.gotoAddress(addressValue); - } - }); + fCallback.asyncExec(() -> fCallback.gotoAddress(addressValue)); rm.setData(addressValue); rm.done(); } else { @@ -1191,13 +1114,10 @@ public class DisassemblyBackendDsf extends AbstractDisassemblyBackend implements public void handleCompleted() { final IMixedInstruction[] data = getData(); if (!isCanceled() && data != null) { - fCallback.asyncExec(new Runnable() { - @Override - public void run() { - if (!insertDisassembly(null, endAddress, data, showSymbols, showDisassembly)) { - // retry in non-mixed mode - retrieveDisassembly(file, lines, endAddress, false, showSymbols, showDisassembly); - } + fCallback.asyncExec(() -> { + if (!insertDisassembly(null, endAddress, data, showSymbols, showDisassembly)) { + // retry in non-mixed mode + retrieveDisassembly(file, lines, endAddress, false, showSymbols, showDisassembly); } }); } else { @@ -1211,17 +1131,14 @@ public class DisassemblyBackendDsf extends AbstractDisassemblyBackend implements }; assert !fCallback.getUpdatePending(); fCallback.setUpdatePending(true); - executor.execute(new Runnable() { - @Override - public void run() { - final IDisassembly disassembly = fServicesTracker.getService(IDisassembly.class); - if (disassembly == null) { - disassemblyRequest.cancel(); - disassemblyRequest.done(); - return; - } - disassembly.getMixedInstructions(context, finalFile, 1, lines, disassemblyRequest); + executor.execute(() -> { + final IDisassembly disassembly = fServicesTracker.getService(IDisassembly.class); + if (disassembly == null) { + disassemblyRequest.cancel(); + disassemblyRequest.done(); + return; } + disassembly.getMixedInstructions(context, finalFile, 1, lines, disassemblyRequest); }); } diff --git a/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/internal/ui/disassembly/DisassemblyPart.java b/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/internal/ui/disassembly/DisassemblyPart.java index d23e0576b52..fd8393f60fd 100644 --- a/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/internal/ui/disassembly/DisassemblyPart.java +++ b/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/internal/ui/disassembly/DisassemblyPart.java @@ -136,12 +136,9 @@ import org.eclipse.jface.text.source.SourceViewerConfiguration; import org.eclipse.jface.util.IPropertyChangeListener; import org.eclipse.jface.util.PropertyChangeEvent; import org.eclipse.jface.util.SafeRunnable; -import org.eclipse.jface.viewers.ISelectionChangedListener; -import org.eclipse.jface.viewers.SelectionChangedEvent; import org.eclipse.swt.SWT; import org.eclipse.swt.custom.StyleRange; import org.eclipse.swt.custom.StyledText; -import org.eclipse.swt.custom.VerifyKeyListener; import org.eclipse.swt.dnd.DND; import org.eclipse.swt.dnd.DragSource; import org.eclipse.swt.dnd.DropTarget; @@ -150,7 +147,6 @@ import org.eclipse.swt.dnd.TextTransfer; import org.eclipse.swt.dnd.Transfer; import org.eclipse.swt.events.MouseAdapter; import org.eclipse.swt.events.MouseEvent; -import org.eclipse.swt.events.VerifyEvent; import org.eclipse.swt.graphics.Color; import org.eclipse.swt.graphics.Font; import org.eclipse.swt.graphics.FontData; @@ -580,12 +576,7 @@ public abstract class DisassemblyPart extends WorkbenchPart } else if (Control.class.equals(required)) { return fViewer != null ? (T) fViewer.getTextWidget() : null; } else if (IGotoMarker.class.equals(required)) { - return (T) new IGotoMarker() { - @Override - public void gotoMarker(IMarker marker) { - DisassemblyPart.this.gotoMarker(marker); - } - }; + return (T) (IGotoMarker) marker -> DisassemblyPart.this.gotoMarker(marker); } else if (IColumnSupport.class.equals(required)) { if (fColumnSupport == null) fColumnSupport = createColumnSupport(); @@ -780,25 +771,17 @@ public abstract class DisassemblyPart extends WorkbenchPart hookContextMenu(); contributeToActionBars(); - fViewer.getTextWidget().addVerifyKeyListener(new VerifyKeyListener() { - @Override - public void verifyKey(VerifyEvent event) { - switch (event.keyCode) { - case SWT.PAGE_UP: - case SWT.PAGE_DOWN: - case SWT.ARROW_UP: - case SWT.ARROW_DOWN: - event.doit = !keyScroll(event.keyCode); - } + fViewer.getTextWidget().addVerifyKeyListener(event -> { + switch (event.keyCode) { + case SWT.PAGE_UP: + case SWT.PAGE_DOWN: + case SWT.ARROW_UP: + case SWT.ARROW_DOWN: + event.doit = !keyScroll(event.keyCode); } }); - fViewer.addSelectionChangedListener(new ISelectionChangedListener() { - @Override - public void selectionChanged(SelectionChangedEvent event) { - updateSelectionDependentActions(); - } - }); + fViewer.addSelectionChangedListener(event -> updateSelectionDependentActions()); fErrorColor = EditorsUI.getSharedTextColors().getColor( PreferenceConverter.getColor(getPreferenceStore(), DisassemblyPreferenceConstants.ERROR_COLOR)); @@ -834,12 +817,9 @@ public abstract class DisassemblyPart extends WorkbenchPart protected void setSite(IWorkbenchPartSite site) { super.setSite(site); site.getPage().addPartListener(fPartListener); - fDebugContextListener = new IDebugContextListener() { - @Override - public void debugContextChanged(DebugContextEvent event) { - if ((event.getFlags() & DebugContextEvent.ACTIVATED) != 0) { - updateDebugContext(); - } + fDebugContextListener = event -> { + if ((event.getFlags() & DebugContextEvent.ACTIVATED) != 0) { + updateDebugContext(); } }; DebugUITools.addPartDebugContextListener(site, fDebugContextListener); @@ -1198,12 +1178,7 @@ public abstract class DisassemblyPart extends WorkbenchPart String id = "#DisassemblyPartContext"; //$NON-NLS-1$ MenuManager menuMgr = new MenuManager(id, id); menuMgr.setRemoveAllWhenShown(true); - menuMgr.addMenuListener(new IMenuListener() { - @Override - public void menuAboutToShow(IMenuManager manager) { - DisassemblyPart.this.fillContextMenu(manager); - } - }); + menuMgr.addMenuListener(manager -> DisassemblyPart.this.fillContextMenu(manager)); Menu menu = menuMgr.createContextMenu(fViewer.getTextWidget()); fViewer.getTextWidget().setMenu(menu); getSite().registerContextMenu(id, menuMgr, fViewer); @@ -1213,12 +1188,7 @@ public abstract class DisassemblyPart extends WorkbenchPart String id = "#DisassemblyPartRulerContext"; //$NON-NLS-1$ MenuManager menuMgr = new MenuManager(id, id); menuMgr.setRemoveAllWhenShown(true); - menuMgr.addMenuListener(new IMenuListener() { - @Override - public void menuAboutToShow(IMenuManager manager) { - DisassemblyPart.this.fillRulerContextMenu(manager); - } - }); + menuMgr.addMenuListener(manager -> DisassemblyPart.this.fillRulerContextMenu(manager)); Menu menu = menuMgr.createContextMenu(fVerticalRuler.getControl()); fVerticalRuler.getControl().setMenu(menu); getSite().registerContextMenu(id, menuMgr, fViewer); @@ -1442,13 +1412,10 @@ public abstract class DisassemblyPart extends WorkbenchPart assert isGuiThread(); if (address != null) { final BigInteger addr = address.getValue(); - startUpdate(new Runnable() { - @Override - public void run() { - fGotoFramePending = false; - fGotoAddressPending = PC_UNKNOWN; - gotoAddress(addr); - } + startUpdate(() -> { + fGotoFramePending = false; + fGotoAddressPending = PC_UNKNOWN; + gotoAddress(addr); }); } } @@ -1560,15 +1527,12 @@ public abstract class DisassemblyPart extends WorkbenchPart && !fRefreshViewPending && fFocusAddress != PC_UNKNOWN) { fUpdatePending = true; final int updateCount = fUpdateCount; - invokeLater(new Runnable() { - @Override - public void run() { - if (updateCount == fUpdateCount) { - assert fUpdatePending; - if (fUpdatePending) { - fUpdatePending = false; - updateVisibleArea(); - } + invokeLater(() -> { + if (updateCount == fUpdateCount) { + assert fUpdatePending; + if (fUpdatePending) { + fUpdatePending = false; + updateVisibleArea(); } } }); @@ -1767,13 +1731,10 @@ public abstract class DisassemblyPart extends WorkbenchPart if (fDebugSessionId == null) { return; } - startUpdate(new Runnable() { - @Override - public void run() { - if (DEBUG) - System.out.println("retrieveDisassembly " + file); //$NON-NLS-1$ - fBackend.retrieveDisassembly(file, lines, fEndAddress, mixed, fShowSymbols, fShowDisassembly); - } + startUpdate(() -> { + if (DEBUG) + System.out.println("retrieveDisassembly " + file); //$NON-NLS-1$ + fBackend.retrieveDisassembly(file, lines, fEndAddress, mixed, fShowSymbols, fShowDisassembly); }); } @@ -2002,12 +1963,7 @@ public abstract class DisassemblyPart extends WorkbenchPart prevBackend.dispose(); } if (needUpdate && fViewer != null) { - startUpdate(new Runnable() { - @Override - public void run() { - debugContextChanged(); - } - }); + startUpdate(() -> debugContextChanged()); } } @@ -2107,45 +2063,37 @@ public abstract class DisassemblyPart extends WorkbenchPart fRunnableQueue.clear(); fRefreshViewPending = true; final long refreshViewScheduled = System.currentTimeMillis() + delay; - final Runnable refresh = new Runnable() { - @Override - public void run() { - fRefreshViewPending = false; - long now = System.currentTimeMillis(); - if (now >= refreshViewScheduled) { - if (DEBUG) - System.err.println("*** refreshing view ***"); //$NON-NLS-1$ - - // save viewport position and frame info - BigInteger topAddress = getTopAddress(); - int targetFrame = fTargetFrame; - BigInteger frameAddress = fFrameAddress; - BigInteger pcAddress = fPCAddress; - - // clear viewer - resetViewer(); - if (fScrollPos != null) { - fScrollPos.isDeleted = true; - } - - // restore frame info and viewport - fPCAnnotationUpdatePending = true; - fTargetFrame = targetFrame; - fFrameAddress = frameAddress; - fPCAddress = pcAddress; - gotoAddress(topAddress); - } else { - refreshView((int) (refreshViewScheduled - now)); + final Runnable refresh = () -> { + fRefreshViewPending = false; + long now = System.currentTimeMillis(); + if (now >= refreshViewScheduled) { + if (DEBUG) + System.err.println("*** refreshing view ***"); //$NON-NLS-1$ + + // save viewport position and frame info + BigInteger topAddress = getTopAddress(); + int targetFrame = fTargetFrame; + BigInteger frameAddress = fFrameAddress; + BigInteger pcAddress = fPCAddress; + + // clear viewer + resetViewer(); + if (fScrollPos != null) { + fScrollPos.isDeleted = true; } + + // restore frame info and viewport + fPCAnnotationUpdatePending = true; + fTargetFrame = targetFrame; + fFrameAddress = frameAddress; + fPCAddress = pcAddress; + gotoAddress(topAddress); + } else { + refreshView((int) (refreshViewScheduled - now)); } }; if (delay > 0) { - invokeLater(delay, new Runnable() { - @Override - public void run() { - doScrollLocked(refresh); - } - }); + invokeLater(delay, () -> doScrollLocked(refresh)); } else { doScrollLocked(refresh); } @@ -2610,12 +2558,9 @@ public abstract class DisassemblyPart extends WorkbenchPart private void scheduleDoPending() { if (!fUpdatePending && !fDoPendingPosted) { fDoPendingPosted = true; - invokeLater(new Runnable() { - @Override - public void run() { - doPending(); - fDoPendingPosted = false; - } + invokeLater(() -> { + doPending(); + fDoPendingPosted = false; }); } } @@ -2678,12 +2623,9 @@ public abstract class DisassemblyPart extends WorkbenchPart final int updateCount = fUpdateCount; if (fUpdatePending) { if (fRunnableQueue.size() == 1) { - Runnable doitlater = new Runnable() { - @Override - public void run() { - if (updateCount == fUpdateCount) { - doScrollLocked(null); - } + Runnable doitlater = () -> { + if (updateCount == fUpdateCount) { + doScrollLocked(null); } }; invokeLater(doitlater); @@ -3113,12 +3055,9 @@ public abstract class DisassemblyPart extends WorkbenchPart */ @Override public void handleTargetSuspended() { - asyncExec(new Runnable() { - @Override - public void run() { - updatePC(PC_UNKNOWN); - firePropertyChange(PROP_SUSPENDED); - } + asyncExec(() -> { + updatePC(PC_UNKNOWN); + firePropertyChange(PROP_SUSPENDED); }); } @@ -3127,12 +3066,9 @@ public abstract class DisassemblyPart extends WorkbenchPart */ @Override public void handleTargetResumed() { - asyncExec(new Runnable() { - @Override - public void run() { - updatePC(PC_RUNNING); - firePropertyChange(PROP_SUSPENDED); - } + asyncExec(() -> { + updatePC(PC_RUNNING); + firePropertyChange(PROP_SUSPENDED); }); } @@ -3141,17 +3077,9 @@ public abstract class DisassemblyPart extends WorkbenchPart */ @Override public void handleTargetEnded() { - asyncExec(new Runnable() { - @Override - public void run() { - fDebugSessionId = null; - startUpdate(new Runnable() { - @Override - public void run() { - debugContextChanged(); - } - }); - } + asyncExec(() -> { + fDebugSessionId = null; + startUpdate(() -> debugContextChanged()); }); } diff --git a/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/internal/ui/disassembly/presentation/CSourcePresentationCreator.java b/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/internal/ui/disassembly/presentation/CSourcePresentationCreator.java index 5941fab3de1..f1ad10ab40f 100644 --- a/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/internal/ui/disassembly/presentation/CSourcePresentationCreator.java +++ b/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/internal/ui/disassembly/presentation/CSourcePresentationCreator.java @@ -266,12 +266,7 @@ public class CSourcePresentationCreator extends PresentationReconciler fDamagerRepairer = new SourceTagDamagerRepairer(scanner, fSourceTagProvider, colorManager, store); if (fSourceTagProvider != null) { if (fSourceTagListener == null) { - fSourceTagListener = new ISourceTagListener() { - @Override - public void sourceTagsChanged(ISourceTagProvider provider) { - handleSourceTagsChanged(); - } - }; + fSourceTagListener = provider -> handleSourceTagsChanged(); } fSourceTagProvider.addSourceTagListener(fSourceTagListener); } @@ -341,12 +336,9 @@ public class CSourcePresentationCreator extends PresentationReconciler if (fViewer != null) { Display display = fViewer.getTextWidget().getDisplay(); if (display.getThread() != Thread.currentThread()) { - display.asyncExec(new Runnable() { - @Override - public void run() { - if (fViewer != null) { - fViewer.invalidateTextPresentation(); - } + display.asyncExec(() -> { + if (fViewer != null) { + fViewer.invalidateTextPresentation(); } }); } else { diff --git a/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/internal/ui/disassembly/provisional/DisassemblyRulerColumn.java b/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/internal/ui/disassembly/provisional/DisassemblyRulerColumn.java index bcd5cf16451..35ca013667b 100644 --- a/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/internal/ui/disassembly/provisional/DisassemblyRulerColumn.java +++ b/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/internal/ui/disassembly/provisional/DisassemblyRulerColumn.java @@ -40,14 +40,10 @@ import org.eclipse.jface.viewers.SelectionChangedEvent; import org.eclipse.swt.SWT; import org.eclipse.swt.custom.StyleRange; import org.eclipse.swt.custom.StyledText; -import org.eclipse.swt.events.DisposeEvent; -import org.eclipse.swt.events.DisposeListener; import org.eclipse.swt.events.MouseEvent; import org.eclipse.swt.events.MouseListener; import org.eclipse.swt.events.MouseMoveListener; import org.eclipse.swt.events.MouseTrackListener; -import org.eclipse.swt.events.PaintEvent; -import org.eclipse.swt.events.PaintListener; import org.eclipse.swt.graphics.Color; import org.eclipse.swt.graphics.Font; import org.eclipse.swt.graphics.FontMetrics; @@ -393,14 +389,11 @@ public class DisassemblyRulerColumn extends AbstractContributedRulerColumn imple /** * Redraw runnable */ - private Runnable fRunnable = new Runnable() { - @Override - public void run() { - synchronized (fRunnableLock) { - fIsRunnablePosted = false; - } - redraw(); + private Runnable fRunnable = () -> { + synchronized (fRunnableLock) { + fIsRunnablePosted = false; } + redraw(); }; private boolean fAlignRight; private boolean fPaintStyleBackground; @@ -608,21 +601,15 @@ public class DisassemblyRulerColumn extends AbstractContributedRulerColumn imple fCanvas.setBackground(getBackground(fCanvas.getDisplay())); fCanvas.setForeground(fForeground); - fCanvas.addPaintListener(new PaintListener() { - @Override - public void paintControl(PaintEvent event) { - if (fCachedTextViewer != null) - doubleBufferPaint(event.gc); - } + fCanvas.addPaintListener(event -> { + if (fCachedTextViewer != null) + doubleBufferPaint(event.gc); }); - fCanvas.addDisposeListener(new DisposeListener() { - @Override - public void widgetDisposed(DisposeEvent e) { - handleDispose(); - fCachedTextViewer = null; - fCachedTextWidget = null; - } + fCanvas.addDisposeListener(e -> { + handleDispose(); + fCachedTextViewer = null; + fCachedTextWidget = null; }); fCanvas.addMouseListener(new MouseHandler()); diff --git a/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/ui/sourcelookup/DsfSourceDisplayAdapter.java b/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/ui/sourcelookup/DsfSourceDisplayAdapter.java index a1c5fd9cbe2..0e7bb3a9552 100644 --- a/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/ui/sourcelookup/DsfSourceDisplayAdapter.java +++ b/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/ui/sourcelookup/DsfSourceDisplayAdapter.java @@ -756,12 +756,9 @@ public class DsfSourceDisplayAdapter implements ISourceDisplay, ISteppingControl // Need to remove annotations in UI thread. Display display = PlatformUI.getWorkbench().getDisplay(); if (display != null && !display.isDisposed()) { - display.asyncExec(new Runnable() { - @Override - public void run() { - enableLineBackgroundPainter(); - fIPManager.removeAllAnnotations(); - } + display.asyncExec(() -> { + enableLineBackgroundPainter(); + fIPManager.removeAllAnnotations(); }); } } @@ -997,20 +994,17 @@ public class DsfSourceDisplayAdapter implements ISourceDisplay, ISteppingControl System.out.println("[DsfSourceDisplayAdapter] eventDispatched e=" + e); //$NON-NLS-1$ } // trigger source display immediately (should be optional?) - Display.getDefault().asyncExec(new Runnable() { - @Override - public void run() { - Object context = DebugUITools.getDebugContext(); - if (context instanceof IDMVMContext) { - final IDMContext dmc = ((IDMVMContext) context).getDMContext(); - if (dmc instanceof IFrameDMContext && DMContexts.isAncestorOf(dmc, e.getDMContext())) { - IWorkbenchPage page = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage(); - doDisplaySource((IFrameDMContext) dmc, page, false, true); - return; - } + Display.getDefault().asyncExec(() -> { + Object context = DebugUITools.getDebugContext(); + if (context instanceof IDMVMContext) { + final IDMContext dmc = ((IDMVMContext) context).getDMContext(); + if (dmc instanceof IFrameDMContext && DMContexts.isAncestorOf(dmc, e.getDMContext())) { + IWorkbenchPage page = PlatformUI.getWorkbench().getActiveWorkbenchWindow().getActivePage(); + doDisplaySource((IFrameDMContext) dmc, page, false, true); + return; } - doneStepping(e.getDMContext()); } + doneStepping(e.getDMContext()); }); } else { doneStepping(e.getDMContext()); diff --git a/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/ui/viewmodel/launch/AbstractLaunchVMProvider.java b/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/ui/viewmodel/launch/AbstractLaunchVMProvider.java index 2e327446f0c..4fc4167f943 100644 --- a/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/ui/viewmodel/launch/AbstractLaunchVMProvider.java +++ b/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/ui/viewmodel/launch/AbstractLaunchVMProvider.java @@ -83,12 +83,7 @@ public class AbstractLaunchVMProvider extends AbstractDMVMProvider store.getInt(IDsfDebugUIConstants.PREF_STACK_FRAME_LIMIT)); } - fPreferencesListener = new IPropertyChangeListener() { - @Override - public void propertyChange(final PropertyChangeEvent event) { - handlePropertyChanged(store, event); - } - }; + fPreferencesListener = event -> handlePropertyChanged(store, event); store.addPropertyChangeListener(fPreferencesListener); final IPreferenceStore cStore = CDebugUIPlugin.getDefault().getPreferenceStore(); @@ -116,15 +111,12 @@ public class AbstractLaunchVMProvider extends AbstractDMVMProvider // We're in session's executor thread. Re-dispatch to our executor thread // and then call root layout node. try { - getExecutor().execute(new Runnable() { - @Override - public void run() { - if (isDisposed()) - return; + getExecutor().execute(() -> { + if (isDisposed()) + return; - for (final DebugEvent event : events) { - handleEvent(event); - } + for (final DebugEvent event : events) { + handleEvent(event); } }); } catch (RejectedExecutionException e) { @@ -175,15 +167,12 @@ public class AbstractLaunchVMProvider extends AbstractDMVMProvider @Override public void run() { if (getSession().isActive()) { - getExecutor().execute(new Runnable() { - @Override - public void run() { - // trigger full stack frame update - ScheduledFuture<?> future = fRefreshStackFramesFutures.get(exeContext); - if (future != null && !isDisposed()) { - fRefreshStackFramesFutures.remove(exeContext); - handleEvent(new FullStackRefreshEvent(exeContext, suspendEvent), null); - } + getExecutor().execute(() -> { + // trigger full stack frame update + ScheduledFuture<?> future = fRefreshStackFramesFutures.get(exeContext); + if (future != null && !isDisposed()) { + fRefreshStackFramesFutures.remove(exeContext); + handleEvent(new FullStackRefreshEvent(exeContext, suspendEvent), null); } }); } @@ -259,16 +248,13 @@ public class AbstractLaunchVMProvider extends AbstractDMVMProvider // We're in session's executor thread. Re-dispach to our executor thread // and then call root layout node. try { - getExecutor().execute(new Runnable() { - @Override - public void run() { - if (isDisposed()) - return; + getExecutor().execute(() -> { + if (isDisposed()) + return; - IRootVMNode rootLayoutNode = getRootVMNode(); - if (rootLayoutNode != null && rootLayoutNode.getDeltaFlags(event) != IModelDelta.NO_CHANGE) { - handleEvent(event); - } + IRootVMNode rootLayoutNode = getRootVMNode(); + if (rootLayoutNode != null && rootLayoutNode.getDeltaFlags(event) != IModelDelta.NO_CHANGE) { + handleEvent(event); } }); } catch (RejectedExecutionException e) { diff --git a/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/ui/viewmodel/variable/VariableVMNode.java b/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/ui/viewmodel/variable/VariableVMNode.java index 7a250dd6a2c..d37921c0703 100644 --- a/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/ui/viewmodel/variable/VariableVMNode.java +++ b/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/ui/viewmodel/variable/VariableVMNode.java @@ -418,15 +418,12 @@ public class VariableVMNode extends AbstractExpressionVMNode DebugUITools.getPreferenceStore().removePropertyChangeListener(fPreferenceChangeListener); } - fPreferenceChangeListener = new IPropertyChangeListener() { - @Override - public void propertyChange(PropertyChangeEvent event) { - if (event.getProperty().equals(IDebugUIConstants.PREF_CHANGED_VALUE_BACKGROUND)) { - columnIdValueBackground.setBackground( - DebugUITools.getPreferenceColor(IDebugUIConstants.PREF_CHANGED_VALUE_BACKGROUND).getRGB()); - columnNoColumnsBackground.setBackground( - DebugUITools.getPreferenceColor(IDebugUIConstants.PREF_CHANGED_VALUE_BACKGROUND).getRGB()); - } + fPreferenceChangeListener = event -> { + if (event.getProperty().equals(IDebugUIConstants.PREF_CHANGED_VALUE_BACKGROUND)) { + columnIdValueBackground.setBackground( + DebugUITools.getPreferenceColor(IDebugUIConstants.PREF_CHANGED_VALUE_BACKGROUND).getRGB()); + columnNoColumnsBackground.setBackground( + DebugUITools.getPreferenceColor(IDebugUIConstants.PREF_CHANGED_VALUE_BACKGROUND).getRGB()); } }; @@ -865,22 +862,19 @@ public class VariableVMNode extends AbstractExpressionVMNode @Override public void update(final IExpressionUpdate update) { try { - getSession().getExecutor().execute(new Runnable() { - @Override - public void run() { - final IExpressions expressionService = getServicesTracker().getService(IExpressions.class); - if (expressionService != null) { - IExpressionDMContext expressionDMC = createExpression(expressionService, - createCompositeDMVMContext(update), update.getExpression().getExpressionText()); + getSession().getExecutor().execute(() -> { + final IExpressions expressionService = getServicesTracker().getService(IExpressions.class); + if (expressionService != null) { + IExpressionDMContext expressionDMC = createExpression(expressionService, + createCompositeDMVMContext(update), update.getExpression().getExpressionText()); - VariableExpressionVMC variableVmc = (VariableExpressionVMC) createVMContext(expressionDMC); - variableVmc.setExpression(update.getExpression()); + VariableExpressionVMC variableVmc = (VariableExpressionVMC) createVMContext(expressionDMC); + variableVmc.setExpression(update.getExpression()); - update.setExpressionElement(variableVmc); - update.done(); - } else { - handleFailedUpdate(update); - } + update.setExpressionElement(variableVmc); + update.done(); + } else { + handleFailedUpdate(update); } }); } catch (RejectedExecutionException e) { diff --git a/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/ui/concurrent/DisplayDsfExecutor.java b/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/ui/concurrent/DisplayDsfExecutor.java index 34f12789d79..1be706b500c 100644 --- a/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/ui/concurrent/DisplayDsfExecutor.java +++ b/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/ui/concurrent/DisplayDsfExecutor.java @@ -29,8 +29,6 @@ import org.eclipse.cdt.dsf.concurrent.DsfExecutable; import org.eclipse.swt.SWT; import org.eclipse.swt.SWTException; import org.eclipse.swt.widgets.Display; -import org.eclipse.swt.widgets.Event; -import org.eclipse.swt.widgets.Listener; /** * DSF executor which uses the display thread to run the submitted runnables @@ -78,12 +76,9 @@ public class DisplayDsfExecutor extends DefaultDsfExecutor { private DisplayDsfExecutor(Display display) { super("Display DSF Executor"); //$NON-NLS-1$ fDisplay = display; - fDisplay.addListener(SWT.Dispose, new Listener() { - @Override - public void handleEvent(Event event) { - if (event.type == SWT.Dispose) { - DisplayDsfExecutor.super.shutdownNow(); - } + fDisplay.addListener(SWT.Dispose, event -> { + if (event.type == SWT.Dispose) { + DisplayDsfExecutor.super.shutdownNow(); } }); } @@ -120,14 +115,11 @@ public class DisplayDsfExecutor extends DefaultDsfExecutor { final Throwable[] e = new Throwable[1]; try { - fDisplay.syncExec(new Runnable() { - @Override - public void run() { - try { - v[0] = callable.call(); - } catch (Throwable exception) { - e[0] = exception; - } + fDisplay.syncExec(() -> { + try { + v[0] = callable.call(); + } catch (Throwable exception) { + e[0] = exception; } }); } catch (SWTException swtException) { @@ -164,20 +156,12 @@ public class DisplayDsfExecutor extends DefaultDsfExecutor { ((DsfExecutable) runnable).setSubmitted(); } - return new Runnable() { - @Override - public void run() { - try { - fDisplay.syncExec(new Runnable() { - @Override - public void run() { - runnable.run(); - } - }); - } catch (SWTException swtException) { - if (swtException.code == SWT.ERROR_DEVICE_DISPOSED) { - DisplayDsfExecutor.super.shutdownNow(); - } + return () -> { + try { + fDisplay.syncExec(() -> runnable.run()); + } catch (SWTException swtException) { + if (swtException.code == SWT.ERROR_DEVICE_DISPOSED) { + DisplayDsfExecutor.super.shutdownNow(); } } }; diff --git a/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/ui/concurrent/SimpleDisplayExecutor.java b/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/ui/concurrent/SimpleDisplayExecutor.java index b8ff68cd692..d2fe4ab9523 100644 --- a/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/ui/concurrent/SimpleDisplayExecutor.java +++ b/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/ui/concurrent/SimpleDisplayExecutor.java @@ -78,12 +78,7 @@ public class SimpleDisplayExecutor implements Executor { final boolean needsPosting = enqueue(command); if (needsPosting) { try { - fDisplay.asyncExec(new Runnable() { - @Override - public void run() { - runInSwtThread(); - } - }); + fDisplay.asyncExec(() -> runInSwtThread()); } catch (final SWTException e) { if (e.code == SWT.ERROR_DEVICE_DISPOSED) { throw new RejectedExecutionException("Display " + fDisplay + " is disposed", e); //$NON-NLS-1$ //$NON-NLS-2$ diff --git a/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/ui/viewmodel/AbstractVMAdapter.java b/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/ui/viewmodel/AbstractVMAdapter.java index 3ce16d55693..c28ebca8c2e 100644 --- a/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/ui/viewmodel/AbstractVMAdapter.java +++ b/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/ui/viewmodel/AbstractVMAdapter.java @@ -104,12 +104,7 @@ abstract public class AbstractVMAdapter implements IVMAdapter { for (final IVMProvider provider : providers) { try { - provider.getExecutor().execute(new Runnable() { - @Override - public void run() { - provider.dispose(); - } - }); + provider.getExecutor().execute(() -> provider.dispose()); } catch (RejectedExecutionException e) { // Not much we can do at this point. } @@ -155,16 +150,13 @@ abstract public class AbstractVMAdapter implements IVMAdapter { private void updateProvider(final IVMProvider provider, final IViewerUpdate[] updates) { try { - provider.getExecutor().execute(new Runnable() { - @Override - public void run() { - if (updates instanceof IHasChildrenUpdate[]) { - provider.update((IHasChildrenUpdate[]) updates); - } else if (updates instanceof IChildrenCountUpdate[]) { - provider.update((IChildrenCountUpdate[]) updates); - } else if (updates instanceof IChildrenUpdate[]) { - provider.update((IChildrenUpdate[]) updates); - } + provider.getExecutor().execute(() -> { + if (updates instanceof IHasChildrenUpdate[]) { + provider.update((IHasChildrenUpdate[]) updates); + } else if (updates instanceof IChildrenCountUpdate[]) { + provider.update((IChildrenCountUpdate[]) updates); + } else if (updates instanceof IChildrenUpdate[]) { + provider.update((IChildrenUpdate[]) updates); } }); } catch (RejectedExecutionException e) { diff --git a/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/ui/viewmodel/datamodel/AbstractDMVMAdapter.java b/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/ui/viewmodel/datamodel/AbstractDMVMAdapter.java index 3cd75ce3853..1d10b404111 100644 --- a/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/ui/viewmodel/datamodel/AbstractDMVMAdapter.java +++ b/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/ui/viewmodel/datamodel/AbstractDMVMAdapter.java @@ -50,13 +50,10 @@ abstract public class AbstractDMVMAdapter extends AbstractVMAdapter { fSession = session; // Add ourselves as listener for DM events events. try { - session.getExecutor().execute(new Runnable() { - @Override - public void run() { - if (DsfSession.isSessionActive(getSession().getId())) { - getSession().addServiceEventListener(AbstractDMVMAdapter.this, null); - fRegisteredAsEventListener = true; - } + session.getExecutor().execute(() -> { + if (DsfSession.isSessionActive(getSession().getId())) { + getSession().addServiceEventListener(AbstractDMVMAdapter.this, null); + fRegisteredAsEventListener = true; } }); } catch (RejectedExecutionException e) { @@ -67,12 +64,9 @@ abstract public class AbstractDMVMAdapter extends AbstractVMAdapter { @Override public void dispose() { try { - getSession().getExecutor().execute(new Runnable() { - @Override - public void run() { - if (fRegisteredAsEventListener && getSession().isActive()) { - fSession.removeServiceEventListener(AbstractDMVMAdapter.this); - } + getSession().getExecutor().execute(() -> { + if (fRegisteredAsEventListener && getSession().isActive()) { + fSession.removeServiceEventListener(AbstractDMVMAdapter.this); } }); } catch (RejectedExecutionException e) { |