blob: d334c6a01822b7e8489bbb59e7b6578c937db780 [file] [log] [blame]
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Language" content="en-us" />
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<link rel="stylesheet" href="default_style.css" type="text/css" title="main" media="screen" />
<style type="text/css">
p, table, td, th { font-family: verdana, arial, helvetica, geneva; font-size: 10pt}
pre { font-family: "Courier New", Courier, mono; font-size: 10pt}
h2 { font-family: verdana, arial, helvetica, geneva; font-size: 18pt; font-weight: bold ; line-height: 14px}
code { font-family: "Courier New", Courier, mono; font-size: 10pt}
sup { font-family: verdana, arial, helvetica, geneva; font-size: 10px}
h3 { font-family: verdana, arial, helvetica, geneva; font-size: 14pt; font-weight: bold}
li { font-family: verdana, arial, helvetica, geneva; font-size: 10pt}
h1 { font-family: verdana, arial, helvetica, geneva; font-size: 24pt; font-weight: bold}
body { font-family: verdana, arial, helvetica, geneva; font-size: 10pt; margin-top: 5mm; margin-left: 3mm}
.indextop { font-size: x-large; font-family: verdana, arial, helvetica, sans-serif; font-weight: bold}
.indexsub { font-size: xx-small; font-family: verdana, arial, helvetica, sans-serif; color: #8080FF}
a.bar:link { text-decoration: none; color: #FFFFFF}
a.bar:visited { color: #FFFFFF; text-decoration: none}
a.bar:hover { color: #FFFFFF; text-decoration: underline}
a.bar { color: #FFFFFF}
table.news td {border-top: solid thin black;}
table.news tr {vertical-align: top;}
table.news tr td.section {font-size: 20px; font-weight: bold;}
table.news tr td.title {vertical-align: top; width: 30%; font-weight: bold;}
table.news tr td.content {vertical-align: top; width: 70%;}
</style>
<title>Eclipse Project 4.3 M1 News</title>
</head>
<body>
<h1>Eclipse Project 4.3 M1 - New and Noteworthy</h1>
<p>Here are some of the more noteworthy things available in milestone build M1
(August 10, 2012) which is now available for <a href="http://download.eclipse.org/eclipse/downloads/" target="_top">download</a>.
</p>
<ul>
<li><a href="#Platform">Platform</a></li>
<li><a href="#JDT">JDT</a></li>
</ul>
<table class="news" border="0" cellpadding="10" cellspacing="0" width="80%">
<tr>
<td colspan="2" class="section" id="Platform">Platform</td>
</tr>
<tr id="ua-lucene">
<td class="title">Migrated to Lucene 3.5</td>
<td class="content">
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.
</td>
</tr>
<tr>
<td colspan="2" class="section" id="JDT">JDT</td>
</tr>
<tr id="convert-if-else-to-switch">
<td class="title">New 'Convert if-else to switch' quick assist</td>
<td class="content">
The new <b>Convert 'if-else' to 'switch'</b> quick assist (<b>Ctrl+1</b>) allows you to convert an if-else statement to
an equivalent switch statement.
<p><img src="images/convert-if-else-to-switch.png" alt=""/></p>
This quick assist is the reverse of the existing <b>Convert 'switch' to 'if-else'</b> quick assist.
</td>
</tr>
<tr id="tolerateIllegalAmbiguousVarargsInvocation">
<td class="title">Force Eclipse to compile (illegal) ambiguous varargs code</td>
<td class="content"> 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.
<p><a href="images/illegal-ambiguous-varargs-error.txt"><img src="images/illegal-ambiguous-varargs-error.png" alt="follow link for source"/></a></p>
<p>If you still want the above code to compile in compliance &lt; 1.7, to mimic JDK 6 or below, you can use the
system property <b>tolerateIllegalAmbiguousVarargsInvocation</b> 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:</p>
<pre><code>...
-vmargs
-DtolerateIllegalAmbiguousVarargsInvocation=true
...</code></pre>
<p><i>Note</i>: 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:</p>
<p><a href="images/illegal-ambiguous-varargs-error2.txt"><img src="images/illegal-ambiguous-varargs-error2.png" alt="follow link for source"/></a></p>
</td>
</tr>
<tr id="new-batch-compiler-options">
<td class="title">New batch compiler options</td>
<td class="content"> 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 <b>Preferences &gt; Java &gt; Compiler &gt; Errors/Warnings</b> page:
<ul>
<li>invalidJavadoc: set all warnings for malformed Javadoc tags</li>
<li>invalidJavadocTag: validate Javadoc tag arguments</li>
<li>invalidJavadocTagDep: validate deprecated references in Javadoc tag args</li>
<li>invalidJavadocTagNotVisible: validate non-visible references in Javadoc tag args</li>
<li>invalidJavadocVisibility(&lt;visibility&gt;): specify visibility modifier for malformed Javadoc tag warnings</li>
<li>missingJavadocTags: enable detection of missing Javadoc tags</li>
<li>missingJavadocTagsOverriding: detect missing Javadoc tags in overriding methods</li>
<li>missingJavadocTagsMethod: detect missing Javadoc tags for method type parameter</li>
<li>missingJavadocTagsVisibility(&lt;visibility&gt;): specify visibility modifier for missing Javadoc tags warnings</li>
<li>missingJavadocComments: detect missing Javadoc comments</li>
<li>missingJavadocCommentsOverriding: detect missing Javadoc tags in overriding methods</li>
<li>missingJavadocCommentsVisibility(&lt;visibility&gt;): specify visibility modifier for missing Javadoc comments warnings</li>
<li>nullAnnotConflict: detect conflict between null annotation specified and nullness inferred. Is effective only with nullAnnot option enabled</li>
<li>nullAnnotRedundant: detect redundant specification of null annotation. Is effective only with nullAnnot option enabled</li>
<li>nullUncheckedConversion: detect unchecked conversion from non-annotated type to @NonNull type. Is effective only with nullAnnot option enabled</li>
<li>unusedParam: detect unused parameter</li>
<li>unusedParamOverriding: detect unused parameter for overriding method</li>
<li>unusedParamImplementing: detect unused parameter for implementing method</li>
<li>unusedParamIncludeDoc: detect unused parameter documented in comment tag</li>
<li>unusedThrownWhenOverriding: detect unused declared thrown exception in overriding method</li>
<li>unusedThrownIncludeDocComment: detect unused declared thrown exception, documented in a comment tag</li>
<li>unusedThrownExemptExceptionThrowable: detect unused declared thrown exception, exempt Exception and Throwable</li>
</ul>
<p> For more information on using batch compiler options, please refer to <b>Help &gt; Java Development User Guide &gt; Tasks &gt; Compiling Java Code &gt; Using the batch compiler</b>.</p>
</td>
</tr>
<tr id="content-assist-TL_CONSTRUCTOR_START">
<td class="title">New API to indicate content assist requested on the start of a constructor</td>
<td class="content">
org.eclipse.jdt.core.CompletionContext.TL_CONSTRUCTOR_START:
<pre>
/**
* 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 |
* }
* }
*/
</pre>
</td>
</tr>
<tr>
<td colspan="2"> </td>
</tr>
</table>
</body>
</html>