commit | 05b6ddd634f88cfd820ceaa84cbc7bf143602be6 | [log] [tgz] |
---|---|---|
author | Simeon Andreev <simeon.danailov.andreev@gmail.com> | Thu Feb 01 17:54:19 2018 +0100 |
committer | Simeon Andreev <simeon.danailov.andreev@gmail.com> | Mon Feb 12 08:42:11 2018 +0100 |
tree | 5b5de7d79ae58fcd00f9abfae98e3401a0333ab5 | |
parent | c8e1859acf4544f5e4111b29e71c6b45c938ca28 [diff] |
Bug 530366 - Mismatched source and class name leads to missing .class Given classes MyClass1$InnerClass and MyClass2$InnerClass, renaming MyClass2 to MyClass1 and back results in missing .class file for MyClass1$InnerClass. The class file is restored on changes in MyClass1.java or on a clean build. This is the case, since AbstractImageBuilder.acceptResult doesn't correctly detect that MyClass1$InnerClass already exists, upon renaming MyClass2 to MyClass1. It searches for duplicates with type name MyClass1$InnerClass, instead of MyClass1. Inner classes are not noted, and so the search yields nothing. The inner class of the original MyClass1 is then overwritten, and removed as a secondary type later on. With this change, when compiling after the change, ClassFile.enclosingClassFile is correctly set for the new inner class MyClass1$InnerClass. This allows AbstractImageBuilder to detect that it is a duplicate, and so avoids the issue. Change-Id: I837df5c53ac42ba15a43c2eec634633c9bc9986f Signed-off-by: Simeon Andreev <simeon.danailov.andreev@gmail.com>
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:
For more information, refer to the [JDT wiki page] 1 or the [JDT project overview page] 2.