blob: bfa4eff2db5a295a84d700430ed13260351f2848 [file] [log] [blame]
Stephan Herrmann7b7062f2010-04-01 19:56:59 +00001<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "">
4 <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
5 <meta name="Author" content="IBM">
6 <title>JDT/Core Release Notes 3.6</title>
7 <link rel="stylesheet" href="jdt_core_style.css" charset="iso-8859-1" type="text/css">
9<body text="#000000" bgcolor="#FFFFFF">
10<table border=0 cellspacing=5 cellpadding=2 width="100%" >
11 <tr>
12 <td align="left" width="72%" class="title1">
13 <font size="+3"><b>jdt core - build notes 3.6 stream</b></font>
14 </td>
15 </tr>
16 <tr><td align="left" width="72%" class="title2"><font size="-2">Java development tools core</font></td></tr>
17 <tr><td>&nbsp;</td></tr>
18 <tr>
19 <td class="title3">
20 <font size="-1">
21 Here are the build notes for the Eclipse JDT/Core plug-in project
22 <a href=""><b>org.eclipse.jdt.core</b></a>,
23 describing <a href="" target=new>bug</a> resolution and substantial changes in the <a href=""><b>HEAD</b></a> branch.
24 For more information on 3.6 planning, please refer to <a href="">JDT/Core release plan</a>,
25 the next <a href="">milestone plan</a>,
26 the overall <a href="">official plan</a>,
27 or the <a href="">build schedule</a>.
28 This present document covers all changes since Release 3.5 (also see a summary of <a href="">API changes</a>).
29 <br>Maintenance of previous releases of JDT/Core is performed in parallel branches:
30 <a href="">R3.5.x</a>,
31 <a href="">R3.4.x</a>,
32 <a href="">R3.3.x</a>,
33 <a href="">R3.2.x</a>,
34 <a href="">R3.1.x</a>,
35 <a href="">R3.0.x</a>,
36 <a href="">R2.1.x</a>,
37 <a href="">R2.0.x</a>,
38 <a href="">R1.0.x</a>.
39 </font>
40 </td>
41 </tr>
Stephan Herrmanne042d002010-06-05 13:49:29 +000043<a name="v_A58"></a>
45Eclipse Platform Build Notes<br>
46Java development tools core</h1>
47Eclipse SDK 3.6 - June 3, 2010 - 3.6.0
48<br>Project org.eclipse.jdt.core v_A58
49(<a href="">cvs</a>).
50<h2>What's new in this drop</h2>
52<h3>Problem Reports Fixed</h3>
53<a href="">315568</a>
54improve Javadoc of SearchPattern#createPattern(String, int, int, int)
56<a name="v_A57"></a>
58Eclipse Platform Build Notes<br>
59Java development tools core</h1>
60Eclipse SDK 3.6RC4 - June 3, 2010 - 3.6.0 RC4
61<br>Project org.eclipse.jdt.core v_A57
62(<a href="">cvs</a>).
63<h2>What's new in this drop</h2>
65<li>Use default disabling/enabling tags in the samples of the Javadoc comments
66of the formatter constants <code>FORMATTER_DISABLING_TAG</code> and
68<li>Fixed minor javadoc issues of <code>createStrictHierarchyScope()</code>.</li>
71<h3>Problem Reports Fixed</h3>
72<a href="">314709</a>
73Clarify -encoding &lt;encoding name&gt; in jdt_api_compile.htm
Stephan Herrmannd5c3cc62010-05-30 17:34:25 +000075<a name="v_A56"></a>
77Eclipse Platform Build Notes<br>
78Java development tools core</h1>
79Eclipse SDK 3.6RC3 - May 27, 2010 - 3.6.0 RC3
80<br>Project org.eclipse.jdt.core v_A56
81(<a href="">cvs</a>).
82<h2>What's new in this drop</h2>
84<h3>Problem Reports Fixed</h3>
85<a href="">313890</a>
86Migration guide to 3.6 for containers with MANIFEST-referred entries
87<br><a href="">313965</a>
88Breaking change in classpath container API
90<a name="v_A55"></a>
92Eclipse Platform Build Notes<br>
93Java development tools core</h1>
94Eclipse SDK 3.6RC3 - May 25, 2010
95<br>Project org.eclipse.jdt.core v_A55
96(<a href="">cvs</a>).
97<h2>What's new in this drop</h2>
99<h3>Problem Reports Fixed</h3>
100<a href="">313706</a>
101Replace ie. with i.e. in jdt.core documentation
Stephan Herrmann8f4b3212010-05-22 16:38:56 +0000103<a name="v_A54"></a>
105Eclipse Platform Build Notes<br>
106Java development tools core</h1>
107Eclipse SDK 3.6RC2 - May 20, 2010 - 3.6.0 RC2
108<br>Project org.eclipse.jdt.core v_A54
109(<a href="">cvs</a>).
110<h2>What's new in this drop</h2>
113Added a new preference to force the formatter to try to keep nested expressions on one line.
115This new preference is controlled with the option:</p>
119 * FORMATTER / Option to wrap outer expressions in nested expressions
120 * - option id: "org.eclipse.jdt.core.formatter.wrap_outer_expressions_when_nested"
121 * - possible values: { TRUE, FALSE }
122 * - default: TRUE
123 *
124 * This option changes the formatter behavior when nested method calls are encountered.
125 * Since 3.6, the formatter tries to wrap outermost method calls first to have a better output.
126 * For example, let's say we are using the Eclipse built-in profile with a max line width=40+space for tab policy.
127 * Then consider the following snippet:
128 *
129 * public class X01 {
130 * void test() {
131 * foo(bar(1, 2, 3, 4), bar(5, 6, 7, 8));
132 * }
133 * }
134 *
135 * With this new strategy, the formatter will wrap the line earlier, between the arguments of the message call
136 * for this example, and then it will allow to keep each nested call on a single line.
137 * Hence, the output will be:
138 *
139 * public class X01 {
140 * void test() {
141 * foo(bar(1, 2, 3, 4),
142 * bar(5, 6, 7, 8));
143 * }
144 * }
145 *
146 * Important notes:
Stephan Herrmannd5c3cc62010-05-30 17:34:25 +0000147 * 1. This new behavior is automatically activated (i.e. the default value for this preference is {@link #TRUE}).
148 * If the backward compatibility regarding previous versions' formatter behavior (i.e. before 3.6 version) is necessary,
Stephan Herrmann8f4b3212010-05-22 16:38:56 +0000149 * then the preference needs to be set to {@link #FALSE} to retrieve the previous formatter behavior.
150 * 2. The new strategy currently only applies to nested method calls, but might be extended to other nested expressions in future versions
151 *
152 * @see #TRUE
153 * @see #FALSE
154 * @since 3.6
155 */
157See bug <a href="">313524</a> for more details.
161<h3>Problem Reports Fixed</h3>
162<a href="">313524</a>
163[formatter] Add preference for improved lines wrapping in nested method calls
164<br><a href="">313109</a>
165@SuppressWarnings on multiple locals is marked unnecessary if any local is never used
Stephan Herrmann99004722010-05-17 20:32:50 +0000167<a name="v_A53"></a>
169Eclipse Platform Build Notes<br>
170Java development tools core</h1>
171Eclipse SDK 3.6RC1 - May 12, 2010 - 3.6.0 RC1
172<br>Project org.eclipse.jdt.core v_A53
173(<a href="">cvs</a>).
174<h2>What's new in this drop</h2>
176<h3>Problem Reports Fixed</h3>
177<a href="">312326</a>
178IllegalArgumentException using open type dialog
179<br><a href="">310159</a>
180Hang in JavaModel.getExternalTarget(
182<a name="v_A52"></a>
184Eclipse Platform Build Notes<br>
185Java development tools core</h1>
186Eclipse SDK 3.6RC1 - May 11, 2010
187<br>Project org.eclipse.jdt.core v_A52
188(<a href="">cvs</a>).
189<h2>What's new in this drop</h2>
191<h3>Problem Reports Fixed</h3>
192<a href="">157847</a>
193NPE in WildcardBinding.computeUniqueKey during code assist
194<br><a href="">311849</a>
195[quick fix] @SuppressWarnings does not work as expected inside a for loop
197<a name="v_A51"></a>
199Eclipse Platform Build Notes<br>
200Java development tools core</h1>
201Eclipse SDK 3.6RC1 - May 8, 2010
202<br>Project org.eclipse.jdt.core v_A51
203(<a href="">cvs</a>).
204<h2>What's new in this drop</h2>
206<h3>Problem Reports Fixed</h3>
207<a href="">306170</a>
208[perfs] Regression for FullSourceWorkspaceTypeHierarchyTests#testPerfAllTypes()
209<br><a href="">298844</a>
210[formatter] New lines in empty method body wrong behavior
211<br><a href="">311864</a>
212[formatter] NPE with empty {@code }
214<a name="v_A50"></a>
216Eclipse Platform Build Notes<br>
217Java development tools core</h1>
218Eclipse SDK 3.6RC1 - May 6, 2010
219<br>Project org.eclipse.jdt.core v_A50
220(<a href="">cvs</a>).
221<h2>What's new in this drop</h2>
224Added a new preference to switch on/off the usage of the disabling/enabling tags of the formatter.
226This new preference is controlled with the option:</p>
230 * FORMATTER / Option to use the disabling and enabling tags defined respectively by the {@link #FORMATTER_DISABLING_TAG} and the {@link #FORMATTER_ENABLING_TAG} options.
231 * - option id: "org.eclipse.jdt.core.formatter.use_on_off_tags"
232 * - possible values: TRUE / FALSE
233 * - default: FALSE
234 *
235 * @since 3.6
236 */
238See bug <a href="">311582</a> for more details.
242<h3>Problem Reports Fixed</h3>
243<a href="">311617</a>
244[formatter] provide default tags to enable/disable formatter
245<br><a href="">311582</a>
246[formatter] Master switch to enable/disable on/off tags
247<br><a href="">307040</a>
248Search Job with HierarchyScope on Object does not cancel
249<br><a href="">302295</a>
250After associating source folder with rt.jar project refresh takes exceedingly long time.
251<br><a href="">311048</a>
252AbortCompilation propagated from CompilationUnitProblemFinder.process()
254<a name="v_A49"></a>
256Eclipse Platform Build Notes<br>
257Java development tools core</h1>
258Eclipse SDK 3.6RC1 - May 4, 2010
259<br>Project org.eclipse.jdt.core v_A49
260(<a href="">cvs</a>).
261<h2>What's new in this drop</h2>
263<h3>Problem Reports Fixed</h3>
264<a href="">310811</a>
265[perfs] Big regression on FullSourceWorkspaceFormatterTests#testFormatDefaultBigFile()
Stephan Herrmann6c186a42010-04-27 23:21:41 +0000267<a name="v_A48"></a>
Stephan Herrmann3961b992010-04-27 12:01:30 +0000268<hr><h1>
269Eclipse Platform Build Notes<br>
270Java development tools core</h1>
271Eclipse SDK 3.6M7 - April 25, 2010 - 3.6.0 M7
Stephan Herrmann6c186a42010-04-27 23:21:41 +0000272<br>Project org.eclipse.jdt.core v_A48
273(<a href="">cvs</a>).
274<h2>What's new in this drop</h2>
276<h3>Problem Reports Fixed</h3>
277<a href="">310330</a>
278Add multiple encoding support for the batch compiler
Stephan Herrmann6c186a42010-04-27 23:21:41 +0000279
280<a name="v_A47"></a>
282Eclipse Platform Build Notes<br>
283Java development tools core</h1>
284Eclipse SDK 3.6M7 - April 25, 2010
Stephan Herrmann3961b992010-04-27 12:01:30 +0000285<br>Project org.eclipse.jdt.core v_A47
286(<a href="">cvs</a>).
287<h2>What's new in this drop</h2>
289<h3>Problem Reports Fixed</h3>
290<a href="">309835</a>
291[formatter] adds blank lines on each run
292<br><a href="">310213</a>
293AIOOBE in IndexSelector.initializeIndexLocations()
294<br><a href="">309966</a>
295IType#getKey() does not work for unresolved local ITypes
Stephan Herrmanna55c3412010-04-24 14:26:14 +0000297<a name="v_A46"></a>
299Eclipse Platform Build Notes<br>
300Java development tools core</h1>
Stephan Herrmann3961b992010-04-27 12:01:30 +0000301Eclipse SDK 3.6M7 - April 23, 2010
Stephan Herrmanna55c3412010-04-24 14:26:14 +0000302<br>Project org.eclipse.jdt.core v_A46
303(<a href="">cvs</a>).
304<h2>What's new in this drop</h2>
306<h3>Problem Reports Fixed</h3>
307<a href="">59891</a>
308[formatter] improve lines wrapping in nested method calls
309<br><a href="">306172</a>
310[perfs] Invalid test duration for FullSourceWorkspaceTypeHierarchyTests#testPerSuperTypes()
311<br><a href="">267091</a>
312[content assist] After 'implements' interface members are not proposed
313<br><a href="">261534</a>
314content assist after instanceof should also work after &amp;&amp;
315<br><a href="">308980</a>
316[content assist]An initializer inside a non-array field declaration confuses content assist
317<br><a href="">310002</a>
318ToolFactory.createScanner(..) should use workspace compliance
319<br><a href="">291528</a>
320Synchronize project warning/error settings to
321<br><a href="">309787</a>
322Extension point &quot;org.eclipse.jdt.core.codeFormatter&quot; is ignored
323<br><a href="">244820</a>
324Content assist after 'instanceof' should also work in assignment
325<br><a href="">309706</a>
326[formatter] doesn't work when code has three semicolons side by side
Stephan Herrmannf3e60b32010-04-21 21:24:15 +0000328<a name="v_A45"></a>
330Eclipse Platform Build Notes<br>
331Java development tools core</h1>
Stephan Herrmanna55c3412010-04-24 14:26:14 +0000332Eclipse SDK 3.6M7 - April 20, 2010
Stephan Herrmannf3e60b32010-04-21 21:24:15 +0000333<br>Project org.eclipse.jdt.core v_A45
334(<a href="">cvs</a>).
335<h2>What's new in this drop</h2>
337<h3>Problem Reports Fixed</h3>
338<a href="">305037</a>
339missing story for attributes of referenced JARs in classpath containers
340<br><a href="">305116</a>
341[index] Improve performance of indexes results tables
342<br><a href="">236306</a>
343[content assist] for method invocation in variable initializer should not guess variable
344<br><a href="">302865</a>
345Issue with &quot;import&quot; a class and &quot;import static&quot; a method with the same name
346<br><a href="">309022</a>
347[ImportRewrite] Add Import wrongly removes import for nested type
349<a name="v_A44"></a>
351Eclipse Platform Build Notes<br>
352Java development tools core</h1>
353Eclipse SDK 3.6M7 - April 13, 2010
354<br>Project org.eclipse.jdt.core v_A44
355(<a href="">cvs</a>).
356<h2>What's new in this drop</h2>
358<h3>Problem Reports Fixed</h3>
359<a href="">308754</a>
360CompilationUnit.rewrite messes up .class-literal in annotation instead of changing class to interface
361<br><a href="">306519</a>
362JavaCore#getReferencedClasspathEntries(IClasspathEntry, IJavaProject) should allow null project
363<br><a href="">308428</a>
364Possible problem to get corrections with surrogate characters
365<br><a href="">307295</a>
366Task tags and task priorities
367<br><a href="">308476</a>
368Test ClasspathTests#testBug308150 fails on all platforms
369<br><a href="">305043</a>
370Internal error during classpath init
371<br><a href="">307486</a>
372DBCS3.6: Fail to propose Ext-B labels with content assist in Java Editor
373<br><a href="">308256</a>
374DiagnosticListener always supplies Diagnostic.getSource()==null
375<br><a href="">308356</a>
376codeSelect(..) doesn't work for local variable with surrogate in name
377<br><a href="">308245</a>
378Valid code fails to compile in 3.6
379<br><a href="">307885</a>
380Error message for instanceof &lt;parameterized type&gt; wrong arguments
381<br><a href="">249704</a>
382[code assist] autocomplete with anonymous classes does stop working
383<br><a href="">308150</a>
384JAR with invalid Class-Path entry in MANIFEST.MF crashes the project
386<a name="v_A43"></a>
388Eclipse Platform Build Notes<br>
389Java development tools core</h1>
390Eclipse SDK 3.6M7 - April 6, 2010
391<br>Project org.eclipse.jdt.core v_A43
392(<a href="">cvs</a>).
393<h2>What's new in this drop</h2>
395<h3>Problem Reports Fixed</h3>
396<a href="">306223</a>
397[search] Searching for annotation references report all type references
398<br><a href="">292087</a>
399anonymous class in array member initializer confuses content assist
400<br><a href="">307337</a>
401[content assist] Default constructor should not be proposed for anonymous types
402<br><a href="">306568</a>
403[ImportRewrite] Add Import does not work for nested type when package is on-demand imported
405<a name="v_A42"></a>
407Eclipse Platform Build Notes<br>
408Java development tools core</h1>
409Eclipse SDK 3.6M7 - March 30, 2010
410<br>Project org.eclipse.jdt.core v_A42
411(<a href="">cvs</a>).
412<h2>What's new in this drop</h2>
414<h3>Problem Reports Fixed</h3>
415<a href="">202634</a>
416[codeassist] missing super proposal in specific source
417<br><a href="">304394</a>
418IJavaElement#getAttachedJavadoc(IProgressMonitor) should support referenced entries
419<br><a href="">305122</a>
420FUP of 302949
421<br><a href="">306917</a>
422Exception occurred during compilation unit conversion:
423<br><a href="">306196</a>
424[search] NPE while searching for annotation references in rt.jar of JRE 6.0
425<br><a href="">288658</a>
426[compiler][1.5] Annotations visibility issues
428<a name="v_A41"></a>
430Eclipse Platform Build Notes<br>
431Java development tools core</h1>
432Eclipse SDK 3.6M7 - March 23, 2010
433<br>Project org.eclipse.jdt.core v_A41
434(<a href="">cvs</a>).
435<h2>What's new in this drop</h2>
437<h3>Problem Reports Fixed</h3>
438<a href="">305518</a>
439[formatter] Line inside &lt;pre&gt; tag is wrongly indented by one space when starting just after the star
440<br><a href="">295825</a>
441[formatter] Commentaries are running away after formatting are used
442<br><a href="">306477</a>
443Indexer(?) fails to recognise enum as a type
444<br><a href="">305830</a>
445[formatter] block comment should not be formatted when a non-nls tag is on the same line
446<br><a href="">300031</a>
447The deprecation warning for a type should not include the package name
448<br><a href="">306078</a>
449Navigate to Inaccessible Field
450<br><a href="">209479</a>
451infinite loop in BindingKey when signatures are invalid
452<br><a href="">293558</a>
453[quick assist] &quot;Invert if statement&quot; fails when comment follows
454<br><a href="">182459</a>
455[compiler] Inconsistent error range for unresolved field
456<br><a href="">192233</a>
457[AST] CompilationUnit.rewrite() removes whitespace between return type and method name
458<br><a href="">306073</a>
459ASTRewrite Javadoc wrongly talks about getTargetSourceRangeComputer
460<br><a href="">305001</a>
461Exception occurred in listener of Java element change notification
462<br><a href="">305590</a>
463Redundant null check false-positive
464<br><a href="">305755</a>
465Remove deprecated API that has been added for 3.6
467<a name="v_A40"></a>
469Eclipse Platform Build Notes<br>
470Java development tools core</h1>
471Eclipse SDK 3.6M7 - March 16, 2010
472<br>Project org.eclipse.jdt.core v_A40
473(<a href="">cvs</a>).
474<h2>What's new in this drop</h2>
476<h3>Problem Reports Fixed</h3>
477<a href="">305371</a>
478[formatter] Unexpected indentation of line comment
479<br><a href="">305281</a>
480[formatter] Turning off formatting changes comment's formatting
Stephan Herrmanne5d6be82010-04-02 03:29:32 +0000482<a name="v_A39"></a>
484Eclipse Platform Build Notes<br>
485Java development tools core</h1>
486Eclipse SDK 3.6M6 - March 9, 2010 - 3.6.0 M6
487<br>Project org.eclipse.jdt.core v_A39
488(<a href="">cvs</a>).
489<h2>What's new in this drop</h2>
491<h3>Problem Reports Fixed</h3>
492<a href="">289057</a>
493Java Content Assist taking too long
494<br><a href="">303830</a>
495&quot;X cannot be resolved or is not a field&quot; erroneously reported
496<br><a href="">235658</a>
497Valid identifier unrecognized.
498<br><a href="">304841</a>
499[search] NPE in IndexSelector.initializeIndexLocations
500<br><a href="">295866</a>
501FormalParameter in JDT DOM/AST documentation
502<br><a href="">304817</a>
503Review documentation of ASTParser class
505<a name="v_A38"></a>
507Eclipse Platform Build Notes<br>
508Java development tools core</h1>
509Eclipse SDK 3.6M6 - March 5, 2010
510<br>Project org.eclipse.jdt.core v_A38
511(<a href="">cvs</a>).
512<h2>What's new in this drop</h2>
515Added two new preferences to allow to disable the formatter in a section of the code.
516These two preference define respectively the tag which disables the formatting
517and the tag which re-enable it.
519These new preferences are controlled with the options:</p>
524 * FORMATTER / Option to define the tag to put in a comment to disable the formatting.
525 * See the {@link #FORMATTER_ENABLING_TAG} option to re-enable it.
526 * - option id: "org.eclipse.jdt.core.formatter.disabling_tag"
527 * - possible values: String, with constraints mentioned below
528 * - default: &quot;&quot;
529 *
530 * Note that:
531 *
532 * 1. The tag name will be trimmed. Hence if it does contain white spaces
533 * at the beginning or at the end, they will not be taken into account while
534 * searching for the tag in the comments
535 * 2. If a tag is starting with a letter or digit, then it cannot be leaded by
536 * another letter or digit to be recognized
537 * (<b><i>"ToDisableFormatter"</i></b> will not be recognized as a disabling tag
538 * <b><i>"DisableFormatter"</i></b>, but <b><i>"Re:DisableFormatter"</i></b>
539 * will be detected for either tag <b><i>"DisableFormatter"</i></b> or
540 * <b><i>":DisableFormatter"</i></b>).
541 * Respectively, a tag ending with a letter or digit cannot be followed by a letter
542 * or digit to be recognized (<b><i>"DisableFormatter1"</i></b> will not be
543 * recognized as a disabling tag <b><i>"DisableFormatter"</i></b>, but
544 * <b><i>"DisableFormatter:1"</i></b> will be detected either for tag
545 * <b><i>"DisableFormatter"</i></b> or <b><i>"DisableFormatter:"</i></b>)
546 * 3. As soon as the formatter encounters the defined disabling tag, it stops to
547 * format the code from the beginning of the comment including this tag. If it
548 * was already disabled, the tag has no special effect.
549 * For example, the second defined enabling tag &quot;<b>disable-formatter</b>&quot;
550 * in the following snippet is not necessary as the formatter was already disabled
551 * since the first one:
552 * class X {
553 * // disable-formatter
554 * void foo1() {}
555 * // disable-formatter
556 * void foo2() {}
557 * void bar1() {}
558 * void bar2() {}
559 * }
560 *
561 * 4. If no enabling tag is found by the formatter after the disabling tag, then
562 * the end of the snippet won't be formatted.
563 * For example, when a disabling tag is put at the beginning of the code, then
564 * the entire content of a compilation unit is not formatted:
565 * // disable-formatter
566 * class X {
567 * void foo1() {}
568 * void foo2() {}
569 * void bar1() {}
570 * void bar2() {}
571 * }
572 *
573 * 5. If a mix of disabling and enabling tags is done in the same comment, then
574 * the formatter will only take into account the last encountered tag in the
575 * comment.
576 * For example, in the following snippet, the formatter will be disabled after
577 * the comment:
578 * class X {
Stephan Herrmann8f4b3212010-05-22 16:38:56 +0000579 * /*
580 * &nbsp;* This is a comment with a mix of disabling and enabling tags:
581 * &nbsp;* - <b>disable-formatter</b>
582 * &nbsp;* - <b>enable-formatter</b>
583 * &nbsp;* - <b>disable-formatter</b>
584 * &nbsp;* The formatter will stop to format from the beginning of this comment...
585 * &nbsp;*/
Stephan Herrmanne5d6be82010-04-02 03:29:32 +0000586 * void foo() {}
587 * void bar() {}
588 * }
589 *
Stephan Herrmann8f4b3212010-05-22 16:38:56 +0000590 * 6. The tag cannot include newline character (i.e. '\n') but it can have white spaces.
Stephan Herrmanne5d6be82010-04-02 03:29:32 +0000591 * E.g. "<b>format: off</b>" is a valid disabling tag
592 * In the future, newlines may be used to support multiple disabling tags.
593 *
594 * @since 3.6
595 */
598 * FORMATTER / Option to define the tag to put in a comment to re-enable the
599 * formatting after it has been disabled (see {@link #FORMATTER_DISABLING_TAG})
600 * - option id: "org.eclipse.jdt.core.formatter.enabling_tag"
601 * - possible values: String, with constraints mentioned below
602 * - default: &quot;&quot;
603 *
604 * Note that:
605 *
606 * 1. The tag name will be trimmed. Hence if it does contain white spaces
607 * at the beginning or at the end, they will not be taken into account while
608 * searching for the tag in the comments
609 * 2. If a tag is starting with a letter or digit, then it cannot be leaded by
610 * another letter or digit to be recognized
611 * (<b>"ReEnableFormatter"</b> will not be recognized as an enabling tag
612 * <b><i>"EnableFormatter"</i></b>, but <b><i>"Re:EnableFormatter"</i></b>
613 * will be detected for either tag <b><i>"EnableFormatter"</i></b> or
614 * <b><i>":EnableFormatter"</i></b>).
615 * Respectively, a tag ending with a letter or digit cannot be followed by a letter
616 * or digit to be recognized (<b><i>"EnableFormatter1"</i></b> will not be
617 * recognized as an enabling tag <b><i>"EnableFormatter"</i></b>, but
618 * <b><i>"EnableFormatter:1"</i></b> will be detected either for tag
619 * <b><i>"EnableFormatter"</i></b> or <b><i>"EnableFormatter:"</i></b>)
620 * 3. As soon as the formatter encounters the defined enabling tag, it re-starts
621 * to format the code just after the comment including this tag. If it was already
622 * active, i.e. already re-enabled or never disabled, the tag has no special effect.
623 * For example, the defined enabling tag &quot;<b>enable-formatter</b>&quot;
624 * in the following snippet is not necessary as the formatter has never been
625 * disabled:
626 * class X {
627 * void foo1() {}
628 * void foo2() {}
629 * // enable-formatter
630 * void bar1() {}
631 * void bar2() {}
632 * }
633 *
634 * Or, in the following other snippet, the second enabling tag is not necessary as
635 * the formatting will have been re-enabled by the first one:
636 * class X {
637 * // disable-formatter
638 * void foo1() {}
639 * void foo2() {}
640 * // enable-formatter
641 * void bar1() {}
642 * // enable-formatter
643 * void bar2() {}
644 * }
645 *
646 * 4. If a mix of disabling and enabling tags is done in the same comment, then
647 * the formatter will only take into account the last encountered tag in the
648 * comment.
649 * For example, in the following snippet, the formatter will be re-enabled after
650 * the comment:
651 * // disable-formatter
652 * class X {
Stephan Herrmann8f4b3212010-05-22 16:38:56 +0000653 * /*
654 * &nbsp;* This is a comment with a mix of disabling and enabling tags:
655 * &nbsp;* - <b>enable-formatter</b>
656 * &nbsp;* - <b>disable-formatter</b>
657 * &nbsp;* - <b>enable-formatter</b>
658 * &nbsp;* The formatter will restart to format after this comment...
659 * &nbsp;*/
Stephan Herrmanne5d6be82010-04-02 03:29:32 +0000660 * void foo() {}
661 * void bar() {}
662 * }
663 *
Stephan Herrmann8f4b3212010-05-22 16:38:56 +0000664 * 5. The tag cannot include newline character (i.e. '\n') but it can have white spaces.
Stephan Herrmanne5d6be82010-04-02 03:29:32 +0000665 * E.g. "<b>format: on</b>" is a valid enabling tag
666 * In the future, newlines may be used to support multiple enabling tags.
667 *
668 * @since 3.6
669 */
671<p>For example, the following snippet:</p>
673public class Test {
674/* disable-formatter */
675void foo( ) {
676 // unformatted area
678/* enable-formatter */
679void bar( ) {
680 // formatted area
684formatted with disabling tags = &quot;disable-formatter&quot; and enabling tags
685= &quot;enable-formatter&quot; produces the following output:
687public class Test {
689/* disable-formatter *
690void foo( ) {
691 // unformatted area
693/* enable-formatter *
694 void bar() {
695 // formatted area
696 }
699See bug <a href="">27079</a> for more details.
703<h3>Problem Reports Fixed</h3>
704<a href="">129804</a>
705[dom] Local variable bindings from ASTParser#createASTs(.., String[], .., ..) have no declaring method
706<br><a href="">304705</a>
707[formatter] Unexpected indentation of wrapped line comments when 'Never indent line comment on first column' preference is checked
708<br><a href="">304656</a>
709StringIndexOutOfBoundsException when using JDT dom methods to process sourcefile
710<br><a href="">304506</a>
711Task descriptions always have a space after the tag
712<br><a href="">304081</a>
713IJavaProject#isOnClasspath(IJavaElement) returns false for type from referenced JAR
714<br><a href="">304122</a>
715TypeBindings.getAnnotations() breaks interface
716<br><a href="">304416</a>
717VerifyError after compiling without preserve all locals
718<br><a href="">304529</a>
719[formatter] NPE when either the disabling or the enabling tag is not defined
720<br><a href="">27079</a>
721Tags for disabling/enabling code formatter (feature)
722<br><a href="">304316</a>
723NPE when javadoc URL is invalid
725<a name="v_A37"></a>
727Eclipse Platform Build Notes<br>
728Java development tools core</h1>
729Eclipse SDK 3.6M6 - March 2, 2010
730<br>Project org.eclipse.jdt.core v_A37
731(<a href="">cvs</a>).
732<h2>What's new in this drop</h2>
734<li>Added new configurable option to fix bug <a href="">295551</a>:<br>
737 * Compiler option ID: Further Determining the Effect of @SuppressWarnings if also
739 * When enabled, the @SuppressWarnings annotation can additionally be used to suppress
740 * optional compiler diagnostics that have been configured as ERROR.
741 * When disabled, all @SuppressWarnings annotations only affects warnings.
742 *
743 * Option id: "org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors"
744 * Possible values: { "enabled", "disabled" }
745 * Default: "disabled"
746 *
747 * @since 3.6
748 * @category CompilerOptionID
749 */
750public static final String COMPILER_PB_SUPPRESS_OPTIONAL_ERRORS = PLUGIN_ID + ".compiler.problem.suppressOptionalErrors";
754Added a new formatter preferences to align method declaration.
756This new preference is controlled with the option:</p>
760 * FORMATTER / Option for alignment of method declaration
761 * - option id: "org.eclipse.jdt.core.formatter.alignment_for_method_declaration"
762 * - possible values: values returned by <code>createAlignmentValue(boolean, int, int)</code> call
763 * - default: createAlignmentValue(false, WRAP_NO_SPLIT, INDENT_DEFAULT)
764 *
765 * @see #createAlignmentValue(boolean, int, int)
766 * @since 3.6
767 */
769<p>For example, the following snippet:</p>
771public class Test {
772public final synchronized java.lang.String a_method_which_has_a_very_long_name() {
773return null;
777formatted with this preference activated as 'Wrap only when necessary', will
778produce the following output:
780public class Test {
781 public final synchronized java.lang.String
782 a_method_which_has_a_very_long_name() {
783 return null;
784 }
787See bug <a href="">284789</a> for more details.
789<li>New API to fix bug <a href="">246594</a>. See the bug for details.
Stephan Herrmanne042d002010-06-05 13:49:29 +0000791org.eclipse.jdt.core.ITypeParameter
Stephan Herrmanne5d6be82010-04-02 03:29:32 +0000792 /**
793 * Returns the signatures for this type parameter's bounds. The type parameter may have
794 * been declared as part of a type or a method. The signatures represent only the individual
795 * bounds and do not include the type variable name or the <code>extends</code> keyword.
796 * The signatures may be either unresolved (for source types) or resolved (for binary types).
797 * See {@link Signature} for details.
798 *
799 * @return the signatures for the bounds of this formal type parameter
800 * @throws JavaModelException
801 * if this element does not exist or if an exception occurs while accessing its corresponding resource.
802 * @see Signature
803 * @since 3.6
804 */
805 String[] getBoundsSignatures() throws JavaModelException;
809Added a new formatter preference to enable or disable the formatting of line
810comments that start on the first column.<br>
811Note that the indentation of line comments will also be disabled when activating
812this option, as otherwise the formatter could not produce stable outputs...
814The default is to format these comments to have a backward compatible behavior.
816This new preferences is controlled with the options:</p>
820 * FORMATTER / Option to format line comments that start on the first column
821 * - option id: "org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column"
822 * - possible values: { TRUE, FALSE }
823 * - default: TRUE
824 *
825 * Note that this option is ignored if either the
826 * {@link #FORMATTER_COMMENT_FORMAT_LINE_COMMENT} option has been set to
827 * {@link #FALSE} or the formatter is created with the mode
828 * {@link ToolFactory#M_FORMAT_NEW}.
829 *
830 * @see #TRUE
831 * @see #FALSE
832 * @see ToolFactory#createCodeFormatter(Map, int)
833 * @since 3.6
834 */
836<p>For example, the following snippet:</p>
838public class X01 {
839// int a = 1;
840// int b = 2;
843will be untouched by the formatter if both options are activated.
844See bug <a href="">251133</a> for more details.
846<li>New API to fix bug <a href="">252431</a>. See the bug for details.
849 /**
850 * Returns the classpath entry that is making a reference to this classpath entry. For entry kinds
851 * {@link #CPE_LIBRARY}, the return value is the entry that is representing the JAR that includes
852 * <code>this</code> in the MANIFEST.MF file's Class-Path section. For entry kinds other than
853 * {@link #CPE_LIBRARY}, this returns <code>null</code>. For those entries that are on the raw classpath already,
854 * this returns <code>null</code>.
855 *
856 * It is possible that multiple library entries refer to the same entry
857 * via the MANIFEST.MF file. In those cases, this method returns the first classpath entry
858 * that appears in the raw classpath. However, this does not mean that the other referencing
859 * entries do not relate to their referenced entries.
860 * See {@link JavaCore#getReferencedClasspathEntries(IClasspathEntry, IJavaProject)} for
861 * more details.
862 *
863 * @return the classpath entry that is referencing this entry or <code>null</code> if
864 * not applicable.
865 * @since 3.6
866 */
867 IClasspathEntry getReferencingEntry();
871 /**
872 * Works similar to {@link #setRawClasspath(IClasspathEntry[], IPath, IProgressMonitor)} and
873 * additionally allows persisting the given array of referenced entries for this project.
874 * The referenced entries and their attributes are stored in the .classpath file of this
875 * project. For details on referenced entries, see
876 * {@link JavaCore#getReferencedClasspathEntries(IClasspathEntry, IJavaProject)}
877 * and {@link IClasspathEntry#getReferencingEntry()}.
878 *
879 * Since the referenced entries are stored in the .classpath file, clients can store additional
880 * information that belong to these entries and retrieve them across sessions, though the referenced
881 * entries themselves may not be present in the raw classpath. By passing a <code>null</code>
882 * referencedEntries, clients can choose not to modify the already persisted referenced entries,
883 * which is fully equivalent to {@link #setRawClasspath(IClasspathEntry[], IPath, IProgressMonitor)}.
884 * If an empty array is passed as referencedEntries, the already persisted referenced entries,
885 * if any, will be cleared.
886 *
887 * If there are duplicates of a referenced entry or if any of the <code>referencedEntries</code>
888 * is already present in the raw classpath(<code>entries</code>) those referenced entries will
889 * be excluded and not be persisted.
890 *
891 * @param entries a list of classpath entries
892 * @param referencedEntries the list of referenced classpath entries to be persisted
893 * @param outputLocation the default output location
894 * @param monitor the given progress monitor
895 * @exception JavaModelException if the classpath could not be set. Reasons include:
896 * This Java element does not exist (ELEMENT_DOES_NOT_EXIST)
897 * The classpath is being modified during resource change event notification (CORE_EXCEPTION)
898 * The classpath failed the validation check as defined by {@link JavaConventions#validateClasspath(IJavaProject, IClasspathEntry[], IPath)}
899 * @see IClasspathEntry
900 * @see #getReferencedClasspathEntries()
901 * @since 3.6
902 */
903 void setRawClasspath(IClasspathEntry[] entries, IClasspathEntry[] referencedEntries, IPath outputLocation,
904 IProgressMonitor monitor) throws JavaModelException;
906 /**
907 * Returns the list of referenced classpath entries stored in the .classpath file of <code>this</code>
908 * java project. Clients can store the referenced classpath entries using
909 * {@link #setRawClasspath(IClasspathEntry[], IClasspathEntry[], IPath, IProgressMonitor)}
910 * If the client has not stored any referenced entries for this project, an empty array is returned.
911 *
912 * @throws JavaModelException
913 * @return an array of referenced classpath entries stored for this java project or an empty array if none
914 * stored earlier.
915 * @since 3.6
916 */
917 IClasspathEntry[] getReferencedClasspathEntries() throws JavaModelException;
921 /**
922 * Returns the first resolved classpath entry that corresponds to this package fragment root.
923 * A resolved classpath entry is said to correspond to a root if the path of the resolved
924 * entry is equal to the root's path.
925 *
926 * @return the first resolved classpath entry that corresponds to this package fragment root
927 * @throws JavaModelException if this element does not exist or if an
928 * exception occurs while accessing its corresponding resource.
929 * @since 3.6
930 */
931 IClasspathEntry getResolvedClasspathEntry() throws JavaModelException;
935 /**
936 * Returns an array of classpath entries that are referenced directly or indirectly
937 * by a given classpath entry. For the entry kind {@link IClasspathEntry#CPE_LIBRARY},
938 * the method returns the libraries that are included in the Class-Path section of
939 * the MANIFEST.MF file. If a referenced JAR file has further references to other library
940 * entries, they are processed recursively and added to the list. For entry kinds other
941 * than {@link IClasspathEntry#CPE_LIBRARY}, this method returns an empty array.
942 *
943 * If a referenced entry has already been stored
944 * in the given project's .classpath, the stored attributes are populated in the corresponding
945 * referenced entry. For more details on storing referenced entries see
946 * see {@link IJavaProject#setRawClasspath(IClasspathEntry[], IClasspathEntry[], IPath,
947 * IProgressMonitor)}.
948 *
949 * @param libraryEntry the library entry whose referenced entries are sought
950 * @param project project where the persisted referenced entries to be retrieved from
951 * @return an array of classpath entries that are referenced directly or indirectly by the given entry.
952 * If not applicable, returns an empty array.
953 * @since 3.6
954 */
955 public static IClasspathEntry[] getReferencedClasspathEntries(IClasspathEntry libraryEntry, IJavaProject project);
960<h3>Problem Reports Fixed</h3>
961<a href="">252431</a>
962New API is needed to better identify referenced jars in the Class-Path: entry
963<br><a href="">251133</a>
964[formatter] Automatic formatting single line comments is incoherent among tools
965<br><a href="">248897</a>
966[1.5][compiler] Wrong warning 'The local variable 'var' is never read'.
967<br><a href="">304031</a>
968Unused @SuppressWarnings(..) not flagged when suppressed problem is set to Error
969<br><a href="">295551</a>
970Add option to automatically promote all warnings to errors
971<br><a href="">303810</a>
972Compact boolean fields on FlowContext
973<br><a href="">251227</a>
974[compiler] Fup of bug 115814, comparing doubles should not be flagged
975<br><a href="">268798</a>
976[1.5][compiler] Eclipse 3.5M5/6 produces new compiler errors with generics
977<br><a href="">303448</a>
978Wrong code generation optimization when assert condition is false
979<br><a href="">303776</a>
980Member types imports are removed too aggressively
981<br><a href="">302949</a>
982JavaModelManager hangs accessing the nonChainingJars set
983<br><a href="">246594</a>
984[model] API request: ITypeParameter#getBoundsSignatures() or #getSignature()
985<br><a href="">253896</a>
986[compiler][null] wrong &quot;Null comparison always yields false&quot; problem for auto-unboxing
987<br><a href="">284789</a>
988[formatter] Does not line-break method declaration exception with parameters
989<br><a href="">303480</a>
990[1.5][compiler] CCE: org.eclipse.jdt.internal.compiler.parser.RecoveredBlock cannot be cast to org.eclipse.jdt.internal.compiler.parser.RecoveredType
992<a name="v_A36"></a>
994Eclipse Platform Build Notes<br>
995Java development tools core</h1>
996Eclipse SDK 3.6M6 - February 23, 2010
997<br>Project org.eclipse.jdt.core v_A36
998(<a href="">cvs</a>).
999<h2>What's new in this drop</h2>
Stephan Herrmannd5c3cc62010-05-30 17:34:25 +00001002Added a new formatter preferences to align annotation arguments (i.e. element-value pairs).
Stephan Herrmanne5d6be82010-04-02 03:29:32 +00001003<p>
1004This new preference is controlled with the option:</p>
1008 * FORMATTER / Option for alignment of arguments in annotation
1009 * - option id: "org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation"
1010 * - possible values: values returned by <code>createAlignmentValue(boolean, int, int)</code> call
1011 * - default: createAlignmentValue(false, WRAP_NO_SPLIT, INDENT_DEFAULT)
1012 *
1013 * @see #createAlignmentValue(boolean, int, int)
1014 * @since 3.6
1015 */
1017<p>For example, the following snippet:</p>
1019@MyAnnot(value1 = "this is an example", value2 = "of an annotation", value3 = "with several arguments", value4 = "which may need to be wrapped")
1020public class Test {
1023formatted with this preference activated, will produce the following output
1024while using the <code>Eclipse [built-in]</code> profile:
1026@MyAnnot(value1 = "this is an example", value2 = "of an annotation",
1027 value3 = "with several arguments",
1028 value4 = "which may need to be wrapped")
1029public class Test {
1032See bug <a href="">282030</a> for more details.
Stephan Herrmanne042d002010-06-05 13:49:29 +00001034<li>In order to get bindings outside the Eclipse environment, the following methods has been added on the ASTParser class.
Stephan Herrmanne5d6be82010-04-02 03:29:32 +00001035<br>See bug <a href="">206391</a> for details.<br>
Stephan Herrmanne042d002010-06-05 13:49:29 +00001037org.eclipse.jdt.core.dom.ASTParser
Stephan Herrmanne5d6be82010-04-02 03:29:32 +00001038 /**
1039 * Set the environment that can be used when no IJavaProject are available.
1040 *
1041 * The user has to be sure to include all required types on the classpaths for binary types
1042 * or on the sourcepaths for source types to resolve the given source code.
1043 * All classpath and sourcepath entries are absolute paths.
1044 * If sourcepaths contain units using a specific encoding (not the platform encoding), then the
1045 * given encodings must be set. If the given encodings is set, its length must
1046 * match the length of the sourcepaths parameter or an IllegalArgumentException will be thrown.
1047 * If encodings is not null, the given sourcepathEntries must not be null.
1048 *
1049 * @param classpathEntries the given classpath entries to be used to resolve bindings
1050 * @param sourcepathEntries the given sourcepath entries to be used to resolve bindings
1051 * @param encodings the encodings of the corresponding sourcepath entries or null if the platform encoding
1052 * can be used.
1053 * @param includeRunningVMBootclasspath true if the bootclasspath of the running VM must be prepended to the
1054 * given classpath and false if the bootclasspath of the running VM should be ignored.
1055 * @throws IllegalArgumentException if the size of the given encodings is not equals to the size of the given
1056 * sourcepathEntries
1057 * @since 3.6
1058 */
1059 public void setEnvironment(String[] classpathEntries, String[] sourcepathEntries, String[] encodings, boolean includeRunningVMBootclasspath);
Stephan Herrmanne042d002010-06-05 13:49:29 +00001060
1061 /**
1062 * Creates ASTs for a batch of compilation units. When bindings are being resolved, processing a
1063 * batch of compilation units is more efficient because much of the work involved in resolving
1064 * bindings can be shared.
1065 *
1066 * When bindings are being resolved, all compilation units are resolved
1067 * using the same environment, which must be set beforehand with
1068 * {@link #setEnvironment(String[], String[], String[], boolean) setEnvironment}.
1069 * The compilation units are processed one at a time in no specified order.
1070 * For each of the compilation units in turn,
1071 * - {@link ASTParser#createAST(IProgressMonitor) ASTParser.createAST} is called to parse it
1072 * and create a corresponding AST. The calls to {@link ASTParser#createAST(IProgressMonitor) ASTParser.createAST}
1073 * all employ the same settings.</li>
1074 * - {@link FileASTRequestor#acceptAST(String, CompilationUnit) FileASTRequestor.acceptAST} is called passing
1075 * the compilation unit path and the corresponding AST to <code>requestor</code>. The compilation unit path is the same
1076 * path that is passed into the given <code>sourceFilePaths</code> parameter.
1077 *
1078 * Note only ASTs from the given compilation units are reported
1079 * to the requestor. If additional compilation units are required to
1080 * resolve the original ones, the corresponding ASTs are <b>not</b>
1081 * reported to the requestor.
1082 *
1083 * Note also the following parser parameters are used, regardless of what
1084 * may have been specified:
1085 * - The {@linkplain #setKind(int) parser kind} is <code>K_COMPILATION_UNIT</code>
1086 * - The {@linkplain #setSourceRange(int,int) source range} is <code>(0, -1)</code>
1087 * - The {@linkplain #setFocalPosition(int) focal position} is not set
1088 *
1089 * The <code>bindingKeys</code> parameter specifies bindings keys
1090 * ({@link IBinding#getKey()}) that are to be looked up. These keys may
1091 * be for elements either inside or outside the set of compilation
1092 * units being processed. When bindings are being resolved,
1093 * the keys and corresponding bindings (or <code>null</code> if none) are
1094 * passed to {@link FileASTRequestor#acceptBinding(String, IBinding) FileASTRequestor.acceptBinding}. Note that binding keys
1095 * for elements outside the set of compilation units being processed are looked up
1096 * after all {@link FileASTRequestor#acceptAST(String, CompilationUnit) ASTRequestor.acceptAST}
1097 * callbacks have been made.
1098 * Binding keys for elements inside the set of compilation units being processed
1099 * are looked up and reported right after the corresponding
1100 * {@link FileASTRequestor#acceptAST(String, CompilationUnit) FileASTRequestor.acceptAST} callback has been made.
1101 * No {@link FileASTRequestor#acceptBinding(String, IBinding) FileASTRequestor.acceptBinding} callbacks are made unless
1102 * bindings are being resolved.
1103 *
1104 * A successful call to this method returns all settings to their
1105 * default values so the object is ready to be reused.
1106 *
1107 * The given <code>encodings</code> are used to properly parse the given source units. If the platform encoding is sufficient,
1108 * then the given encodings can be set to <code>null</code>.
1109 *
1110 * @param sourceFilePaths the compilation units to create ASTs for
1111 * @param encodings the given encoding for the source units
1112 * @param bindingKeys the binding keys to create bindings for
1113 * @param requestor the AST requestor that collects abstract syntax trees and bindings
1114 * @param monitor the progress monitor used to report progress and request cancellation,
1115 * or <code>null</code> if none
1116 * @exception IllegalStateException if the settings provided
1117 * are insufficient, contradictory, or otherwise unsupported
1118 * @since 3.6
1119 */
1120 public void createASTs(String[] sourceFilePaths, String[] encodings, String[] bindingKeys, FileASTRequestor requestor, IProgressMonitor monitor)
Stephan Herrmanne5d6be82010-04-02 03:29:32 +00001121</pre>
1124Added two new formatter preferences to condense block and javadoc comments.
1126These new preferences are controlled respectively with the options:</p>
1131 * FORMATTER / Option to control whether block comments will have new lines at boundaries
1132 * - option id: "org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries"
1133 * - possible values: { TRUE, FALSE }
1134 * - default: TRUE
1135 *
1136 * @see #TRUE
1137 * @see #FALSE
1138 * @since 3.6
1139 */
1142 * FORMATTER / Option to control whether javadoc comments will have new lines at boundaries
1143 * - option id: "org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries"
1144 * - possible values: { TRUE, FALSE }
1145 * - default: TRUE
1146 *
1147 * @see #TRUE
1148 * @see #FALSE
1149 * @since 3.6
1150 */
1151 </pre>
Stephan Herrmanne042d002010-06-05 13:49:29 +00001152<p>For example, the following snippet:</p>
Stephan Herrmanne5d6be82010-04-02 03:29:32 +00001153<pre>
1154public class X {
1155 /*
1156 * This block comment after formatting will no longer use a new line
1157 * at the beginning and at the end of the comment...
1158 */
1159 void foo() {
1160 }
1161 /**
1162 * This javadoc comment after formatting will no longer use a new line
1163 * at the beginning and at the end of the comment...
1164 */
1165 void bar() {
1166 }
Stephan Herrmanne042d002010-06-05 13:49:29 +00001169formatted with both the options set to FALSE, will produce the following output:
Stephan Herrmanne5d6be82010-04-02 03:29:32 +00001170<pre>
1171public class X {
1172 /* This block comment after formatting will no longer use a new line at the
1173 * beginning and at the end of the comment... */
1174 void foo() {
1175 }
1177 /** This javadoc comment after formatting will no longer use a new line at
1178 * the beginning and at the end of the comment... */
1179 void bar() {
1180 }
1183See bug <a href="">270209</a> for more details.
1186The <code>CodeFormatter.F_INCLUDE_COMMENT</code> flag now works for all kind
1187of snippet while using the formatter.<br>
1188See bug <a href="">236406</a> for more details.
1191Added a new formatter preferences to insert a new line after a label.
1193This new preference is controlled with the option:</p>
1197 * FORMATTER / Option to insert a new line after a label
1198 * - option id: "org.eclipse.jdt.core.formatter.insert_new_line_after_label"
1199 * - possible values: { INSERT, DO_NOT_INSERT }
1200 * - default: DO_NOT_INSERT
1201 *
1202 * @see JavaCore#INSERT
1203 * @see JavaCore#DO_NOT_INSERT
1204 * @since 3.6
1205 */
1207<p>For example, the following snippet:</p>
1209public class X {
1210 void foo() {
1211 LABEL:for (int i = 0; i &lt; 10; i++) {
1212 }
1213 }
1216formatted with this preference activated, will produce the following output:
1218public class X {
1219 void foo() {
1220 LABEL:
1221 for (int i = 0; i &lt; 10; i++) {
1222 }
1223 }
1226See bug <a href="">150741</a> for more details.
1230<h3>Problem Reports Fixed</h3>
1231<a href="">298362</a>
1232[1.5][compiler] Compiler returns java.lang.Object instead of generic type T when javac returns T
1233<br><a href="">281655</a>
1234[formatter] &quot;Never join lines&quot; does not work for annotations.
1235<br><a href="">282030</a>
1236[formatter] Java annotation formatting
1237<br><a href="">270209</a>
1238[format] Condensed block comment formatting
1239<br><a href="">236406</a>
Stephan Herrmanne042d002010-06-05 13:49:29 +00001240[formatter] The comments flags should work for all kinds of snippet
Stephan Herrmanne5d6be82010-04-02 03:29:32 +00001241<br><a href="">294360</a>
1242Duplicate entries in Classpath Resolution when importing dependencies from parent project
1243<br><a href="">206391</a>
1244[DOM] Binding Resolutions for projects outside of Eclipse workspace
1245<br><a href="">150409</a>
1246[compiler] AST does not expose method bindings for non-visible inherited field
1247<br><a href="">302358</a>
1248Compiler finds wrong method for method invocation with generics
1249<br><a href="">302919</a>
1250misreported cast Error when mixing generic and raw class in nested class
1251<br><a href="">150741</a>
1252[formatter] Add option: &quot;add new line after label&quot;
1253<br><a href="">287939</a>
1254[code assist] The instanceof and the auto cast feature should also work for an assignment
1255<br><a href="">303108</a>
1256[import rewrite] ImportRewrite#removeImport(String) does not work with setUseContextToFilterImplicitImports(true)
1257<br><a href="">295619</a>
1258Test failure caused by a timing issue in M20091118-0800
1260<a name="v_A35"></a>
1262Eclipse Platform Build Notes<br>
1263Java development tools core</h1>
1264Eclipse SDK 3.6M6 - February 16, 2010
1265<br>Project org.eclipse.jdt.core v_A35
1266(<a href="">cvs</a>).
1267<h2>What's new in this drop</h2>
1269<li>In order to fix bugs <a href="">235253</a> and
1270<a href="">194358</a>, a new API was added to preserve the existing pre-3.6 behavior for existing clients:<br>
1272 /**
1273 * Sets whether a context should be used to properly filter implicit imports.
1274 *
1275 * By default, the option is disabled to preserve pre-3.6 behavior.
1276 *
1277 *
1278 * When this option is set, the context passed to the addImport*(...) methods is used to determine
1279 * whether an import can be filtered because the type is implicitly visible. Note that too many imports
1280 * may be kept if this option is set and addImport*(...) methods are called without a context.
1281 *
1282 *
1283 * @param useContextToFilterImplicitImports the given setting
1284 *
1285 * @see #setFilterImplicitImports(boolean)
1286 * @since 3.6
1287 */
1288 public void setUseContextToFilterImplicitImports(boolean useContextToFilterImplicitImports);
1293<h3>Problem Reports Fixed</h3>
1294<a href="">302455</a>
1295java.lang.ClassCastException in secondary types removal
1296<br><a href="">102279</a>
1297[search] method reference performance depends on method name
1298<br><a href="">236814</a>
1299[jsr199] EclipseCompiler#getTask does not respect its contract when its first argument is null
1300<br><a href="">302552</a>
1301[formatter] Formatting qualified invocations can be broken when the Line Wrapping policy forces element to be on a new line
1302<br><a href="">302587</a>
1303Encoding/decoding of problem arguments in Marker fails if argument contains #
1304<br><a href="">301438</a>
1305Eclipse hangs when attempting to refactor using the &quot;change method signature&quot;
1306<br><a href="">260381</a>
1307[formatter] Javadoc formatter breaks {@code ...} tags.
1308<br><a href="">302446</a>
1309[compiler] Regression in if statement flow analysis related to null checks
1310<br><a href="">194358</a>
1311[import rewrite] Organize Imports produces wrong order of imports
1312<br><a href="">235253</a>
1313[organize imports] Organize imports removes needed import statement.
1314<br><a href="">302379</a>
1315[search] JavaSearchTests.testZIPArchive2() test failed in I20100209-0800
1317<a name="v_A34"></a>
1319Eclipse Platform Build Notes<br>
1320Java development tools core</h1>
1321Eclipse SDK 3.6M6 - February 9, 2010
1322<br>Project org.eclipse.jdt.core v_A34
1323(<a href="">cvs</a>).
1324<h2>What's new in this drop</h2>
1326<h3>Problem Reports Fixed</h3>
1327<a href="">302123</a>
1328[formatter] AssertionFailedException occurs while formatting a source containing the specific javadoc comment /** ***/
1329<br><a href="">300379</a>
1330[formatter] Fup of bug 287833
1331<br><a href="">250056</a>
1332[compiler][null] Another assert and &quot;Redundant null check&quot;
1333<br><a href="">301683</a>
1334Annotations are broken when native methods are present in a class
1335<br><a href="">300734</a>
1336Extract temp misses duplicate occurrence.
1337<br><a href="">289560</a>
1338Eclipse hangs after modifying user libraries
1339<br><a href="">301562</a>
1340[JSR269] Error in EclipseFileManager.collectAllMatchingFiles
1341<br><a href="">298637</a>
1342Could not retrieve declared methods (NPE in ParameterizedTypeBinding.resolve)
1343<br><a href="">294057</a>
1344[1.5][compiler] Imports not resolved correctly with generics and inner interfaces
1346<a name="v_A33"></a>
1348Eclipse Platform Build Notes<br>
1349Java development tools core</h1>
1350Eclipse SDK 3.6M6 - February 2, 2010
1351<br>Project org.eclipse.jdt.core v_A33
1352(<a href="">cvs</a>).
1353<h2>What's new in this drop</h2>
1355<h3>Problem Reports Fixed</h3>
1356<a href="">300136</a>
1357classpathentry OPTIONAL attribute not honored for var entries
1358<br><a href="">300723</a>
1359Fup of bug 235783
Stephan Herrmann7b7062f2010-04-01 19:56:59 +00001361<a name="v_A32a"></a>
1363Eclipse Platform Build Notes<br>
1364Java development tools core</h1>
1365Eclipse SDK 3.6M5 - January 21, 2010 - 3.6.0 M5
1366<br>Project org.eclipse.jdt.core v_A32a
1367(<a href="">cvs</a>).
1368<h2>What's new in this drop</h2>
1370<h3>Problem Reports Fixed</h3>
1371<a href="">300133</a>
1372[1.5][compiler] Local classes inside enum constants generate default constructor without implicit constructor call
1373<br><a href="">300440</a>
1374icu dependency needs to be udpated
1375<br><a href="">299900</a>
1376[null]Missing potential null warnings for variable on the right of an OR conditional expression
1377<br><a href="">293917</a>
1378Invalid 'potential null access' warning reports
1379<br><a href="">252379</a>
1380Organize imports deletes needed static import.
1382<a name="v_A31"></a>
1384Eclipse Platform Build Notes<br>
1385Java development tools core</h1>
1386Eclipse SDK 3.6M5 - January 18, 2010
1387<br>Project org.eclipse.jdt.core v_A31
1388(<a href="">cvs</a>).
1389<h2>What's new in this drop</h2>
1391<li>New API to fix bug <a href="">295894</a>. See the bug for details.
1394 * Returns a Java search scope limited to the hierarchy of the given type and to a given project.
1395 * The Java elements resulting from a search with this scope will be types in this hierarchy.
1396 *
1397 * Unlike the createHierarchyScope methods, this method creates strict
1398 * scopes that only contain types that actually span the hierarchy of the focus
1399 * type, but do not include additional enclosing or member types.
1400 *
1401 *
1402 * By default, hierarchy scopes include all direct and indirect supertypes and subtypes of the
1403 * focus type. This method, however, allows to restrict the hierarchy to true subtypes,
1404 * not including supertypes. Also inclusion of the focus type itself is controled by a parameter.
1405 *
1406 *
1407 * @param project the project to which to constrain the search, or null if
1408 * search should consider all types in the workspace
1409 * @param type the focus of the hierarchy scope
1410 * @param onlySubtypes if true only subtypes of type are considered
1411 * @param includeFocusType if true the focus type type is included in the resulting scope,
1412 * otherwise it is excluded
1413 * @param owner the owner of working copies that take precedence over original compilation units,
1414 * or null if the primary working copy owner should be used
1415 * @return a new hierarchy scope
1416 * @exception JavaModelException if the hierarchy could not be computed on the given type
1417 * @since 3.6
1418 */
1419public static IJavaSearchScope createStrictHierarchyScope(IJavaProject project, IType type, boolean onlySubtypes, boolean includeFocusType, WorkingCopyOwner owner) throws JavaModelException;
1422<li>New API added to report a compiler warning when object allocations are unused:
1427 * Compiler option ID: Reporting Allocation of an Unused Object.
1428 * When enabled, the compiler will issue an error or a warning if an object is allocated but never used,
1429 * neither by holding a reference nor by invoking one of the object's methods.
1430 *
1431 * Option id:"org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation"
1432 * Possible values:{ "error", "warning", "ignore" }
1433 * Default:"ignore"
1434 *
1435 * @since 3.6
1436 * @category CompilerOptionID
1437 */
1438public static final String COMPILER_PB_UNUSED_OBJECT_ALLOCATION = PLUGIN_ID + ".compiler.problem.unusedObjectAllocation";
1443<h3>Problem Reports Fixed</h3>
1444<a href="">245007</a>
1445[compiler] Should not completely ignore anonymous type with missing super type
1446<br><a href="">295894</a>
1447[search] Search shows focus type implementation for nested types even though the scope is restricted to subtypes.
1448<br><a href="">236385</a>
1449[compiler] Warn for potential programming problem if an object is created but not used
1451<a name="v_A30"></a>
1453Eclipse Platform Build Notes<br>
1454Java development tools core</h1>
1455Eclipse SDK 3.6M5 - January 12, 2010
1456<br>Project org.eclipse.jdt.core v_A30
1457(<a href="">cvs</a>).
1458<h2>What's new in this drop</h2>
1460<li>New API added to expose the reconcile flags used in the reconcile context:
1463 * Returns the reconcile flag of this context. This flag is a bitwise value of the constant defined
1464 * in ICompilationUnit.
1465 *
1466 * @return the reconcile flag of this context
1467 * @since 3.6
1468 *
1469 * @see ICompilationUnit#ENABLE_BINDINGS_RECOVERY
1470 * @see ICompilationUnit#ENABLE_STATEMENTS_RECOVERY
1471 * @see ICompilationUnit#IGNORE_METHOD_BODIES
1472 */
1473public int getReconcileFlags();
1478<h3>Problem Reports Fixed</h3>
1479<a href="">243917</a>
1480[compiler] should not warn about unused field when native method present
1481<br><a href="">296343</a>
1482OOM error caused by java indexing referencing classloader from threadLocal
1483<br><a href="">130000</a>
1484[API] ReconcileContext API: Does getAST3 return AST with bindings?
1485<br><a href="">298238</a>
1486Unresolved import in superclass causes 'Cannot reduce the visibility of the inherited method' in subclass
1488<a name="v_A29a"></a>
1490Eclipse Platform Build Notes<br>
1491Java development tools core</h1>
1492Eclipse SDK 3.6M5 - January 5, 2010
1493<br>Project org.eclipse.jdt.core v_A29a
1494(<a href="">cvs</a>).
1495<h2>What's new in this drop</h2>
1497<h3>Problem Reports Fixed</h3>
1498<a href="">293861</a>
1499Problem with refactoring when existing jar with invalid package names
1500<br><a href="">264112</a>
1501[Formatter] Wrap when necessary too aggressive on short qualifiers
1502<br><a href="">298250</a>
1503[1.6][compiler] NegativeArraySizeException in StackMapFrame.duplicate
1504<br><a href="">296998</a>
1505Unused imports should not prevent execution
1506<br><a href="">298243</a>
1507[formatter] Removing empty lines between import groups
1508<br><a href="">297546</a>
1509[formatter] Formatter removes blank after @see if reference is wrapped
1510<br><a href="">235781</a>
1511[compiler] difference to javac in definite unassignment analysis involving an exception within a constructor
1512<br><a href="">235783</a>
1513[eval] CodeSnippetParser and some 'CodeSnippet*' ast node does not seem up to date
1515<a name="v_A28"></a>
1517Eclipse Platform Build Notes<br>
1518Java development tools core</h1>
1519Eclipse SDK 3.6M5 - December 14, 2009
1520<br>Project org.eclipse.jdt.core v_A28
1521(<a href="">cvs</a>).
1522<h2>What's new in this drop</h2>
1524<h3>Problem Reports Fixed</h3>
1525<a href="">196714</a>
1526[comment] InvalidInputException prevents the AbstractCommentMapper to retrieve tag element
1527<br><a href="">297757</a>
1528Cannot get bindings for IType corresponding to parameterized anonymous type
1529<br><a href="">255640</a>
1530[spec] Methods Signature.toCharArray(..) have unclear precondition
1531<br><a href="">262898</a>
1532BufferChangedEvent must not have @noinstantiate
1533<br><a href="">181682</a>
1534JavaConventions.validateJavaTypeName should list valid constants
1535<br><a href="">108784</a>
1536SourceMapper doesn't find name range of inner class constructors
1538<a name="v_A27"></a>
1540Eclipse Platform Build Notes<br>
1541Java development tools core</h1>
1542Eclipse SDK 3.6M4 - December 8, 2009 - 3.6.0 M4
1543<br>Project org.eclipse.jdt.core v_A27
1544(<a href="">cvs</a>).
1545<h2>What's new in this drop</h2>
1547<h3>Problem Reports Fixed</h3>
1548<a href="">297225</a>
1549[formatter] Indentation may be still wrong in certain circumstances after formatting
1550<br><a href="">293697</a>
1551JavaSearchBugTests.testBug286379c is failing randomly
1553<a name="v_A26"></a>
1555Eclipse Platform Build Notes<br>
1556Java development tools core</h1>
1557Eclipse SDK 3.6M4 - December 7, 2009
1558<br>Project org.eclipse.jdt.core v_A26
1559(<a href="">cvs</a>).
1560<h2>What's new in this drop</h2>
1562<h3>Problem Reports Fixed</h3>
1563<a href="">297045</a>
1564Weird tests failures in N20091204-2000 and N20091205-2000 builds
1565<br><a href="">293300</a>
1566[formatter] The formatter is still unstable in certain circumstances
1568<a name="v_A25"></a>
1570Eclipse Platform Build Notes<br>
1571Java development tools core</h1>
1572Eclipse SDK 3.6M4 - December 4, 2009
1573<br>Project org.eclipse.jdt.core v_A25
1574(<a href="">cvs</a>).
1575<h2>What's new in this drop</h2>
1577<li>Match result can now report the access rules through a new API added on <code>TypeNameMatch</code>:
1580 * Returns the accessibility of the type name match
1581 *
1582 * @see IAccessRule
1583 *
1584 * @return the accessibility of the type name which may be
1585 * {@link IAccessRule#K_ACCESSIBLE}, {@link IAccessRule#K_DISCOURAGED}
1586 * or {@link IAccessRule#K_NON_ACCESSIBLE}.
1587 * The default returned value is {@link IAccessRule#K_ACCESSIBLE}.
1588 *
1589 * @since 3.6
1590 */
1591public abstract int getAccessibility();
1593See bug <a href="">296277</a> for more details.
1597<h3>Problem Reports Fixed</h3>
1598<a href="">296277</a>
1599[search] SearchEngine#searchAllTypeNames(.., TypeNameMatchRequestor,..) should report access rules
1600<br><a href="">296708</a>
1601[DOM/AST] clarify setters when createASTs(..) is used
1602<br><a href="">296629</a>
1603[quick fix] Cast quick fix not offered for method-local classes
1604<br><a href="">295948</a>
1605ElementImpl.hashCode throws an NPE
1606<br><a href="">296660</a>
1607[compiler] Incorrect unused method warning from compiler
1609<a name="v_A24"></a>
1611Eclipse Platform Build Notes<br>
1612Java development tools core</h1>
1613Eclipse SDK 3.6M4 - December 1, 2009
1614<br>Project org.eclipse.jdt.core v_A24
1615(<a href="">cvs</a>).
1616<h2>What's new in this drop</h2>
1618<li>New API added to ignore method bodies inside AST tree. The new APIs are tagged as 3.5.2 as this code
1619will be backported to 3.5.2:
1622 /**
1623 * Requests an abstract syntax tree without method bodies.
1624 *
1625 * When ignore method bodies is enabled, all method bodies are discarded.
1626 * This has no impact on the binding resolution.
1627 *
1628 * If a method contains local types, its method body will be retained.
1629 * This settings is not used if the kind used in setKind(int) is either
1631 * @since 3.5.2
1632 */
1633 public void setIgnoreMethodBodies(boolean enabled);
1636 /**
1637 * Constant indicating that a reconcile operation could ignore to parse the method bodies.
1638 * @see ASTParser#setIgnoreMethodBodies(boolean)
1639 * @since 3.5.2
1640 */
1641 public static final int IGNORE_METHOD_BODIES = 0x08;
1647<h3>Problem Reports Fixed</h3>
1648<a href="">288174</a>
1649[search] NullPointerException when searching for type references
1650<br><a href="">277643</a>
1651Generics compile error
1652<br><a href="">288211</a>
1653APT uses a lot of memory
1655<a name="v_A23"></a>
1657Eclipse Platform Build Notes<br>
1658Java development tools core</h1>
1659Eclipse SDK 3.6M4 - November 24, 2009
1660<br>Project org.eclipse.jdt.core v_A23
1661(<a href="">cvs</a>).
1662<h2>What's new in this drop</h2>
1664<h3>Problem Reports Fixed</h3>
1665<a href="">295698</a>
1666[1.5][compiler] ClassCastException in unchecked warning report
1667<br><a href="">295260</a>
1668Wrong warnings on Java.Compiler.Errors/Warnings &quot;Redundant null check&quot;
1669<br><a href="">190737</a>
1670[compiler][null] missing 'cannot be null' warning within for loop
1672<a name="v_A22"></a>
1674Eclipse Platform Build Notes<br>
1675Java development tools core</h1>
1676Eclipse SDK 3.6M4 - November 16, 2009
1677<br>Project org.eclipse.jdt.core v_A22
1678(<a href="">cvs</a>).
1679<h2>What's new in this drop</h2>
1681<h3>Problem Reports Fixed</h3>
1682<a href="">153429</a>
1683JUnit4 in Eclipse Testing Framework
1684<br><a href="">295238</a>
1685[formatter] The comment formatter add an unexpected new line in block comment
1686<br><a href="">295175</a>
1687[formatter] Missing space before a string at the beginning of a line in a javadoc comment
1688<br><a href="">294529</a>
1689The Scanner sometimes ignores the given offset if larger than the EOF.
1690<br><a href="">294662</a>
1691ClassCastException while invoking quick assist
1692<br><a href="">294404</a>
1693-target jsr14 flags error on foreach over Collection that does not implement Iterable
1694<br><a href="">293955</a>
1695valid javadoc url set on user library, but still says no javadoc
1696<br><a href="">293443</a>
1697AbortCompilation when invoking content assist
1698<br><a href="">293711</a>
1699Clarify ICompilationUnit#getOwner() javadoc
1700<br><a href="">293615</a>
1701error message since v3.6.0M2: name clash by overriding generic methods
1702<br><a href="">294618</a>
1703[formatter] The formatter fails to format a compilation unit with deep nesting of html tags
1704<br><a href="">248312</a>
1705[model] IMemberValuePair#getValue() should also work for negative numerals
1706<br><a href="">294731</a>
1709<a name="v_A21"></a>
1711Eclipse Platform Build Notes<br>
1712Java development tools core</h1>
1713Eclipse SDK 3.6M4 - November 10, 2009
1714<br>Project org.eclipse.jdt.core v_A21
1715(<a href="">cvs</a>).
1716<h2>What's new in this drop</h2>
1718<h3>Problem Reports Fixed</h3>
1719<a href="">294631</a>
1720[formatter] The formatter takes two passes to format a common sequence of html tags
1721<br><a href="">294500</a>
1722[formatter] MalformedTreeException when formatting an invalid sequence of &lt;code&gt; tags in a javadoc comment
1723<br><a href="">294488</a>
1724Javadoc of ISourceReference#getSourceRange() should link to SourceRange#isAvailable(..)
1725<br><a href="">199265</a>
1726[formatter] 3.3 Code Formatter mis-places commented-out import statements
1727<br><a href="">241549</a>
1728[spec] IType#getFields/Initializers/Methods() should define order from class file
1729<br><a href="">275805</a>
1730creating a non-primary working copy causes typeHierarchyChanged event
1731<br><a href="">292510</a>
1732FUP of 292364: Error messages don't identify partial types precisely.
1734<a name="v_A20"></a>
1736Eclipse Platform Build Notes<br>
1737Java development tools core</h1>
1738Eclipse SDK 3.6M4 - November 3, 2009
1739<br>Project org.eclipse.jdt.core v_A20
1740(<a href="">cvs</a>).
1741<h2>What's new in this drop</h2>
1743<h3>Problem Reports Fixed</h3>
1744<a href="">293384</a>
1745Eclipse erroneously reports method &quot;is ambiguous for type&quot;
1746<br><a href="">285002</a>
1747[compiler] visibility error for package private method
1749<a name="v_A19"></a>
1751Eclipse Platform Build Notes<br>
1752Java development tools core</h1>
1753Eclipse SDK 3.6M3 - October 29, 2009 - 3.6M3
1754<br>Project org.eclipse.jdt.core v_A19
1755(<a href="">cvs</a>).
1756<h2>What's new in this drop</h2>
1757This version was created to tentatively fix bug <a href="">293697</a>
1758but it occurs again in subsequent build. So, it has been reopened and moved to next version...
1760<h3>Problem Reports Fixed</h3>
1762<a name="v_A18"></a>
1764Eclipse Platform Build Notes<br>
1765Java development tools core</h1>
1766Eclipse SDK 3.6M3 - October 28, 2009
1767<br>Project org.eclipse.jdt.core v_A18
1768(<a href="">cvs</a>).
1769<h2>What's new in this drop</h2>
1771<h3>Problem Reports Fixed</h3>
1772<a href="">293496</a>
1773Adding the serialVersionUID field doesn't work when tab size is 0
1775<a name="v_A17"></a>
1777Eclipse Platform Build Notes<br>
1778Java development tools core</h1>
1779Eclipse SDK 3.6M3 - October 26, 2009
1780<br>Project org.eclipse.jdt.core v_A17
1781(<a href="">cvs</a>).
1782<h2>What's new in this drop</h2>
1784<li>Reverted change for bug <a href="">263564</a>.</li>
1786<h3>Problem Reports Fixed</h3>
1788<a name="v_A16"></a>
1790Eclipse Platform Build Notes<br>
1791Java development tools core</h1>
1792Eclipse SDK 3.6M3 - October 25, 2009
1793<br>Project org.eclipse.jdt.core v_A16
1794(<a href="">cvs</a>).
1795<h2>What's new in this drop</h2>
Stephan Herrmann7b7062f2010-04-01 19:56:59 +00001796
1797<h3>Problem Reports Fixed</h3>
1798<a href="">293240</a>
1799[formatter] 'insert_space_before_opening_brace_in_array_initializer' preference may be reset in certain circumstances
1800<br><a href="">263564</a>
1801API to know when default compiler preference settings have been altered
1802<br><a href="">289385</a>
1803Investigate comment in performance tests
1804<br><a href="">286379</a>
1805[search] Problem while searching class
1807<a name="v_A15"></a>
1809Eclipse Platform Build Notes<br>
1810Java development tools core</h1>
1811Eclipse SDK 3.6M3 - October 20, 2009
1812<br>Project org.eclipse.jdt.core v_A15
1813(<a href="">cvs</a>).
1814<h2>What's new in this drop</h2>
1816<h3>Problem Reports Fixed</h3>
1817<a href="">292350</a>
1818[1.5][compiler] Compiler error: ambiguous method since 3.5.1 using generics and interface inheritance
1819<br><a href="">292364</a>
1820[internal] Type name in CastExpression not treated as Type name.
1821<br><a href="">292428</a>
1822Internal compiler error: NullPointerException at org.eclipse.jdt.internal.compiler.ast.CastExpression.checkUnsafeCast(
1823<br><a href="">291985</a>
1824[compiler][jsr14] Translating Enum with jsr14 target: ECJ causes a runtime error while Sun compiler works fine
1825<br><a href="">292240</a>
1826Compiler error on implementation of raw sub interface
1828<a name="v_A14"></a>
1830Eclipse Platform Build Notes<br>
1831Java development tools core</h1>
1832Eclipse SDK 3.6M3 - October 13, 2009
1833<br>Project org.eclipse.jdt.core v_A14
1834(<a href="">cvs</a>).
1835<h2>What's new in this drop</h2>
1837<h3>Problem Reports Fixed</h3>
1838<a href="">291391</a>
1839update the Bundle-Version of the JDT Core Batch Compiler (ecj) from 3.3.0 to 3.6.*
1840<br><a href="">284280</a>
1841[1.5][compiler] Error on use generic interface in abstract super class
1842<br><a href="">286228</a>
1843[1.5][compiler] Generics inconsistencies possible regression
1844<br><a href="">286601</a>
1845[formatter] Code formatter formats anonymous inner classes wrongly when 'Never join lines' is on
1846<br><a href="">215139</a>
1847[search] More options for HierarchyScope
1848<br><a href="">291472</a>
1849[1.5][compiler] Access to a generic method is compiled incorrectly
1850<br><a href="">283539</a>
1851NamingConventions.suggestVariableNames doesn't work if name contains '_'
1852<br><a href="">280784</a>
1853[batch] Allow access restrictions to be reported as errors
1855<a name="v_A13"></a>
1857Eclipse Platform Build Notes<br>
1858Java development tools core</h1>
1859Eclipse SDK 3.6M3 - October 6, 2009
1860<br>Project org.eclipse.jdt.core v_A13
1861(<a href="">cvs</a>).
1862<h2>What's new in this drop</h2>
1864<li>Reverted fix for <a href="">106478</a>.</li>
1867<h3>Problem Reports Fixed</h3>
1868<a href="">291322</a>
1869Test errors when running JDT Core tests on Windows 7
1870<br><a href="">282770</a>
1871[compiler] Dead code detection should have specific @SuppressWarnings
1872<br><a href="">290028</a>
1873Use IResource#setDerived(boolean, IProgressMonitor) instead of IResource#setDerived(boolean)
1874<br><a href="">287607</a>
1875[1.5][compiler] cast of inner of generic enclosing type are not reported as unsafe
1876<br><a href="">288749</a>
1877Redundant superinterface not flagged inside one declaration
1878<br><a href="">290905</a>
1879[formatter] Certain formatter pref constellation cause endless loop ==&gt; OOME
1880<br><a href="">285124</a>
1881serialVersionUID still causes error/warning
1882<br><a href="">290877</a>
1883[DOM] If using a tag named '@enum' the ASTParser ignores this
1884<br><a href="">281575</a>
1885Eclipse hangs in SourceMapper while doing java proposals
1886<br><a href="">290470</a>
1887[JSR199][compiler] JDT compiler not jsr199 compatible.
1888<br><a href="">290730</a>
1889Rewriting SwitchStatement throws NPE
1891<a name="v_A12"></a>
1893Eclipse Platform Build Notes<br>
1894Java development tools core</h1>
1895Eclipse SDK 3.6M3 - September 29, 2009
1896<br>Project org.eclipse.jdt.core v_A12
1897(<a href="">cvs</a>).
1898<h2>What's new in this drop</h2>
1900<h3>Problem Reports Fixed</h3>
1901<a href="">287676</a>
1902[1.5][compiler] Useless cast warning not emited
1903<br><a href="">290563</a>
1904add specification for fine grain search flags
1905<br><a href="">290376</a>
1906Errant &quot;Comparing identical expressions&quot; warning with assignment
1907<br><a href="">287592</a>
1908[1.5][compiler] Wrong ambiguous compilation error
1909<br><a href="">290049</a>
1910Reconciling a compilation unit does not return an AST with bindings when it should (probably)
1911<br><a href="">290034</a>
1912Effects of @SuppressWarnings(&quot;unchecked&quot;) are broader in Eclipse than in javac
1913<br><a href="">267561</a>
1914[evaluation] LocalEvaluationEngine does not accept primitive types
1915<br><a href="">163194</a>
1916[1.6] compiler should warn about missing @Override annotation for interface method
1918<a name="v_A11"></a>
1920Eclipse Platform Build Notes<br>
1921Java development tools core</h1>
1922Eclipse SDK 3.6M3 - September 22, 2009
1923<br>Project org.eclipse.jdt.core v_A11
1924(<a href="">cvs</a>).
1925<h2>What's new in this drop</h2>
1927<h3>Problem Reports Fixed</h3>
1928<a href="">289892</a>
1929[compiler] NPE during binaryTypeBinding field initialization
1930<br><a href="">287833</a>
1931[formatter] Formatter removes the first character after the * in the &lt;pre&gt; tag
1932<br><a href="">238943</a>
1933SortElementsOperation doesn't use project specific settings
1934<br><a href="">288621</a>
1935[1.5][compiler] Creating type hierarchy failed when pressing F4
1936<br><a href="">289538</a>
1937[1.5][compiler] compiler fails to generate correct code for private constructor in inner class
1938<br><a href="">289639</a>
1939Problems opening perspective JavaPerspective, NPE on JavaModelManager.containersReset()
1940<br><a href="">289516</a>
1941Annotations (visible and invisible) should be preserved with target jsr14
1942<br><a href="">289576</a>
1943[1.5][compiler] Compiler changes 'private' modifier on methods with annotated parameter
1945<a name="v_A10"></a>
1947Eclipse Platform Build Notes<br>
1948Java development tools core</h1>
1949Eclipse SDK 3.6M2 - September 14, 2009 - 3.6M2
1950<br>Project org.eclipse.jdt.core v_A10
1951(<a href="">cvs</a>).
1952<h2>What's new in this drop</h2>
1954<h3>Problem Reports Fixed</h3>
1955<a href="">288148</a>
1956[perfs] Comments applied for performance tests may be obsolete
1957<br><a href="">289247</a>
1958[1.5][compiler]Detecting duplicate methods should not consider return type
1959<br><a href="">288920</a>
1960[compiler] NPE renaming run() method
1961<br><a href="">288698</a>
1962Cannot create type hierarchy for abstract types when they have inline descendants and *.class* in project name
1964<a name="v_A09"></a>
1966Eclipse Platform Build Notes<br>
1967Java development tools core</h1>
1968Eclipse SDK 3.6M2 - September 1, 2009
1969<br>Project org.eclipse.jdt.core v_A09
1970(<a href="">cvs</a>).
1971<h2>What's new in this drop</h2>
1973<h3>Problem Reports Fixed</h3>
1974<a href="">287009</a>
1975Inner Annotation Checks are Missing
1976<br><a href="">287701</a>
1977[dom] Length of Assignment should not include whitespace
1978<br><a href="">285230</a>
1979[performance] Duplicate buffers created for internal classes
1980<br><a href="">286391</a>
1981[compiler] jsr14 target behavior changed between ECJ 3.4.2 and ECJ 3.5
1983<a name="v_A08"></a>
1985Eclipse Platform Build Notes<br>
1986Java development tools core</h1>
1987Eclipse SDK 3.6M2 - August 25, 2009
1988<br>Project org.eclipse.jdt.core v_A08
1989(<a href="">cvs</a>).
1990<h2>What's new in this drop</h2>
1992<h3>Problem Reports Fixed</h3>
1993<a href="">287462</a>
1994[formatter] new failures in last 2 nightly builds
1995<br><a href="">285565</a>
1996[inline] Inlining constant or local variables causes exceptions with tab width 0
1997<br><a href="">285799</a>
1998HashtableOfObject rehashes and grows buffer on removeKey()
1999<br><a href="">286912</a>
2000[formatter] Never join lines preferences makes the formatter unstable in certain circumstances
2001<br><a href="">286668</a>
2002[formatter] 'Never Join Lines' joins lines that are split on method invocation
2003<br><a href="">248661</a>
2004Axis2: Missing required libraries in Axis 2 WS Client Projects
2005<br><a href="">286918</a>
2006[javadoc] Compiler should warn when @see and @link tag references in don't have fully qualified names
2007<br><a href="">285466</a>
2008[3.5 regression] fails to build IcedTea, works with 3.4.x
2009<br><a href="">286956</a>
2010NPE when asking to externalize constant
2011<br><a href="">281609</a>
2012[javadoc] &quot;Javadoc: Invalid reference&quot; warning for @link to Java package
2014<a name="v_A07"></a>
2016Eclipse Platform Build Notes<br>
2017Java development tools core</h1>
2018Eclipse SDK 3.6M2 - August 18, 2009
2019<br>Project org.eclipse.jdt.core v_A07
2020(<a href="">cvs</a>).
2021<h2>What's new in this drop</h2>
2023<h3>Problem Reports Fixed</h3>
2024<a href="">286840</a>
2025ClasspathJar getPath() should return a unique path
2026<br><a href="">254738</a>
2027NPE in HierarchyResolver.setFocusType
2028<br><a href="">276294</a>
2029Error does not go away after it is resolved
2030<br><a href="">284785</a>
2031[1.5][compiler] Eclipse compiler shows error on javac-valid construct: varargs plus overload
2032<br><a href="">286405</a>
2033Default value character of annotations in ClassFileEditor are badly printed
2034<br><a href="">286407</a>
2035[Model] IMemberValuePair don't return the right value for java.lang.annotation.RetentionPolicy annotations
2036<br><a href="">285701</a>
2037[1.5][compiler] Internal Compiler Error - ArrayIndexOutOfBoundsException
2039<a name="v_A06"></a>
2041Eclipse Platform Build Notes<br>
2042Java development tools core</h1>
2043Eclipse SDK 3.6M1 - August 3, 2009 - 3.6M1
2044<br>Project org.eclipse.jdt.core v_A06
2045(<a href="">cvs</a>).
2046<h2>What's new in this drop</h2>
2048<h3>Problem Reports Fixed</h3>
2049<a href="">284948</a>
2050[1.6][compiler] Java annotations are broken in editor when used on interface methods
2052<a name="v_A05"></a>
2054Eclipse Platform Build Notes<br>
2055Java development tools core</h1>
2056Eclipse SDK 3.6M1 - July 30, 2009
2057<br>Project org.eclipse.jdt.core v_A05
2058(<a href="">cvs</a>).
2059<h2>What's new in this drop</h2>
2061<h3>Problem Reports Fixed</h3>
2062<a href="">276526</a>
2063[content assist] Error - Type Duplicate interface Iterable for the type TestClass
2064<br><a href="">191176</a>
2065JavaProject#getOption optimizations
2067<a name="v_A04"></a>
2069Eclipse Platform Build Notes<br>
2070Java development tools core</h1>
2071Eclipse SDK 3.6M1 - July 28, 2009
2072<br>Project org.eclipse.jdt.core v_A04
2073(<a href="">cvs</a>).
2074<h2>What's new in this drop</h2>
2076<h3>Problem Reports Fixed</h3>
2077<a href="">261909</a>
2078ClassFileReader.getModifiers() answers funny bits
2079<br><a href="">283225</a>
2080[1.6][compiler] classfile versus source conformance check too strict
2081<br><a href="">284679</a>
2082[formatter] empty single semi statement prevent enum elements format
2083<br><a href="">284482</a>
2084[compiler] Collision cases not detected
2085<br><a href="">284431</a>
2086Different inherited thrown exception clauses are not properly handled
2087<br><a href="">133911</a>
2088type.move() returns unclear exception &quot;invalid destination&quot;
2089<br><a href="">270436</a>
2090[assist] Interface type proposed where only class is legal
2091<br><a href="">210385</a>
2092[compiler] ProblemReporter#getProblemCategory misbehaves when passed ProblemSeverities.Ignore as severity parameter
2093<br><a href="">282891</a>
2094[compiler] "Comparing identical expressions" warning sometimes invalid
2095<br><a href="">282869</a>
2096[compiler] Unnecessary cast warning for cast from char to int
2097<br><a href="">270437</a>
2098[assist] Completion proposal leads to cycle detected error
2099<br><a href="">217443</a>
2100Documentation for JavaCore#CORE_ENCODING does not match the observed behavior
2102<a name="v_A03"></a>
2104Eclipse Platform Build Notes<br>
2105Java development tools core</h1>
2106Eclipse SDK 3.6M1 - July 21, 2009
2107<br>Project org.eclipse.jdt.core v_A03
2108(<a href="">cvs</a>).
2109<h2>What's new in this drop</h2>
2111<h3>Problem Reports Fixed</h3>
2112<a href="">283467</a>
2113[formatter] wrong indentation with 'Never join lines' selected
2114<br><a href="">281776</a>
2115Should not warn for comparison of identical expression with float type
2116<br><a href="">282768</a>
2117[compiler] Dead code detection should ignore trivial case for ternary if operator
2118<br><a href="">283133</a>
2119[formatter] IAE when pasting a snippet
2120<br><a href="">283299</a>
2121Complete SourceRange API
2123<a name="v_A02"></a>
2125Eclipse Platform Build Notes<br>
2126Java Development Tooling Core</h1>
2127Eclipse SDK 3.6M1 - July 13, 2009
2128<br>Project org.eclipse.jdt.core v_A02
2129(<a href="">cvs</a>).
2130<h2>What's new in this drop</h2>
2132<li>Added new API type org.eclipse.jdt.core.SourceRange</li>
2135<h3>Problem Reports Fixed</h3>
2136<a href="">271296</a>
2137[assist] void typed proposal may not be appropriate in many contexts
2138<br><a href="">281871</a>
2139[content assist] The extension took too long to return from the 'computeCompletionProposals()' operation
2140<br><a href="">281598</a>
2141[assist] Problems during content assist - if project has empty zip file in classpath
2142<br><a href="">235294</a>
2143[formatter] javadoc for DefaultCodeFormatterConstants#FORMATTER_ALIGNMENT_FOR_ASSIGNMENT cites a non-API constant
2144<br><a href="">280497</a>
2145Incorrect null result for IJavaProject.getClasspathEntryFor(IPath)
2146<br><a href="">204777</a>
2147Clarify documentation for ITypeHierarchy created on interface types
2148<br><a href="">88265</a>
2149Make SourceRange API
2151<a name="v_A01"></a>
2153Eclipse Platform Build Notes<br>
2154Java development tools core</h1>
2155Eclipse SDK 3.6M1 - July 7, 2009
2156<br>Project org.eclipse.jdt.core v_A01
2157(<a href="">cvs</a>).
2158<h2>What's new in this drop</h2>
2160<h3>Problem Reports Fixed</h3>
2161<a href="">260968</a>
2162Deadlock in UserLibraryManager
2164<a name="v_A00"></a>
2166Eclipse Platform Build Notes<br>
2167Java development tools core</h1>
2168Eclipse SDK 3.6M1 - June 30, 2009
2169<br>Project org.eclipse.jdt.core v_A00
2170(<a href="">cvs</a>).
2171<h2>What's new in this drop</h2>
2173<li>New API added to handle the new <code>invokedynamic</code> bytecode:
2176 public void _invokedynamic(
2177 int pc,
2178 int index,
2179 IConstantPoolEntry nameEntry,
2180 IConstantPoolEntry descriptorEntry) {
2181 // default behavior is to do nothing
2182 }
2184<pre>org.eclipse.jdt.core.util.IBytecodeVisitor#_invokedynamic(int, int, IConstantPoolEntry, IConstantPoolEntry)</pre>
2189<h3>Problem Reports Fixed</h3>
2190<a href="">277450</a>
2191[1.5][compiler] Problems with += and Autoboxing/Unboxing
2192<br><a href="">206498</a>
2193[1.7][compiler] Remove fix for bug 206483 once 1.7 VMS can handle .class files with version 51.0
2194<br><a href="">191176</a>
2195JavaProject#getOption optimizations
2196<br><a href="">201762</a>
2197Content Assist has no proposals with certain CU structure
2198<br><a href="">281681</a>
2199Stale code in CompilerOptions
2200<br><a href="">231796</a>
2201[formatter] @throws tag description is not indented using @param preference when there's a syntax error
2202<br><a href="">255142</a>
2203[select] Codeselect should not omit cast
2204<br><a href="">235295</a>
2205[formatter] javadoc of CodeFormatter#F_INCLUDE_COMMENTS needs improvement
2206<br><a href="">280134</a>
2207[1.5][compiler] Requesting Java AST from selection has encountered a problem
2208<br><a href="">281317</a>
2209[search] An internal error occurred during: "Java Search".
2210<br><a href="">276373</a>
2211Incorrect resource comparison with IJavaProject.isOnClasspath(IResource)
2212<br><a href="">275518</a>
2213[assist] Content assist does not provide proposals if invoked right after a method's opening brace
2214<br><a href="">280888</a>
2215change a java file in one plug-in will compile all related plugin projects
2216<br><a href="">274466</a>
2217[assist] Assert expressions should be proposed with high relevance
2218<br><a href="">277382</a>
2219NPE and other failures in Parser
2220<br><a href="">275330</a>
2221NPE from org.eclipse.jdt.internal.core.ClasspathChange.requestIndexing
2222<br><a href="">273385</a>
2223[model] NPE while closing project
2224<br><a href="">280079</a>
2226<br><a href="">280063</a>
2227org.eclipse.jdt.internal.compiler.parser.Parser.parseClassBodyDeclarations(char[], int, int, CompilationUnitDeclaration) should return consistent results
2228<br><a href="">267046</a>
2229SourceMapper infinite loop on primitive type in generic
2230<br><a href="">240934</a>
2231Add support for the invokedynamic bytecode into the disassembler
2232<br><a href="">267551</a>
2233[formatter] Wrong spacing in default array parameter for annotation type
2234<br><a href="">277965</a>
2235[compiler] NPE in canBeSeenBy due to illegal protected toplevel class
2236<br><a href="">273990</a>
2237[compiler] FUP of 269388: Eclipse accepts code rejected by javac
2238<br><a href="">279183</a>
2239[1.6][compiler] Inconsistent stackmap frames generated by JDT cause VerifyError
2240<br><a href="">209778</a>
2241[search] TypeReferenceMatch#getOtherElements() fails for match in annotation
2242<br><a href="">221065</a>
2243[search] Search still finds overridden method
2244<br><a href="">279836</a>
2245[1.5][compiler] Eclipse compiler shows error on javac-valid construct: raw types on overridden methods
2246<br><a href="">280616</a>
2247[formatter] Valid 1.5 code is not formatted inside &lt;pre&gt; tag
2248<br><a href="">280255</a>
2249[formatter] Format edited lines adds two new lines on each save
2250<br><a href="">280061</a>
2251[formatter] AIOOBE while formatting javadoc comment
2252<br><a href="">276938</a>
2253Remove unreachable removes reachable logic in case statement.
2254<br><a href="">274898</a>
2255[recovery] IllegalArgumentException in ASTNode#setSourceRange()
2256<br><a href="">277204</a>
2257IAE in SharedASTProvider for generic local class.
2258<br><a href="">276741</a>
2259comparing identical value detection does not work for this
2260<br><a href="">276740</a>
2261comparing identical value detection does not work for primitive types
2262<br><a href="">278745</a>
2263Methods overloaded with unavailable types worked in 3.4 but give "indirectly referenced.." error in 3.5
2264<br><a href="">278305</a>
2265[1.5][compiler] JDT accepts supertype parameterized with wildcard
2266<br><a href="">196308</a>
2267[formatter] Don't escape entity when formatting in &lt;pre&gt; tags within javadoc comments
2268<br><a href="">279359</a>
2269[formatter] Formatter with 'never join lines' produces extra level of indent
2270<br><a href="">273619</a>
2271[formatter] Formatting repeats *} in javadoc
2274<p>For earlier build notes, also see <a href="">build notes up to Release 3.5</a>.</p>
2276 <p>
2277 <a href=""><img
2278 src=""
2279 alt="Valid HTML 4.01 Transitional" height="31" width="88"></a>
2280 </p>