diff --git a/build/org.eclipse.cdt.make.ui/src/org/eclipse/cdt/make/internal/ui/editor/MakefileEditor.java b/build/org.eclipse.cdt.make.ui/src/org/eclipse/cdt/make/internal/ui/editor/MakefileEditor.java index 4514003385f..5868c22e3ef 100644 --- a/build/org.eclipse.cdt.make.ui/src/org/eclipse/cdt/make/internal/ui/editor/MakefileEditor.java +++ b/build/org.eclipse.cdt.make.ui/src/org/eclipse/cdt/make/internal/ui/editor/MakefileEditor.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2000, 2016 QNX Software Systems and others. + * Copyright (c) 2000, 2017 QNX Software Systems and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -83,7 +83,7 @@ public class MakefileEditor extends TextEditor implements ISelectionChangedListe * Reconciling listeners. * @since 3.0 */ - private ListenerList fReconcilingListeners= new ListenerList(ListenerList.IDENTITY); + private ListenerList fReconcilingListeners= new ListenerList<>(ListenerList.IDENTITY); MakefileSourceConfiguration getMakefileSourceConfiguration() { @@ -361,9 +361,8 @@ public class MakefileEditor extends TextEditor implements ISelectionChangedListe @Override public void reconciled() { // Notify listeners - Object[] listeners = fReconcilingListeners.getListeners(); - for (Object listener : listeners) { - ((IReconcilingParticipant)listener).reconciled(); + for (IReconcilingParticipant listener : fReconcilingListeners) { + listener.reconciled(); } } diff --git a/core/org.eclipse.cdt.core/model/org/eclipse/cdt/core/model/LanguageManager.java b/core/org.eclipse.cdt.core/model/org/eclipse/cdt/core/model/LanguageManager.java index a1c4247912a..3210a524b05 100644 --- a/core/org.eclipse.cdt.core/model/org/eclipse/cdt/core/model/LanguageManager.java +++ b/core/org.eclipse.cdt.core/model/org/eclipse/cdt/core/model/LanguageManager.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2005, 2014 QNX Software Systems and others. + * Copyright (c) 2005, 2017 QNX Software Systems and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -68,7 +68,7 @@ public class LanguageManager { private boolean fIsFullyCached; private HashMap fIdToLanguageDescriptorCache;//= new HashMap(); private HashMap> fContentTypeToDescriptorListCache; - private ListenerList fLanguageChangeListeners = new ListenerList(ListenerList.IDENTITY); + private ListenerList fLanguageChangeListeners = new ListenerList<>(ListenerList.IDENTITY); private WorkspaceLanguageConfiguration fWorkspaceMappings; public static LanguageManager getInstance() { @@ -615,10 +615,7 @@ public class LanguageManager { * @param event the ILanguageMappingsChange event to be broadcast. */ public void notifyLanguageChangeListeners(ILanguageMappingChangeEvent event) { - Object[] listeners = fLanguageChangeListeners.getListeners(); - - for (Object obj : listeners) { - ILanguageMappingChangeListener listener = (ILanguageMappingChangeListener) obj; + for (ILanguageMappingChangeListener listener : fLanguageChangeListeners) { listener.handleLanguageMappingChangeEvent(event); } } diff --git a/core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/language/settings/providers/LanguageSettingsProvidersSerializer.java b/core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/language/settings/providers/LanguageSettingsProvidersSerializer.java index a9ea09964e7..1338d2b704d 100644 --- a/core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/language/settings/providers/LanguageSettingsProvidersSerializer.java +++ b/core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/language/settings/providers/LanguageSettingsProvidersSerializer.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2009, 2013 Andrew Gvozdev and others. + * Copyright (c) 2009, 2017 Andrew Gvozdev and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -109,7 +109,7 @@ public class LanguageSettingsProvidersSerializer { /** Cache of workspace providers wrappers */ private static Map globalWorkspaceProviders = new HashMap(); - private static ListenerList fLanguageSettingsChangeListeners = new ListenerList(ListenerList.IDENTITY); + private static ListenerList fLanguageSettingsChangeListeners = new ListenerList<>(ListenerList.IDENTITY); private static ILock serializingLock = Job.getJobManager().newLock(); private static ILock serializingLockWsp = Job.getJobManager().newLock(); @@ -1407,8 +1407,8 @@ public class LanguageSettingsProvidersSerializer { * @param event - the {@link ILanguageSettingsChangeEvent} event to be broadcast. */ private static void notifyLanguageSettingsChangeListeners(ILanguageSettingsChangeEvent event) { - for (Object listener : fLanguageSettingsChangeListeners.getListeners()) { - ((ILanguageSettingsChangeListener) listener).handleEvent(event); + for (ILanguageSettingsChangeListener listener : fLanguageSettingsChangeListeners) { + listener.handleEvent(event); } } diff --git a/core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/settings/model/CExternalSettingContainerFactoryWithListener.java b/core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/settings/model/CExternalSettingContainerFactoryWithListener.java index ca5bb4421e3..008dc297a34 100644 --- a/core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/settings/model/CExternalSettingContainerFactoryWithListener.java +++ b/core/org.eclipse.cdt.core/model/org/eclipse/cdt/internal/core/settings/model/CExternalSettingContainerFactoryWithListener.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2007, 2008 Intel Corporation and others. + * Copyright (c) 2007, 2017 Intel Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -16,12 +16,12 @@ import org.eclipse.core.runtime.ListenerList; public abstract class CExternalSettingContainerFactoryWithListener extends CExternalSettingContainerFactory { - private ListenerList fListenerList; + private ListenerList fListenerList; @Override public void addListener(ICExternalSettingsListener listener){ if(fListenerList == null) - fListenerList = new ListenerList(); + fListenerList = new ListenerList<>(); fListenerList.add(listener); } @@ -43,9 +43,8 @@ public abstract class CExternalSettingContainerFactoryWithListener extends CExternalSettingChangeEvent event = new CExternalSettingChangeEvent(infos); - Object[] listeners = fListenerList.getListeners(); - for(int i = 0; i < listeners.length; i++){ - ((ICExternalSettingsListener)listeners[i]).settingsChanged(project, cfgId, event); + for(ICExternalSettingsListener listener : fListenerList){ + listener.settingsChanged(project, cfgId, event); } } } diff --git a/core/org.eclipse.cdt.core/utils/org/eclipse/cdt/utils/envvar/PrefsStorableEnvironment.java b/core/org.eclipse.cdt.core/utils/org/eclipse/cdt/utils/envvar/PrefsStorableEnvironment.java index 5e61200c360..6aa2f11c2c2 100644 --- a/core/org.eclipse.cdt.core/utils/org/eclipse/cdt/utils/envvar/PrefsStorableEnvironment.java +++ b/core/org.eclipse.cdt.core/utils/org/eclipse/cdt/utils/envvar/PrefsStorableEnvironment.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2009, 2013 Broadcom Corporation and others. + * Copyright (c) 2009, 2017 Broadcom Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -74,7 +74,7 @@ public class PrefsStorableEnvironment extends StorableEnvironment { private boolean fAppendChanged = false; private boolean fAppendContributedChanged = false; - private static ListenerList fEnvironmentChangeListeners = new ListenerList(ListenerList.IDENTITY); + private static ListenerList fEnvironmentChangeListeners = new ListenerList<>(ListenerList.IDENTITY); /** A listener for changes in the backing store */ private static class PrefListener implements IPreferenceChangeListener, INodeChangeListener { @@ -573,8 +573,8 @@ public class PrefsStorableEnvironment extends StorableEnvironment { * @param event - the {@link IEnvironmentChangeEvent} event to be broadcast. */ private static void notifyLanguageSettingsChangeListeners(IEnvironmentChangeEvent event) { - for (Object listener : fEnvironmentChangeListeners.getListeners()) { - ((IEnvironmentChangeListener) listener).handleEvent(event); + for (IEnvironmentChangeListener listener : fEnvironmentChangeListeners) { + listener.handleEvent(event); } } diff --git a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/buildconsole/BuildConsoleManager.java b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/buildconsole/BuildConsoleManager.java index e22eea10461..0545767cb90 100644 --- a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/buildconsole/BuildConsoleManager.java +++ b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/buildconsole/BuildConsoleManager.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2002, 2011 QNX Software Systems and others. + * Copyright (c) 2002, 2017 QNX Software Systems and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -67,7 +67,7 @@ public class BuildConsoleManager implements IBuildConsoleManager, IResourceChang private static final String BUILD_CONSOLE_NODE = "buildConsole"; //$NON-NLS-1$ private static final String PROJECT_LOG_EXT = ".build.log"; //$NON-NLS-1$ - private ListenerList listeners = new ListenerList(); + private ListenerList listeners = new ListenerList<>(); /** UI console object in which per-project consoles are shown */ private BuildConsole fConsole; private Map fConsoleMap = new HashMap(); @@ -126,10 +126,8 @@ public class BuildConsoleManager implements IBuildConsoleManager, IResourceChang * show the console, and notify listeners */ protected void startConsoleActivity(IProject project) { - Object[] list = listeners.getListeners(); - if (list.length > 0) { - for (Object element : list) { - IBuildConsoleListener listener = (IBuildConsoleListener)element; + if (!listeners.isEmpty()) { + for (IBuildConsoleListener listener: listeners) { ConsoleEvent event = new ConsoleEvent(BuildConsoleManager.this, project, IBuildConsoleEvent.CONSOLE_START); listener.consoleChange(event); } @@ -196,10 +194,8 @@ public class BuildConsoleManager implements IBuildConsoleManager, IResourceChang IDocumentPartitioner partioner = fConsoleMap.remove(resource); if (partioner != null) { partioner.disconnect(); - Object[] list = listeners.getListeners(); - if (list.length > 0) { - for (Object element : list) { - IBuildConsoleListener listener = (IBuildConsoleListener)element; + if (!listeners.isEmpty()) { + for (IBuildConsoleListener listener : listeners) { ConsoleEvent consoleEvent = new ConsoleEvent(this, (IProject)resource, IBuildConsoleEvent.CONSOLE_CLOSE); listener.consoleChange(consoleEvent); } diff --git a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/preferences/CFileTypesPreferenceBlock.java b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/preferences/CFileTypesPreferenceBlock.java index bc014934f38..b0349fdc35b 100644 --- a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/preferences/CFileTypesPreferenceBlock.java +++ b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/preferences/CFileTypesPreferenceBlock.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2004, 2016 TimeSys Corporation and others. + * Copyright (c) 2004, 2017 TimeSys Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -30,11 +30,9 @@ import org.eclipse.jface.layout.PixelConverter; import org.eclipse.jface.viewers.ColumnWeightData; import org.eclipse.jface.viewers.ILabelProvider; import org.eclipse.jface.viewers.ILabelProviderListener; -import org.eclipse.jface.viewers.ISelectionChangedListener; import org.eclipse.jface.viewers.IStructuredContentProvider; import org.eclipse.jface.viewers.IStructuredSelection; import org.eclipse.jface.viewers.ITableLabelProvider; -import org.eclipse.jface.viewers.SelectionChangedEvent; import org.eclipse.jface.viewers.TableLayout; import org.eclipse.jface.viewers.TableViewer; import org.eclipse.jface.viewers.Viewer; @@ -47,8 +45,6 @@ import org.eclipse.swt.layout.GridLayout; import org.eclipse.swt.widgets.Button; import org.eclipse.swt.widgets.Composite; import org.eclipse.swt.widgets.Control; -import org.eclipse.swt.widgets.Event; -import org.eclipse.swt.widgets.Listener; import org.eclipse.swt.widgets.Table; import org.eclipse.swt.widgets.TableColumn; @@ -112,7 +108,7 @@ public class CFileTypesPreferenceBlock { } private class AssocLabelProvider implements ILabelProvider, ITableLabelProvider { - private ListenerList listeners = new ListenerList(); + private ListenerList listeners = new ListenerList<>(); @Override public Image getColumnImage(Object element, int columnIndex) { @@ -261,12 +257,7 @@ public class CFileTypesPreferenceBlock { gridData.widthHint = SWTUtil.getButtonWidthHint(fBtnNew); fBtnNew.setLayoutData(gridData); - fBtnNew.addListener(SWT.Selection, new Listener() { - @Override - public void handleEvent(Event e) { - handleAdd(); - } - }); + fBtnNew.addListener(SWT.Selection, e -> handleAdd()); // Remove button @@ -277,12 +268,7 @@ public class CFileTypesPreferenceBlock { gridData.widthHint = SWTUtil.getButtonWidthHint(fBtnRemove); fBtnRemove.setLayoutData(gridData); - fBtnRemove.addListener(SWT.Selection, new Listener() { - @Override - public void handleEvent(Event e) { - handleRemove(); - } - }); + fBtnRemove.addListener(SWT.Selection, e -> handleRemove()); // Hook up the viewer @@ -293,12 +279,7 @@ public class CFileTypesPreferenceBlock { fAssocViewer.setLabelProvider(new AssocLabelProvider()); fAssocViewer.setInput(getCFileTypeAssociations()); - fAssocViewer.addSelectionChangedListener(new ISelectionChangedListener() { - @Override - public void selectionChanged(SelectionChangedEvent event) { - handleSelectionChanged(); - } - }); + fAssocViewer.addSelectionChangedListener(event -> handleSelectionChanged()); handleSelectionChanged(); diff --git a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/util/ProblemMarkerManager.java b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/util/ProblemMarkerManager.java index dda2023a70c..911bbdc7d94 100644 --- a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/util/ProblemMarkerManager.java +++ b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/util/ProblemMarkerManager.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2005, 2012 IBM Corporation and others. + * Copyright (c) 2005, 2017 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -95,15 +95,12 @@ public class ProblemMarkerManager implements IResourceChangeListener, IAnnotatio } } - ListenerList fListeners; + ListenerList fListeners; public ProblemMarkerManager() { - fListeners = new ListenerList(); + fListeners = new ListenerList<>(); } - /* - * @see IResourceChangeListener#resourceChanged - */ @Override public void resourceChanged(IResourceChangeEvent event) { HashSet changedElements = new HashSet(); @@ -123,21 +120,11 @@ public class ProblemMarkerManager implements IResourceChangeListener, IAnnotatio } - /* - * (non-Javadoc) - * - * @see IAnnotationModelListener#modelChanged(IAnnotationModel) - */ @Override public void modelChanged(IAnnotationModel model) { // no action } - /* - * (non-Javadoc) - * - * @see IAnnotationModelListenerExtension#modelChanged(AnnotationModelEvent) - */ @Override public void modelChanged(AnnotationModelEvent event) { if (event instanceof TranslationUnitAnnotationModelEvent) { @@ -178,15 +165,9 @@ public class ProblemMarkerManager implements IResourceChangeListener, IAnnotatio private void fireChanges(final IResource[] changes, final boolean markerChanged) { Display display = SWTUtil.getStandardDisplay(); if (display != null && !display.isDisposed()) { - display.asyncExec(new Runnable() { - - @Override - public void run() { - Object[] listeners = fListeners.getListeners(); - for (Object listener : listeners) { - IProblemChangedListener curr = (IProblemChangedListener)listener; - curr.problemsChanged(changes, markerChanged); - } + display.asyncExec(() -> { + for (IProblemChangedListener curr : fListeners) { + curr.problemsChanged(changes, markerChanged); } }); } diff --git a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/viewsupport/AdaptingSelectionProvider.java b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/viewsupport/AdaptingSelectionProvider.java index 0af3918b771..63e5122cfab 100644 --- a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/viewsupport/AdaptingSelectionProvider.java +++ b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/viewsupport/AdaptingSelectionProvider.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2006, 2012 Wind River Systems, Inc. and others. + * Copyright (c) 2006, 2017 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -31,13 +31,13 @@ import org.eclipse.jface.viewers.StructuredSelection; public class AdaptingSelectionProvider implements ISelectionProvider, ISelectionChangedListener { private Class fTargetType; - private ListenerList fListenerList; + private ListenerList fListenerList; private ISelectionProvider fProvider; public AdaptingSelectionProvider(Class targetType, ISelectionProvider provider) { fProvider= provider; fTargetType= targetType; - fListenerList= new ListenerList(); + fListenerList= new ListenerList<>(); } private ISelection convertSelection(ISelection selection) { @@ -96,9 +96,7 @@ public class AdaptingSelectionProvider implements ISelectionProvider, ISelection @Override public void selectionChanged(SelectionChangedEvent event) { SelectionChangedEvent event2= new SelectionChangedEvent(this, convertSelection(event.getSelection())); - Object[] listeners= fListenerList.getListeners(); - for (Object listener : listeners) { - ISelectionChangedListener l= (ISelectionChangedListener) listener; + for (ISelectionChangedListener l : fListenerList) { l.selectionChanged(event2); } } diff --git a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/viewsupport/ProblemsLabelDecorator.java b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/viewsupport/ProblemsLabelDecorator.java index d7d6f46f710..bd9e15b32ef 100644 --- a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/viewsupport/ProblemsLabelDecorator.java +++ b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/viewsupport/ProblemsLabelDecorator.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2000, 2013 IBM Corporation and others. + * Copyright (c) 2000, 2017 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -118,7 +118,7 @@ public class ProblemsLabelDecorator implements ILabelDecorator, ILightweightLabe private boolean fUseNewRegistry; private IProblemChangedListener fProblemChangedListener; - private ListenerList fListeners; + private ListenerList fListeners; private Map fMarkersCache = new HashMap(); /** @@ -290,16 +290,11 @@ public class ProblemsLabelDecorator implements ILabelDecorator, ILightweightLabe @Override public void addListener(ILabelProviderListener listener) { if (fListeners == null) { - fListeners= new ListenerList(); + fListeners= new ListenerList<>(); } fListeners.add(listener); if (fProblemChangedListener == null) { - fProblemChangedListener= new IProblemChangedListener() { - @Override - public void problemsChanged(IResource[] changedResources, boolean isMarkerChange) { - fireProblemsChanged(changedResources, isMarkerChange); - } - }; + fProblemChangedListener= (changedResources, isMarkerChange) -> fireProblemsChanged(changedResources, isMarkerChange); CUIPlugin.getDefault().getProblemMarkerManager().addListener(fProblemChangedListener); } } @@ -319,9 +314,8 @@ public class ProblemsLabelDecorator implements ILabelDecorator, ILightweightLabe fMarkersCache.clear(); if (fListeners != null && !fListeners.isEmpty()) { LabelProviderChangedEvent event= new ProblemsLabelChangedEvent(this, changedResources, isMarkerChange); - Object[] listeners= fListeners.getListeners(); - for (Object listener : listeners) { - ((ILabelProviderListener) listener).labelProviderChanged(event); + for (ILabelProviderListener listener : fListeners) { + listener.labelProviderChanged(event); } } } diff --git a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/viewsupport/SelectionListenerWithASTManager.java b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/viewsupport/SelectionListenerWithASTManager.java index 121236aa23b..25af22eb477 100644 --- a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/viewsupport/SelectionListenerWithASTManager.java +++ b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/viewsupport/SelectionListenerWithASTManager.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2000, 2012 IBM Corporation and others. + * Copyright (c) 2000, 2017 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -25,9 +25,7 @@ import org.eclipse.jface.text.ITextSelection; import org.eclipse.jface.viewers.ISelection; import org.eclipse.jface.viewers.ISelectionChangedListener; import org.eclipse.jface.viewers.ISelectionProvider; -import org.eclipse.jface.viewers.SelectionChangedEvent; import org.eclipse.ui.ISelectionListener; -import org.eclipse.ui.IWorkbenchPart; import org.eclipse.ui.texteditor.ITextEditor; import org.eclipse.cdt.core.dom.ast.IASTTranslationUnit; @@ -60,7 +58,7 @@ public class SelectionListenerWithASTManager { private ISelectionListener fPostSelectionListener; private ISelectionChangedListener fSelectionListener; private Job fCurrentJob; - private ListenerList fAstListeners; + private ListenerList fAstListeners; /** Rule to make sure only one job is running at a time */ private final ILock fJobLock= Job.getJobManager().newLock(); private ISelectionValidator fValidator; @@ -68,24 +66,18 @@ public class SelectionListenerWithASTManager { public PartListenerGroup(ITextEditor editorPart) { fPart= editorPart; fCurrentJob= null; - fAstListeners= new ListenerList(ListenerList.IDENTITY); + fAstListeners= new ListenerList<>(ListenerList.IDENTITY); - fSelectionListener= new ISelectionChangedListener() { - @Override - public void selectionChanged(SelectionChangedEvent event) { - ISelection selection= event.getSelection(); - if (selection instanceof ITextSelection) { - fireSelectionChanged((ITextSelection) selection); - } + fSelectionListener= event -> { + ISelection selection= event.getSelection(); + if (selection instanceof ITextSelection) { + fireSelectionChanged((ITextSelection) selection); } }; - fPostSelectionListener= new ISelectionListener() { - @Override - public void selectionChanged(IWorkbenchPart part, ISelection selection) { - if (part == fPart && selection instanceof ITextSelection) - firePostSelectionChanged((ITextSelection) selection); - } + fPostSelectionListener= (part, selection) -> { + if (part == fPart && selection instanceof ITextSelection) + firePostSelectionChanged((ITextSelection) selection); }; } diff --git a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/viewsupport/SelectionProviderMediator.java b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/viewsupport/SelectionProviderMediator.java index aa0de2af26d..1cb2e11ecbf 100644 --- a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/viewsupport/SelectionProviderMediator.java +++ b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/viewsupport/SelectionProviderMediator.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2007, 2012 Wind River Systems, Inc. and others. + * Copyright (c) 2007, 2017 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -31,15 +31,10 @@ public class SelectionProviderMediator implements ISelectionProvider { private ISelectionChangedListener fSelectionChangedListener; private FocusListener fFocusListener; - private ListenerList fListenerList= new ListenerList(); + private ListenerList fListenerList= new ListenerList<>(); public SelectionProviderMediator() { - fSelectionChangedListener= new ISelectionChangedListener() { - @Override - public void selectionChanged(SelectionChangedEvent event) { - onSelectionChanged(event); - } - }; + fSelectionChangedListener= event -> onSelectionChanged(event); fFocusListener = new FocusListener() { @Override public void focusGained(FocusEvent e) { @@ -62,12 +57,10 @@ public class SelectionProviderMediator implements ISelectionProvider { } final protected void fireSelectionChanged() { - Object[] listeners= fListenerList.getListeners(); - if (listeners.length > 0) { + if (!fListenerList.isEmpty()) { SelectionChangedEvent event= new SelectionChangedEvent(this, getSelection()); - for (int i = 0; i < listeners.length; i++) { - ISelectionChangedListener listener= (ISelectionChangedListener) listeners[i]; + for (ISelectionChangedListener listener : fListenerList) { listener.selectionChanged(event); } } 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 6f154c67a15..fd166fa323f 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 @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2007, 2016 Wind River Systems and others. + * Copyright (c) 2007, 2017 Wind River Systems and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -251,7 +251,7 @@ public abstract class DisassemblyPart extends WorkbenchPart implements IDisassem private MarkerAnnotationPreferences fAnnotationPreferences; private IPreferenceStore fPreferenceStore; private IOverviewRuler fOverviewRuler; - private final ListenerList fRulerContextMenuListeners= new ListenerList(ListenerList.IDENTITY); + private final ListenerList fRulerContextMenuListeners= new ListenerList<>(ListenerList.IDENTITY); private SourceViewerDecorationSupport fDecorationSupport; private Font fFont; private IVerticalRuler fVerticalRuler; @@ -1234,8 +1234,8 @@ public abstract class DisassemblyPart extends WorkbenchPart implements IDisassem addRulerContributionActions(manager); manager.add(new Separator(ITextEditorActionConstants.GROUP_REST)); - for (Object listener : fRulerContextMenuListeners.getListeners()) - ((IMenuListener) listener).menuAboutToShow(manager); + for (IMenuListener listener : fRulerContextMenuListeners) + listener.menuAboutToShow(manager); manager.add(new Separator(ITextEditorActionConstants.GROUP_EDIT)); manager.appendToGroup(ITextEditorActionConstants.GROUP_EDIT, fGlobalActions.get(ITextEditorActionConstants.COPY)); diff --git a/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/internal/ui/disassembly/DisassemblySelectionProvider.java b/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/internal/ui/disassembly/DisassemblySelectionProvider.java index ff40d044c7e..a5d629d8182 100644 --- a/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/internal/ui/disassembly/DisassemblySelectionProvider.java +++ b/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/internal/ui/disassembly/DisassemblySelectionProvider.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2009, 2012 Wind River Systems, Inc. and others. + * Copyright (c) 2009, 2017 Wind River Systems, Inc. and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -32,13 +32,8 @@ import org.eclipse.jface.viewers.StructuredSelection; */ class DisassemblySelectionProvider implements ISelectionProvider { - private final ListenerList fListenerList = new ListenerList(ListenerList.IDENTITY); - private final ISelectionChangedListener fListener = new ISelectionChangedListener() { - @Override - public void selectionChanged(SelectionChangedEvent event) { - fireSelectionChanged(event); - } - }; + private final ListenerList fListenerList = new ListenerList<>(ListenerList.IDENTITY); + private final ISelectionChangedListener fListener = event -> fireSelectionChanged(event); private final DisassemblyPart fPart; DisassemblySelectionProvider(DisassemblyPart disassemblyPart) { @@ -48,24 +43,16 @@ class DisassemblySelectionProvider implements ISelectionProvider { private void fireSelectionChanged(SelectionChangedEvent event) { SelectionChangedEvent newEvent = new SelectionChangedEvent(this, getSelection()); - Object[] listeners = fListenerList.getListeners(); - for (int i = 0; i < listeners.length; i++) { - ISelectionChangedListener listener = (ISelectionChangedListener) listeners[i]; + for (ISelectionChangedListener listener : fListenerList) { listener.selectionChanged(newEvent); } } - /* - * @see org.eclipse.jface.viewers.ISelectionProvider#addSelectionChangedListener(org.eclipse.jface.viewers.ISelectionChangedListener) - */ @Override public void addSelectionChangedListener(ISelectionChangedListener listener) { fListenerList.add(listener); } - /* - * @see org.eclipse.jface.viewers.ISelectionProvider#getSelection() - */ @Override public ISelection getSelection() { final ISourceViewer textViewer= fPart.getTextViewer(); @@ -76,17 +63,11 @@ class DisassemblySelectionProvider implements ISelectionProvider { return StructuredSelection.EMPTY; } - /* - * @see org.eclipse.jface.viewers.ISelectionProvider#removeSelectionChangedListener(org.eclipse.jface.viewers.ISelectionChangedListener) - */ @Override public void removeSelectionChangedListener(ISelectionChangedListener listener) { fListenerList.remove(listener); } - /* - * @see org.eclipse.jface.viewers.ISelectionProvider#setSelection(org.eclipse.jface.viewers.ISelection) - */ @Override public void setSelection(ISelection selection) { ISelectionProvider provider = fPart.getTextViewer().getSelectionProvider(); diff --git a/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/internal/ui/disassembly/presentation/CSourceTagProvider.java b/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/internal/ui/disassembly/presentation/CSourceTagProvider.java index 7ed1786dfec..d45a9cf3c97 100644 --- a/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/internal/ui/disassembly/presentation/CSourceTagProvider.java +++ b/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/internal/ui/disassembly/presentation/CSourceTagProvider.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2007, 2012 Wind River Systems and others. + * Copyright (c) 2007, 2017 Wind River Systems and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -24,7 +24,7 @@ import org.eclipse.core.runtime.ListenerList; */ public class CSourceTagProvider implements ISourceTagProvider { - private ListenerList fListenerList= new ListenerList(ListenerList.IDENTITY); + private ListenerList fListenerList= new ListenerList<>(ListenerList.IDENTITY); private ITranslationUnit fUnit; /** @@ -89,9 +89,6 @@ public class CSourceTagProvider implements ISourceTagProvider { } } - /* - * @see org.eclipse.cdt.dsf.debug.internal.ui.disassembly.presentation.ISourceTagProvider#removeSourceTagListener(org.eclipse.cdt.dsf.debug.internal.ui.disassembly.presentation.ISourceTagListener) - */ @Override public void removeSourceTagListener(ISourceTagListener listener) { fListenerList.remove(listener); diff --git a/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/ui/contexts/DsfSuspendTrigger.java b/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/ui/contexts/DsfSuspendTrigger.java index 89fb7c88c4a..9365a70283c 100644 --- a/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/ui/contexts/DsfSuspendTrigger.java +++ b/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/debug/ui/contexts/DsfSuspendTrigger.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2008, 2012 Wind River Systems and others. + * Copyright (c) 2008, 2017 Wind River Systems and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -58,7 +58,7 @@ public class DsfSuspendTrigger implements ISuspendTrigger { private final DsfServicesTracker fServicesTracker; @ThreadSafe - private final ListenerList fListeners = new ListenerList(); + private final ListenerList fListeners = new ListenerList<>(); @ThreadSafe public DsfSuspendTrigger(DsfSession session, ILaunch launch) { @@ -192,8 +192,7 @@ public class DsfSuspendTrigger implements ISuspendTrigger { */ @ThreadSafe protected void fireSuspended(final Object context) { - final Object[] listeners = fListeners.getListeners(); - if (listeners.length != 0) { + if (!fListeners.isEmpty()) { new Job("DSF Suspend Trigger Notify") { //$NON-NLS-1$ { setSystem(true); @@ -202,8 +201,7 @@ public class DsfSuspendTrigger implements ISuspendTrigger { @Override protected IStatus run(IProgressMonitor monitor) { final MultiStatus status = new MultiStatus(DsfUIPlugin.PLUGIN_ID, 0, "DSF Suspend Trigger Notify Job Status", null); //$NON-NLS-1$ - for (int i = 0; i < listeners.length; i++) { - final ISuspendTriggerListener listener = (ISuspendTriggerListener) listeners[i]; + for (final ISuspendTriggerListener listener : fListeners) { SafeRunner.run(new ISafeRunnable() { @Override public void run() throws Exception { diff --git a/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/ui/viewmodel/DefaultVMModelProxyStrategy.java b/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/ui/viewmodel/DefaultVMModelProxyStrategy.java index df27b4bf4a7..ac7371e4aaf 100644 --- a/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/ui/viewmodel/DefaultVMModelProxyStrategy.java +++ b/dsf/org.eclipse.cdt.dsf.ui/src/org/eclipse/cdt/dsf/ui/viewmodel/DefaultVMModelProxyStrategy.java @@ -1,5 +1,5 @@ /******************************************************************************* - * Copyright (c) 2005, 2016 IBM Corporation and others. + * Copyright (c) 2005, 2017 IBM Corporation and others. * All rights reserved. This program and the accompanying materials * are made available under the terms of the Eclipse Public License v1.0 * which accompanies this distribution, and is available at @@ -64,7 +64,7 @@ public class DefaultVMModelProxyStrategy implements IVMModelProxy { private IPresentationContext fContext; private Viewer fViewer; private boolean fDisposed = false; - private ListenerList fListeners = new ListenerList(); + private ListenerList fListeners = new ListenerList<>(); private IDoubleClickListener fDoubleClickListener; private boolean fAllowRecursiveVMNodes = false;