Bug 526010 - Improved traversal of empty parents on package delete

When removing lots of packages, for each package JavaModelOperation will
go up the parent structure and try to remove empty packages. This is
very IO intensive (i.e. slow).

With this change parents are traversed only as long as they are empty.
Since deleting package/sources is done bottom-up, this spares some IO.

Change-Id: I1f96c52b8bfc8df66c4a6fc628595235cf05309c
Signed-off-by: Simeon Andreev <simeon.danailov.andreev@gmail.com>
1 file changed
tree: 3c49f7b06c475d12b161a8f650a89e7d0d8d7faa
  1. modules/
  2. org.eclipse.jdt.annotation/
  3. org.eclipse.jdt.annotation_v1/
  4. org.eclipse.jdt.apt.core/
  5. org.eclipse.jdt.apt.pluggable.core/
  6. org.eclipse.jdt.apt.pluggable.tests/
  7. org.eclipse.jdt.apt.tests/
  8. org.eclipse.jdt.apt.ui/
  9. org.eclipse.jdt.compiler.apt/
  10. org.eclipse.jdt.compiler.apt.tests/
  11. org.eclipse.jdt.compiler.tool/
  12. org.eclipse.jdt.compiler.tool.tests/
  13. org.eclipse.jdt.core/
  14. org.eclipse.jdt.core.internal.tools/
  15. org.eclipse.jdt.core.tests.builder/
  16. org.eclipse.jdt.core.tests.compiler/
  17. org.eclipse.jdt.core.tests.model/
  18. org.eclipse.jdt.core.tests.performance/
  19. tests-pom/
  20. .gitignore
  21. pom.xml
  22. README.md
README.md

JDT Core

This is the core part of Eclipse's Java development tools. It contains the non-UI support for compiling and working with Java code, including the following:

  • an incremental or batch Java compiler that can run standalone or as part of the Eclipse IDE
  • Java source and class file indexer and search infrastructure
  • a Java source code formatter
  • APIs for code assist, access to the AST and structured manipulation of Java source.

For more information, refer to the [JDT wiki page] 1 or the [JDT project overview page] 2.

License

Eclipse Public License (EPL) v1.0