Here are some of the more noteworthy things available in milestone build M1 (August 10, 2012) which is now available for download.
| Platform | |
| Migrated to Lucene 3.5 | The Eclipse platform help system has migrated from Lucene 2.9.1 to Lucene 3.5. This change brings improved performance and many bug fixes in help search. Some old help system API related to Lucene has been changed or removed as part of this fix. Refer to the platform 4.3 migration guide for more details. |
| JDT | |
| New 'Convert if-else to switch' quick assist |
The new Convert 'if-else' to 'switch' quick assist (Ctrl+1) allows you to convert an if-else statement to
an equivalent switch statement.
|
| Force Eclipse to compile (illegal) ambiguous varargs code | JDK 6 and below had a bug and considered the code below legal.
However, this bug was fixed in JDK 7 and the code now reports an ambiguous invocation error at the call site for test(..).
Eclipse Juno followed and fixed this across all compliance levels.
If you still want the above code to compile in compliance < 1.7, to mimic JDK 6 or below, you can use the system property tolerateIllegalAmbiguousVarargsInvocation to force Eclipse to tolerate such ambiguous varargs cases. This property can e.g. be set in the eclipse.ini file after the -vmargs setting:
Note: With this setting, Eclipse also mimics JDK 6 and below in raising an error in other cases that are legal in both JDK 7 and Eclipse: |
| New batch compiler options | If you use the ECJ batch compiler using the command line or Ant tasks, you can now configure the following options which previously could only be set through
the Preferences > Java > Compiler > Errors/Warnings page:
For more information on using batch compiler options, please refer to Help > Java Development User Guide > Tasks > Compiling Java Code > Using the batch compiler. |
| New API to indicate content assist requested on the start of a constructor |
org.eclipse.jdt.core.CompletionContext.TL_CONSTRUCTOR_START:
/**
* The completed token is the first token of a constructor
* invocation expression.
* e.g.
*
* public class X {
* public void bar() {
* new Foo| // completion occurs at |
* }
* }
*/
|