Bug 577699 - [extract method] Entire lambda body cannot be extracted

- fix ExtractMethodAnalyzer to not invalidate the body of a Lambda
- fix ExtractMethodRefactoring to recognize when it has a return
  or call that is replacing a lambda body and not add semi-colon
- also fix ExtractMethodRefactoring to recognize when it is creating
  a method from a Block and to unwrap the block to just move over
  the statements
- add new tests to ExtractMethodTests1d8

Change-Id: Iacacee7fa582fbcf76ceb9063faf6bf9e764f4b9
Reviewed-on: https://git.eclipse.org/r/c/jdt/eclipse.jdt.ui/+/188710
Tested-by: JDT Bot <jdt-bot@eclipse.org>
Tested-by: Jeff Johnston <jjohnstn@redhat.com>
Reviewed-by: Jeff Johnston <jjohnstn@redhat.com>
9 files changed
tree: c3eafc5f23b45f2f7ea852dc6d8813d3a9ba8d0d
  1. org.eclipse.jdt.astview/
  2. org.eclipse.jdt.astview.feature/
  3. org.eclipse.jdt.core.manipulation/
  4. org.eclipse.jdt.jeview/
  5. org.eclipse.jdt.jeview.feature/
  6. org.eclipse.jdt.junit/
  7. org.eclipse.jdt.junit.core/
  8. org.eclipse.jdt.junit.runtime/
  9. org.eclipse.jdt.junit4.runtime/
  10. org.eclipse.jdt.junit5.runtime/
  11. org.eclipse.jdt.text.tests/
  12. org.eclipse.jdt.ui/
  13. org.eclipse.jdt.ui.examples.javafamily/
  14. org.eclipse.jdt.ui.examples.projects/
  15. org.eclipse.jdt.ui.junit.sampleproject/
  16. org.eclipse.jdt.ui.tests/
  17. org.eclipse.jdt.ui.tests.refactoring/
  18. org.eclipse.jdt.ui.unittest.junit/
  19. org.eclipse.jdt.ui.unittest.junit.feature/
  20. org.eclipse.ltk.core.refactoring/
  21. org.eclipse.ltk.core.refactoring.tests/
  22. org.eclipse.ltk.ui.refactoring/
  23. org.eclipse.ltk.ui.refactoring.tests/
  24. tests-pom/
  25. .gitignore
  26. CONTRIBUTING
  27. LICENSE
  28. NOTICE
  29. pom.xml
  30. README.md
README.md

Contributing to JDT UI - Java development tools UI

Thanks for your interest in this project.

Project description:

The JDT UI implements the user interface for the Java IDE. This includes views like Package Explorer and JUnit, the Java and properties files editors, Java search, and refactorings. Website: http://www.eclipse.org/jdt/ui/

How to contribute:

Contributions to JDT UI are most welcome. There are many ways to contribute, from entering high quality bug reports, to contributing code or documentation changes. For a complete guide, see the [How to Contribute] 1 page on the team wiki.

Developer resources:

Information regarding source code management, builds, coding standards, and more.

Contributor License Agreement:

Before your contribution can be accepted by the project, you need to create and electronically sign the Eclipse Foundation Contributor License Agreement (CLA).

Forum:

Public forum for Eclipse JDT users.

Search for bugs:

This project uses Bugzilla to track ongoing development and issues.

Create a new bug:

Be sure to search for existing bugs before you create another one. Remember that contributions are always welcome!

Contact:

Contact the project developers via the project's “dev” list.

License

Eclipse Public License (EPL) v2.0