Bug 548309 - Converts anonymous inner classes to member references

Change-Id: I3313f2471afb90ba4713a68e6c084bf0bde4d764
Signed-off-by: Carsten Hammer <carsten.hammer@t-online.de>
diff --git a/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/corext/codemanipulation/GenerateHashCodeEqualsOperation.java b/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/corext/codemanipulation/GenerateHashCodeEqualsOperation.java
index 212eab3..17ceddc 100644
--- a/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/corext/codemanipulation/GenerateHashCodeEqualsOperation.java
+++ b/org.eclipse.jdt.core.manipulation/core extension/org/eclipse/jdt/internal/corext/codemanipulation/GenerateHashCodeEqualsOperation.java
@@ -478,14 +478,7 @@
 				} else if (fUseJ7HashEquals) {
 					j7Invoc.arguments().add(fAst.newSimpleName(field.getName()));
 				} else if (field.getType().isPrimitive()) {
-					Statement[] sts= createAddSimpleHashCode(field.getType(), new IHashCodeAccessProvider() {
-
-						@Override
-						public Expression getThisAccess(String name) {
-							return getThisAccessForHashCode(name);
-						}
-
-					}, field.getName(), false);
+					Statement[] sts= createAddSimpleHashCode(field.getType(), this::getThisAccessForHashCode, field.getName(), false);
 					for (Statement st : sts) {
 						body.statements().add(st);
 					}
diff --git a/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/ui/TestRunnerViewPart.java b/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/ui/TestRunnerViewPart.java
index 096dd41..d94a4ae 100644
--- a/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/ui/TestRunnerViewPart.java
+++ b/org.eclipse.jdt.junit/src/org/eclipse/jdt/internal/junit/ui/TestRunnerViewPart.java
@@ -2213,12 +2213,7 @@
 	}
 
 	private void postSyncProcessChanges() {
-		postSyncRunnable(new Runnable() {
-			@Override
-			public void run() {
-				processChangesInUI();
-			}
-		});
+		postSyncRunnable(this::processChangesInUI);
 	}
 
 	public void warnOfContentChange() {
diff --git a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/javaeditor/JavaMoveLinesAction.java b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/javaeditor/JavaMoveLinesAction.java
index 61e83c3..14b6e10 100644
--- a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/javaeditor/JavaMoveLinesAction.java
+++ b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/javaeditor/JavaMoveLinesAction.java
@@ -75,12 +75,7 @@
 		public SharedState(CompilationUnitEditor editor) {
 			fEditor= editor;
 			fExitStrategy= new CompoundEditExitStrategy(new String[] {ITextEditorActionDefinitionIds.MOVE_LINES_UP, ITextEditorActionDefinitionIds.MOVE_LINES_DOWN, ITextEditorActionDefinitionIds.COPY_LINES_UP, ITextEditorActionDefinitionIds.COPY_LINES_DOWN});
-			fExitStrategy.addCompoundListener(new ICompoundEditListener() {
-				@Override
-				public void endCompoundEdit() {
-					SharedState.this.endCompoundEdit();
-				}
-			});
+			fExitStrategy.addCompoundListener(SharedState.this::endCompoundEdit);
 		}
 
 		/**
diff --git a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/preferences/AppearancePreferencePage.java b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/preferences/AppearancePreferencePage.java
index 500a958..5c6de03 100644
--- a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/preferences/AppearancePreferencePage.java
+++ b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/preferences/AppearancePreferencePage.java
@@ -81,12 +81,7 @@
 		setPreferenceStore(JavaPlugin.getDefault().getPreferenceStore());
 		setDescription(PreferencesMessages.AppearancePreferencePage_description);
 
-		IDialogFieldListener listener= new IDialogFieldListener() {
-			@Override
-			public void dialogFieldChanged(DialogField field) {
-				doDialogFieldChanged(field);
-			}
-		};
+		IDialogFieldListener listener= this::doDialogFieldChanged;
 
 		fShowMethodReturnType= new SelectionButtonDialogField(SWT.CHECK);
 		fShowMethodReturnType.setDialogFieldListener(listener);
diff --git a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/preferences/PropertyAndPreferencePage.java b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/preferences/PropertyAndPreferencePage.java
index a09a5f0..0b37316 100644
--- a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/preferences/PropertyAndPreferencePage.java
+++ b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/preferences/PropertyAndPreferencePage.java
@@ -273,12 +273,7 @@
 	 * @return The new listener
 	 */
 	protected IStatusChangeListener getNewStatusChangedListener() {
-		return new IStatusChangeListener() {
-			@Override
-			public void statusChanged(IStatus status) {
-				setPreferenceContentStatus(status);
-			}
-		};
+		return this::setPreferenceContentStatus;
 	}
 
 	protected IStatus getPreferenceContentStatus() {
diff --git a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/preferences/SaveParticipantConfigurationBlock.java b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/preferences/SaveParticipantConfigurationBlock.java
index bf364af..966e929 100644
--- a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/preferences/SaveParticipantConfigurationBlock.java
+++ b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/preferences/SaveParticipantConfigurationBlock.java
@@ -102,12 +102,7 @@
 	 */
 	@Override
 	public void dispose() {
-		delegateToPreferenceConfiguration(new IDelegateOperation() {
-			@Override
-			public void run(ISaveParticipantPreferenceConfiguration block) {
-				block.dispose();
-			}
-		});
+		delegateToPreferenceConfiguration(ISaveParticipantPreferenceConfiguration::dispose);
 	}
 
 	/*
@@ -132,12 +127,7 @@
 	 */
 	@Override
 	public void performDefaults() {
-		delegateToPreferenceConfiguration(new IDelegateOperation() {
-			@Override
-			public void run(ISaveParticipantPreferenceConfiguration block) {
-				block.performDefaults();
-			}
-		});
+		delegateToPreferenceConfiguration(ISaveParticipantPreferenceConfiguration::performDefaults);
 	}
 
 	/*
@@ -145,32 +135,17 @@
 	 */
 	@Override
 	public void performOk() {
-		delegateToPreferenceConfiguration(new IDelegateOperation() {
-			@Override
-			public void run(ISaveParticipantPreferenceConfiguration block) {
-				block.performOk();
-			}
-		});
+		delegateToPreferenceConfiguration(ISaveParticipantPreferenceConfiguration::performOk);
 	}
 
 	@Override
 	public void enableProjectSettings() {
-		delegateToPreferenceConfiguration(new IDelegateOperation() {
-			@Override
-			public void run(ISaveParticipantPreferenceConfiguration block) {
-				block.enableProjectSettings();
-			}
-		});
+		delegateToPreferenceConfiguration(ISaveParticipantPreferenceConfiguration::enableProjectSettings);
 	}
 
 	@Override
 	public void disableProjectSettings() {
-		delegateToPreferenceConfiguration(new IDelegateOperation() {
-			@Override
-			public void run(ISaveParticipantPreferenceConfiguration block) {
-				block.disableProjectSettings();
-			}
-		});
+		delegateToPreferenceConfiguration(ISaveParticipantPreferenceConfiguration::disableProjectSettings);
 	}
 
 	private void delegateToPreferenceConfiguration(IDelegateOperation op) {
diff --git a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/text/javadoc/JavadocContentAccess2.java b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/text/javadoc/JavadocContentAccess2.java
index 42ae6a5..6739a2f 100644
--- a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/text/javadoc/JavadocContentAccess2.java
+++ b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/text/javadoc/JavadocContentAccess2.java
@@ -309,12 +309,7 @@
 		 * 		or <code>null</code> if none could be found
 		 */
 		public CharSequence getInheritedMainDescription(IMethod method) {
-			return getInheritedDescription(method, new DescriptionGetter() {
-				@Override
-				public CharSequence getDescription(JavadocContentAccess2 contentAccess) {
-					return contentAccess.getMainDescription();
-				}
-			});
+			return getInheritedDescription(method, JavadocContentAccess2::getMainDescription);
 		}
 
 		/**
@@ -361,12 +356,7 @@
 		 * 		or <code>null</code> if none could be found
 		 */
 		public CharSequence getInheritedReturnDescription(IMethod method) {
-			return getInheritedDescription(method, new DescriptionGetter() {
-				@Override
-				public CharSequence getDescription(JavadocContentAccess2 contentAccess) {
-					return contentAccess.getReturnDescription();
-				}
-			});
+			return getInheritedDescription(method, JavadocContentAccess2::getReturnDescription);
 		}
 
 		/**
diff --git a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/typehierarchy/TypeHierarchyViewPart.java b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/typehierarchy/TypeHierarchyViewPart.java
index 439c767..eb5022a 100644
--- a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/typehierarchy/TypeHierarchyViewPart.java
+++ b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/internal/ui/typehierarchy/TypeHierarchyViewPart.java
@@ -269,12 +269,7 @@
 		fRestoreStateJob= null;
 
 		fHierarchyLifeCycle= new TypeHierarchyLifeCycle(this);
-		fTypeHierarchyLifeCycleListener= new ITypeHierarchyLifeCycleListener() {
-			@Override
-			public void typeHierarchyChanged(TypeHierarchyLifeCycle typeHierarchy, IType[] changedTypes) {
-				doTypeHierarchyChanged(typeHierarchy, changedTypes);
-			}
-		};
+		fTypeHierarchyLifeCycleListener= this::doTypeHierarchyChanged;
 		fHierarchyLifeCycle.addChangedListener(fTypeHierarchyLifeCycleListener);
 
 		fPropertyChangeListener= new IPropertyChangeListener() {
diff --git a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/ui/ProblemsLabelDecorator.java b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/ui/ProblemsLabelDecorator.java
index 88c5485..0eca50f 100644
--- a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/ui/ProblemsLabelDecorator.java
+++ b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/ui/ProblemsLabelDecorator.java
@@ -470,12 +470,7 @@
 		}
 		fListeners.add(listener);
 		if (fProblemChangedListener == null) {
-			fProblemChangedListener= new IProblemChangedListener() {
-				@Override
-				public void problemsChanged(IResource[] changedResources, boolean isMarkerChange) {
-					fireProblemsChanged(changedResources, isMarkerChange);
-				}
-			};
+			fProblemChangedListener= this::fireProblemsChanged;
 			JavaPlugin.getDefault().getProblemMarkerManager().addListener(fProblemChangedListener);
 		}
 	}
diff --git a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/ui/wizards/JavaCapabilityConfigurationPage.java b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/ui/wizards/JavaCapabilityConfigurationPage.java
index 3e2d29e..c57a97a 100644
--- a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/ui/wizards/JavaCapabilityConfigurationPage.java
+++ b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/ui/wizards/JavaCapabilityConfigurationPage.java
@@ -27,7 +27,6 @@
 import org.eclipse.core.runtime.CoreException;
 import org.eclipse.core.runtime.IPath;
 import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
 import org.eclipse.core.runtime.NullProgressMonitor;
 import org.eclipse.core.runtime.OperationCanceledException;
 import org.eclipse.core.runtime.SubProgressMonitor;
@@ -91,12 +90,7 @@
 	/* not to be used externally*/
     BuildPathsBlock getBuildPathsBlock() {
         if (fBuildPathsBlock == null) {
-            IStatusChangeListener listener= new IStatusChangeListener() {
-                @Override
-				public void statusChanged(IStatus status) {
-                    updateStatus(status);
-                }
-            };
+            IStatusChangeListener listener= this::updateStatus;
             fBuildPathsBlock= new BuildPathsBlock(new BusyIndicatorRunnableContext(), listener, 0, useNewSourcePage(), null);
         }
         return fBuildPathsBlock;
diff --git a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/ui/wizards/NewJavaProjectWizardPage.java b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/ui/wizards/NewJavaProjectWizardPage.java
index 971d64b..91579b9 100644
--- a/org.eclipse.jdt.ui/ui/org/eclipse/jdt/ui/wizards/NewJavaProjectWizardPage.java
+++ b/org.eclipse.jdt.ui/ui/org/eclipse/jdt/ui/wizards/NewJavaProjectWizardPage.java
@@ -27,7 +27,6 @@
 import org.eclipse.core.runtime.CoreException;
 import org.eclipse.core.runtime.IPath;
 import org.eclipse.core.runtime.IProgressMonitor;
-import org.eclipse.core.runtime.IStatus;
 import org.eclipse.core.runtime.NullProgressMonitor;
 import org.eclipse.core.runtime.OperationCanceledException;
 import org.eclipse.core.runtime.SubProgressMonitor;
@@ -95,12 +94,7 @@
 		setDescription(NewWizardMessages.NewJavaProjectWizardPage_description);
 
 		fMainPage= mainpage;
-		IStatusChangeListener listener= new IStatusChangeListener() {
-			@Override
-			public void statusChanged(IStatus status) {
-				updateStatus(status);
-			}
-		};
+		IStatusChangeListener listener= this::updateStatus;
 
 		fBuildPathsBlock= new BuildPathsBlock(new BusyIndicatorRunnableContext(), listener, 0, false, null);