blob: 3d2e858ac222211c25538b3622bfacc7036051f1 [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 Herrmanne5d6be82010-04-02 03:29:32 +000043<a name="v_A39"></a>
45Eclipse Platform Build Notes<br>
46Java development tools core</h1>
47Eclipse SDK 3.6M6 - March 9, 2010 - 3.6.0 M6
48<br>Project org.eclipse.jdt.core v_A39
49(<a href="">cvs</a>).
50<h2>What's new in this drop</h2>
52<h3>Problem Reports Fixed</h3>
53<a href="">289057</a>
54Java Content Assist taking too long
55<br><a href="">303830</a>
56&quot;X cannot be resolved or is not a field&quot; erroneously reported
57<br><a href="">235658</a>
58Valid identifier unrecognized.
59<br><a href="">304841</a>
60[search] NPE in IndexSelector.initializeIndexLocations
61<br><a href="">295866</a>
62FormalParameter in JDT DOM/AST documentation
63<br><a href="">304817</a>
64Review documentation of ASTParser class
66<a name="v_A38"></a>
68Eclipse Platform Build Notes<br>
69Java development tools core</h1>
70Eclipse SDK 3.6M6 - March 5, 2010
71<br>Project org.eclipse.jdt.core v_A38
72(<a href="">cvs</a>).
73<h2>What's new in this drop</h2>
76Added two new preferences to allow to disable the formatter in a section of the code.
77These two preference define respectively the tag which disables the formatting
78and the tag which re-enable it.
80These new preferences are controlled with the options:</p>
85 * FORMATTER / Option to define the tag to put in a comment to disable the formatting.
86 * See the {@link #FORMATTER_ENABLING_TAG} option to re-enable it.
87 * - option id: "org.eclipse.jdt.core.formatter.disabling_tag"
88 * - possible values: String, with constraints mentioned below
89 * - default: &quot;&quot;
90 *
91 * Note that:
92 *
93 * 1. The tag name will be trimmed. Hence if it does contain white spaces
94 * at the beginning or at the end, they will not be taken into account while
95 * searching for the tag in the comments
96 * 2. If a tag is starting with a letter or digit, then it cannot be leaded by
97 * another letter or digit to be recognized
98 * (<b><i>"ToDisableFormatter"</i></b> will not be recognized as a disabling tag
99 * <b><i>"DisableFormatter"</i></b>, but <b><i>"Re:DisableFormatter"</i></b>
100 * will be detected for either tag <b><i>"DisableFormatter"</i></b> or
101 * <b><i>":DisableFormatter"</i></b>).
102 * Respectively, a tag ending with a letter or digit cannot be followed by a letter
103 * or digit to be recognized (<b><i>"DisableFormatter1"</i></b> will not be
104 * recognized as a disabling tag <b><i>"DisableFormatter"</i></b>, but
105 * <b><i>"DisableFormatter:1"</i></b> will be detected either for tag
106 * <b><i>"DisableFormatter"</i></b> or <b><i>"DisableFormatter:"</i></b>)
107 * 3. As soon as the formatter encounters the defined disabling tag, it stops to
108 * format the code from the beginning of the comment including this tag. If it
109 * was already disabled, the tag has no special effect.
110 * For example, the second defined enabling tag &quot;<b>disable-formatter</b>&quot;
111 * in the following snippet is not necessary as the formatter was already disabled
112 * since the first one:
113 * class X {
114 * // disable-formatter
115 * void foo1() {}
116 * // disable-formatter
117 * void foo2() {}
118 * void bar1() {}
119 * void bar2() {}
120 * }
121 *
122 * 4. If no enabling tag is found by the formatter after the disabling tag, then
123 * the end of the snippet won't be formatted.
124 * For example, when a disabling tag is put at the beginning of the code, then
125 * the entire content of a compilation unit is not formatted:
126 * // disable-formatter
127 * class X {
128 * void foo1() {}
129 * void foo2() {}
130 * void bar1() {}
131 * void bar2() {}
132 * }
133 *
134 * 5. If a mix of disabling and enabling tags is done in the same comment, then
135 * the formatter will only take into account the last encountered tag in the
136 * comment.
137 * For example, in the following snippet, the formatter will be disabled after
138 * the comment:
139 * class X {
140 * &#47;&#42;
141 * &nbsp;&#42; This is a comment with a mix of disabling and enabling tags:
142 * &nbsp;&#42; - <b>disable-formatter</b>
143 * &nbsp;&#42; - <b>enable-formatter</b>
144 * &nbsp;&#42; - <b>disable-formatter</b>
145 * &nbsp;&#42; The formatter will stop to format from the beginning of this comment...
146 * &nbsp;&#42;&#47;
147 * void foo() {}
148 * void bar() {}
149 * }
150 *
151 * 6. The tag cannot include newline character (i.e. &#39;&#92;n&#39;) but it can have white spaces.
152 * E.g. "<b>format: off</b>" is a valid disabling tag
153 * In the future, newlines may be used to support multiple disabling tags.
154 *
155 * @since 3.6
156 */
159 * FORMATTER / Option to define the tag to put in a comment to re-enable the
160 * formatting after it has been disabled (see {@link #FORMATTER_DISABLING_TAG})
161 * - option id: "org.eclipse.jdt.core.formatter.enabling_tag"
162 * - possible values: String, with constraints mentioned below
163 * - default: &quot;&quot;
164 *
165 * Note that:
166 *
167 * 1. The tag name will be trimmed. Hence if it does contain white spaces
168 * at the beginning or at the end, they will not be taken into account while
169 * searching for the tag in the comments
170 * 2. If a tag is starting with a letter or digit, then it cannot be leaded by
171 * another letter or digit to be recognized
172 * (<b>"ReEnableFormatter"</b> will not be recognized as an enabling tag
173 * <b><i>"EnableFormatter"</i></b>, but <b><i>"Re:EnableFormatter"</i></b>
174 * will be detected for either tag <b><i>"EnableFormatter"</i></b> or
175 * <b><i>":EnableFormatter"</i></b>).
176 * Respectively, a tag ending with a letter or digit cannot be followed by a letter
177 * or digit to be recognized (<b><i>"EnableFormatter1"</i></b> will not be
178 * recognized as an enabling tag <b><i>"EnableFormatter"</i></b>, but
179 * <b><i>"EnableFormatter:1"</i></b> will be detected either for tag
180 * <b><i>"EnableFormatter"</i></b> or <b><i>"EnableFormatter:"</i></b>)
181 * 3. As soon as the formatter encounters the defined enabling tag, it re-starts
182 * to format the code just after the comment including this tag. If it was already
183 * active, i.e. already re-enabled or never disabled, the tag has no special effect.
184 * For example, the defined enabling tag &quot;<b>enable-formatter</b>&quot;
185 * in the following snippet is not necessary as the formatter has never been
186 * disabled:
187 * class X {
188 * void foo1() {}
189 * void foo2() {}
190 * // enable-formatter
191 * void bar1() {}
192 * void bar2() {}
193 * }
194 *
195 * Or, in the following other snippet, the second enabling tag is not necessary as
196 * the formatting will have been re-enabled by the first one:
197 * class X {
198 * // disable-formatter
199 * void foo1() {}
200 * void foo2() {}
201 * // enable-formatter
202 * void bar1() {}
203 * // enable-formatter
204 * void bar2() {}
205 * }
206 *
207 * 4. If a mix of disabling and enabling tags is done in the same comment, then
208 * the formatter will only take into account the last encountered tag in the
209 * comment.
210 * For example, in the following snippet, the formatter will be re-enabled after
211 * the comment:
212 * // disable-formatter
213 * class X {
214 * &#47;&#42;
215 * &nbsp;&#42; This is a comment with a mix of disabling and enabling tags:
216 * &nbsp;&#42; - <b>enable-formatter</b>
217 * &nbsp;&#42; - <b>disable-formatter</b>
218 * &nbsp;&#42; - <b>enable-formatter</b>
219 * &nbsp;&#42; The formatter will restart to format after this comment...
220 * &nbsp;&#42;&#47;
221 * void foo() {}
222 * void bar() {}
223 * }
224 *
225 * 5. The tag cannot include newline character (i.e. &#39;&#92;n&#39;) but it can have white spaces.
226 * E.g. "<b>format: on</b>" is a valid enabling tag
227 * In the future, newlines may be used to support multiple enabling tags.
228 *
229 * @since 3.6
230 */
232<p>For example, the following snippet:</p>
234public class Test {
235/* disable-formatter */
236void foo( ) {
237 // unformatted area
239/* enable-formatter */
240void bar( ) {
241 // formatted area
245formatted with disabling tags = &quot;disable-formatter&quot; and enabling tags
246= &quot;enable-formatter&quot; produces the following output:
248public class Test {
250/* disable-formatter *
251void foo( ) {
252 // unformatted area
254/* enable-formatter *
255 void bar() {
256 // formatted area
257 }
260See bug <a href="">27079</a> for more details.
264<h3>Problem Reports Fixed</h3>
265<a href="">129804</a>
266[dom] Local variable bindings from ASTParser#createASTs(.., String[], .., ..) have no declaring method
267<br><a href="">304705</a>
268[formatter] Unexpected indentation of wrapped line comments when 'Never indent line comment on first column' preference is checked
269<br><a href="">304656</a>
270StringIndexOutOfBoundsException when using JDT dom methods to process sourcefile
271<br><a href="">304506</a>
272Task descriptions always have a space after the tag
273<br><a href="">304081</a>
274IJavaProject#isOnClasspath(IJavaElement) returns false for type from referenced JAR
275<br><a href="">304122</a>
276TypeBindings.getAnnotations() breaks interface
277<br><a href="">304416</a>
278VerifyError after compiling without preserve all locals
279<br><a href="">304529</a>
280[formatter] NPE when either the disabling or the enabling tag is not defined
281<br><a href="">27079</a>
282Tags for disabling/enabling code formatter (feature)
283<br><a href="">304316</a>
284NPE when javadoc URL is invalid
286<a name="v_A37"></a>
288Eclipse Platform Build Notes<br>
289Java development tools core</h1>
290Eclipse SDK 3.6M6 - March 2, 2010
291<br>Project org.eclipse.jdt.core v_A37
292(<a href="">cvs</a>).
293<h2>What's new in this drop</h2>
295<li>Added new configurable option to fix bug <a href="">295551</a>:<br>
298 * Compiler option ID: Further Determining the Effect of @SuppressWarnings if also
300 * When enabled, the @SuppressWarnings annotation can additionally be used to suppress
301 * optional compiler diagnostics that have been configured as ERROR.
302 * When disabled, all @SuppressWarnings annotations only affects warnings.
303 *
304 * Option id: "org.eclipse.jdt.core.compiler.problem.suppressOptionalErrors"
305 * Possible values: { "enabled", "disabled" }
306 * Default: "disabled"
307 *
308 * @since 3.6
309 * @category CompilerOptionID
310 */
311public static final String COMPILER_PB_SUPPRESS_OPTIONAL_ERRORS = PLUGIN_ID + ".compiler.problem.suppressOptionalErrors";
315Added a new formatter preferences to align method declaration.
317This new preference is controlled with the option:</p>
321 * FORMATTER / Option for alignment of method declaration
322 * - option id: "org.eclipse.jdt.core.formatter.alignment_for_method_declaration"
323 * - possible values: values returned by <code>createAlignmentValue(boolean, int, int)</code> call
324 * - default: createAlignmentValue(false, WRAP_NO_SPLIT, INDENT_DEFAULT)
325 *
326 * @see #createAlignmentValue(boolean, int, int)
327 * @since 3.6
328 */
330<p>For example, the following snippet:</p>
332public class Test {
333public final synchronized java.lang.String a_method_which_has_a_very_long_name() {
334return null;
338formatted with this preference activated as 'Wrap only when necessary', will
339produce the following output:
341public class Test {
342 public final synchronized java.lang.String
343 a_method_which_has_a_very_long_name() {
344 return null;
345 }
348See bug <a href="">284789</a> for more details.
350<li>New API to fix bug <a href="">246594</a>. See the bug for details.
352 /**
353 * Returns the signatures for this type parameter's bounds. The type parameter may have
354 * been declared as part of a type or a method. The signatures represent only the individual
355 * bounds and do not include the type variable name or the <code>extends</code> keyword.
356 * The signatures may be either unresolved (for source types) or resolved (for binary types).
357 * See {@link Signature} for details.
358 *
359 * @return the signatures for the bounds of this formal type parameter
360 * @throws JavaModelException
361 * if this element does not exist or if an exception occurs while accessing its corresponding resource.
362 * @see Signature
363 * @since 3.6
364 */
365 String[] getBoundsSignatures() throws JavaModelException;
369Added a new formatter preference to enable or disable the formatting of line
370comments that start on the first column.<br>
371Note that the indentation of line comments will also be disabled when activating
372this option, as otherwise the formatter could not produce stable outputs...
374The default is to format these comments to have a backward compatible behavior.
376This new preferences is controlled with the options:</p>
380 * FORMATTER / Option to format line comments that start on the first column
381 * - option id: "org.eclipse.jdt.core.formatter.format_line_comment_starting_on_first_column"
382 * - possible values: { TRUE, FALSE }
383 * - default: TRUE
384 *
385 * Note that this option is ignored if either the
386 * {@link #FORMATTER_COMMENT_FORMAT_LINE_COMMENT} option has been set to
387 * {@link #FALSE} or the formatter is created with the mode
388 * {@link ToolFactory#M_FORMAT_NEW}.
389 *
390 * @see #TRUE
391 * @see #FALSE
392 * @see ToolFactory#createCodeFormatter(Map, int)
393 * @since 3.6
394 */
396<p>For example, the following snippet:</p>
398public class X01 {
399// int a = 1;
400// int b = 2;
403will be untouched by the formatter if both options are activated.
404See bug <a href="">251133</a> for more details.
406<li>New API to fix bug <a href="">252431</a>. See the bug for details.
409 /**
410 * Returns the classpath entry that is making a reference to this classpath entry. For entry kinds
411 * {@link #CPE_LIBRARY}, the return value is the entry that is representing the JAR that includes
412 * <code>this</code> in the MANIFEST.MF file's Class-Path section. For entry kinds other than
413 * {@link #CPE_LIBRARY}, this returns <code>null</code>. For those entries that are on the raw classpath already,
414 * this returns <code>null</code>.
415 *
416 * It is possible that multiple library entries refer to the same entry
417 * via the MANIFEST.MF file. In those cases, this method returns the first classpath entry
418 * that appears in the raw classpath. However, this does not mean that the other referencing
419 * entries do not relate to their referenced entries.
420 * See {@link JavaCore#getReferencedClasspathEntries(IClasspathEntry, IJavaProject)} for
421 * more details.
422 *
423 * @return the classpath entry that is referencing this entry or <code>null</code> if
424 * not applicable.
425 * @since 3.6
426 */
427 IClasspathEntry getReferencingEntry();
431 /**
432 * Works similar to {@link #setRawClasspath(IClasspathEntry[], IPath, IProgressMonitor)} and
433 * additionally allows persisting the given array of referenced entries for this project.
434 * The referenced entries and their attributes are stored in the .classpath file of this
435 * project. For details on referenced entries, see
436 * {@link JavaCore#getReferencedClasspathEntries(IClasspathEntry, IJavaProject)}
437 * and {@link IClasspathEntry#getReferencingEntry()}.
438 *
439 * Since the referenced entries are stored in the .classpath file, clients can store additional
440 * information that belong to these entries and retrieve them across sessions, though the referenced
441 * entries themselves may not be present in the raw classpath. By passing a <code>null</code>
442 * referencedEntries, clients can choose not to modify the already persisted referenced entries,
443 * which is fully equivalent to {@link #setRawClasspath(IClasspathEntry[], IPath, IProgressMonitor)}.
444 * If an empty array is passed as referencedEntries, the already persisted referenced entries,
445 * if any, will be cleared.
446 *
447 * If there are duplicates of a referenced entry or if any of the <code>referencedEntries</code>
448 * is already present in the raw classpath(<code>entries</code>) those referenced entries will
449 * be excluded and not be persisted.
450 *
451 * @param entries a list of classpath entries
452 * @param referencedEntries the list of referenced classpath entries to be persisted
453 * @param outputLocation the default output location
454 * @param monitor the given progress monitor
455 * @exception JavaModelException if the classpath could not be set. Reasons include:
456 * This Java element does not exist (ELEMENT_DOES_NOT_EXIST)
457 * The classpath is being modified during resource change event notification (CORE_EXCEPTION)
458 * The classpath failed the validation check as defined by {@link JavaConventions#validateClasspath(IJavaProject, IClasspathEntry[], IPath)}
459 * @see IClasspathEntry
460 * @see #getReferencedClasspathEntries()
461 * @since 3.6
462 */
463 void setRawClasspath(IClasspathEntry[] entries, IClasspathEntry[] referencedEntries, IPath outputLocation,
464 IProgressMonitor monitor) throws JavaModelException;
466 /**
467 * Returns the list of referenced classpath entries stored in the .classpath file of <code>this</code>
468 * java project. Clients can store the referenced classpath entries using
469 * {@link #setRawClasspath(IClasspathEntry[], IClasspathEntry[], IPath, IProgressMonitor)}
470 * If the client has not stored any referenced entries for this project, an empty array is returned.
471 *
472 * @throws JavaModelException
473 * @return an array of referenced classpath entries stored for this java project or an empty array if none
474 * stored earlier.
475 * @since 3.6
476 */
477 IClasspathEntry[] getReferencedClasspathEntries() throws JavaModelException;
481 /**
482 * Returns the first resolved classpath entry that corresponds to this package fragment root.
483 * A resolved classpath entry is said to correspond to a root if the path of the resolved
484 * entry is equal to the root's path.
485 *
486 * @return the first resolved classpath entry that corresponds to this package fragment root
487 * @throws JavaModelException if this element does not exist or if an
488 * exception occurs while accessing its corresponding resource.
489 * @since 3.6
490 */
491 IClasspathEntry getResolvedClasspathEntry() throws JavaModelException;
495 /**
496 * Returns an array of classpath entries that are referenced directly or indirectly
497 * by a given classpath entry. For the entry kind {@link IClasspathEntry#CPE_LIBRARY},
498 * the method returns the libraries that are included in the Class-Path section of
499 * the MANIFEST.MF file. If a referenced JAR file has further references to other library
500 * entries, they are processed recursively and added to the list. For entry kinds other
501 * than {@link IClasspathEntry#CPE_LIBRARY}, this method returns an empty array.
502 *
503 * If a referenced entry has already been stored
504 * in the given project's .classpath, the stored attributes are populated in the corresponding
505 * referenced entry. For more details on storing referenced entries see
506 * see {@link IJavaProject#setRawClasspath(IClasspathEntry[], IClasspathEntry[], IPath,
507 * IProgressMonitor)}.
508 *
509 * @param libraryEntry the library entry whose referenced entries are sought
510 * @param project project where the persisted referenced entries to be retrieved from
511 * @return an array of classpath entries that are referenced directly or indirectly by the given entry.
512 * If not applicable, returns an empty array.
513 * @since 3.6
514 */
515 public static IClasspathEntry[] getReferencedClasspathEntries(IClasspathEntry libraryEntry, IJavaProject project);
520<h3>Problem Reports Fixed</h3>
521<a href="">252431</a>
522New API is needed to better identify referenced jars in the Class-Path: entry
523<br><a href="">251133</a>
524[formatter] Automatic formatting single line comments is incoherent among tools
525<br><a href="">248897</a>
526[1.5][compiler] Wrong warning 'The local variable 'var' is never read'.
527<br><a href="">304031</a>
528Unused @SuppressWarnings(..) not flagged when suppressed problem is set to Error
529<br><a href="">295551</a>
530Add option to automatically promote all warnings to errors
531<br><a href="">303810</a>
532Compact boolean fields on FlowContext
533<br><a href="">251227</a>
534[compiler] Fup of bug 115814, comparing doubles should not be flagged
535<br><a href="">268798</a>
536[1.5][compiler] Eclipse 3.5M5/6 produces new compiler errors with generics
537<br><a href="">303448</a>
538Wrong code generation optimization when assert condition is false
539<br><a href="">303776</a>
540Member types imports are removed too aggressively
541<br><a href="">302949</a>
542JavaModelManager hangs accessing the nonChainingJars set
543<br><a href="">246594</a>
544[model] API request: ITypeParameter#getBoundsSignatures() or #getSignature()
545<br><a href="">253896</a>
546[compiler][null] wrong &quot;Null comparison always yields false&quot; problem for auto-unboxing
547<br><a href="">284789</a>
548[formatter] Does not line-break method declaration exception with parameters
549<br><a href="">303480</a>
550[1.5][compiler] CCE: org.eclipse.jdt.internal.compiler.parser.RecoveredBlock cannot be cast to org.eclipse.jdt.internal.compiler.parser.RecoveredType
552<a name="v_A36"></a>
554Eclipse Platform Build Notes<br>
555Java development tools core</h1>
556Eclipse SDK 3.6M6 - February 23, 2010
557<br>Project org.eclipse.jdt.core v_A36
558(<a href="">cvs</a>).
559<h2>What's new in this drop</h2>
562Added a new formatter preferences to align annotation arguments (ie. element-value pairs).
564This new preference is controlled with the option:</p>
568 * FORMATTER / Option for alignment of arguments in annotation
569 * - option id: "org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation"
570 * - possible values: values returned by <code>createAlignmentValue(boolean, int, int)</code> call
571 * - default: createAlignmentValue(false, WRAP_NO_SPLIT, INDENT_DEFAULT)
572 *
573 * @see #createAlignmentValue(boolean, int, int)
574 * @since 3.6
575 */
577<p>For example, the following snippet:</p>
579@MyAnnot(value1 = "this is an example", value2 = "of an annotation", value3 = "with several arguments", value4 = "which may need to be wrapped")
580public class Test {
583formatted with this preference activated, will produce the following output
584while using the <code>Eclipse [built-in]</code> profile:
586@MyAnnot(value1 = "this is an example", value2 = "of an annotation",
587 value3 = "with several arguments",
588 value4 = "which may need to be wrapped")
589public class Test {
592See bug <a href="">282030</a> for more details.
594<li>In order to get bindings outside of the Eclipse environment, the following method has been added on the ASTParser class.
595<br>See bug <a href="">206391</a> for details.<br>
597 /**
598 * Set the environment that can be used when no IJavaProject are available.
599 *
600 * The user has to be sure to include all required types on the classpaths for binary types
601 * or on the sourcepaths for source types to resolve the given source code.
602 * All classpath and sourcepath entries are absolute paths.
603 * If sourcepaths contain units using a specific encoding (not the platform encoding), then the
604 * given encodings must be set. If the given encodings is set, its length must
605 * match the length of the sourcepaths parameter or an IllegalArgumentException will be thrown.
606 * If encodings is not null, the given sourcepathEntries must not be null.
607 *
608 * @param classpathEntries the given classpath entries to be used to resolve bindings
609 * @param sourcepathEntries the given sourcepath entries to be used to resolve bindings
610 * @param encodings the encodings of the corresponding sourcepath entries or null if the platform encoding
611 * can be used.
612 * @param includeRunningVMBootclasspath true if the bootclasspath of the running VM must be prepended to the
613 * given classpath and false if the bootclasspath of the running VM should be ignored.
614 * @throws IllegalArgumentException if the size of the given encodings is not equals to the size of the given
615 * sourcepathEntries
616 * @since 3.6
617 */
618 public void setEnvironment(String[] classpathEntries, String[] sourcepathEntries, String[] encodings, boolean includeRunningVMBootclasspath);
622Added two new formatter preferences to condense block and javadoc comments.
624These new preferences are controlled respectively with the options:</p>
629 * FORMATTER / Option to control whether block comments will have new lines at boundaries
630 * - option id: "org.eclipse.jdt.core.formatter.comment.new_lines_at_block_boundaries"
631 * - possible values: { TRUE, FALSE }
632 * - default: TRUE
633 *
634 * @see #TRUE
635 * @see #FALSE
636 * @since 3.6
637 */
640 * FORMATTER / Option to control whether javadoc comments will have new lines at boundaries
641 * - option id: "org.eclipse.jdt.core.formatter.comment.new_lines_at_javadoc_boundaries"
642 * - possible values: { TRUE, FALSE }
643 * - default: TRUE
644 *
645 * @see #TRUE
646 * @see #FALSE
647 * @since 3.6
648 */
649 </pre>
650<p>For example, when both of these options are used, the following snippet:</p>
652public class X {
653 /*
654 * This block comment after formatting will no longer use a new line
655 * at the beginning and at the end of the comment...
656 */
657 void foo() {
658 }
659 /**
660 * This javadoc comment after formatting will no longer use a new line
661 * at the beginning and at the end of the comment...
662 */
663 void bar() {
664 }
667formatted with this preference activated, will produce the following output:
669public class X {
670 /* This block comment after formatting will no longer use a new line at the
671 * beginning and at the end of the comment... */
672 void foo() {
673 }
675 /** This javadoc comment after formatting will no longer use a new line at
676 * the beginning and at the end of the comment... */
677 void bar() {
678 }
681See bug <a href="">270209</a> for more details.
684The <code>CodeFormatter.F_INCLUDE_COMMENT</code> flag now works for all kind
685of snippet while using the formatter.<br>
686See bug <a href="">236406</a> for more details.
689Added a new formatter preferences to insert a new line after a label.
691This new preference is controlled with the option:</p>
695 * FORMATTER / Option to insert a new line after a label
696 * - option id: "org.eclipse.jdt.core.formatter.insert_new_line_after_label"
697 * - possible values: { INSERT, DO_NOT_INSERT }
698 * - default: DO_NOT_INSERT
699 *
700 * @see JavaCore#INSERT
701 * @see JavaCore#DO_NOT_INSERT
702 * @since 3.6
703 */
705<p>For example, the following snippet:</p>
707public class X {
708 void foo() {
709 LABEL:for (int i = 0; i &lt; 10; i++) {
710 }
711 }
714formatted with this preference activated, will produce the following output:
716public class X {
717 void foo() {
718 LABEL:
719 for (int i = 0; i &lt; 10; i++) {
720 }
721 }
724See bug <a href="">150741</a> for more details.
728<h3>Problem Reports Fixed</h3>
729<a href="">298362</a>
730[1.5][compiler] Compiler returns java.lang.Object instead of generic type T when javac returns T
731<br><a href="">281655</a>
732[formatter] &quot;Never join lines&quot; does not work for annotations.
733<br><a href="">282030</a>
734[formatter] Java annotation formatting
735<br><a href="">270209</a>
736[format] Condensed block comment formatting
737<br><a href="">236406</a>
738[formatter] The comments flags should work for all kind of snippet
739<br><a href="">294360</a>
740Duplicate entries in Classpath Resolution when importing dependencies from parent project
741<br><a href="">206391</a>
742[DOM] Binding Resolutions for projects outside of Eclipse workspace
743<br><a href="">150409</a>
744[compiler] AST does not expose method bindings for non-visible inherited field
745<br><a href="">302358</a>
746Compiler finds wrong method for method invocation with generics
747<br><a href="">302919</a>
748misreported cast Error when mixing generic and raw class in nested class
749<br><a href="">150741</a>
750[formatter] Add option: &quot;add new line after label&quot;
751<br><a href="">287939</a>
752[code assist] The instanceof and the auto cast feature should also work for an assignment
753<br><a href="">303108</a>
754[import rewrite] ImportRewrite#removeImport(String) does not work with setUseContextToFilterImplicitImports(true)
755<br><a href="">295619</a>
756Test failure caused by a timing issue in M20091118-0800
758<a name="v_A35"></a>
760Eclipse Platform Build Notes<br>
761Java development tools core</h1>
762Eclipse SDK 3.6M6 - February 16, 2010
763<br>Project org.eclipse.jdt.core v_A35
764(<a href="">cvs</a>).
765<h2>What's new in this drop</h2>
767<li>In order to fix bugs <a href="">235253</a> and
768<a href="">194358</a>, a new API was added to preserve the existing pre-3.6 behavior for existing clients:<br>
770 /**
771 * Sets whether a context should be used to properly filter implicit imports.
772 *
773 * By default, the option is disabled to preserve pre-3.6 behavior.
774 *
775 *
776 * When this option is set, the context passed to the addImport*(...) methods is used to determine
777 * whether an import can be filtered because the type is implicitly visible. Note that too many imports
778 * may be kept if this option is set and addImport*(...) methods are called without a context.
779 *
780 *
781 * @param useContextToFilterImplicitImports the given setting
782 *
783 * @see #setFilterImplicitImports(boolean)
784 * @since 3.6
785 */
786 public void setUseContextToFilterImplicitImports(boolean useContextToFilterImplicitImports);
791<h3>Problem Reports Fixed</h3>
792<a href="">302455</a>
793java.lang.ClassCastException in secondary types removal
794<br><a href="">102279</a>
795[search] method reference performance depends on method name
796<br><a href="">236814</a>
797[jsr199] EclipseCompiler#getTask does not respect its contract when its first argument is null
798<br><a href="">302552</a>
799[formatter] Formatting qualified invocations can be broken when the Line Wrapping policy forces element to be on a new line
800<br><a href="">302587</a>
801Encoding/decoding of problem arguments in Marker fails if argument contains #
802<br><a href="">301438</a>
803Eclipse hangs when attempting to refactor using the &quot;change method signature&quot;
804<br><a href="">260381</a>
805[formatter] Javadoc formatter breaks {@code ...} tags.
806<br><a href="">302446</a>
807[compiler] Regression in if statement flow analysis related to null checks
808<br><a href="">194358</a>
809[import rewrite] Organize Imports produces wrong order of imports
810<br><a href="">235253</a>
811[organize imports] Organize imports removes needed import statement.
812<br><a href="">302379</a>
813[search] JavaSearchTests.testZIPArchive2() test failed in I20100209-0800
815<a name="v_A34"></a>
817Eclipse Platform Build Notes<br>
818Java development tools core</h1>
819Eclipse SDK 3.6M6 - February 9, 2010
820<br>Project org.eclipse.jdt.core v_A34
821(<a href="">cvs</a>).
822<h2>What's new in this drop</h2>
824<h3>Problem Reports Fixed</h3>
825<a href="">302123</a>
826[formatter] AssertionFailedException occurs while formatting a source containing the specific javadoc comment /** ***/
827<br><a href="">300379</a>
828[formatter] Fup of bug 287833
829<br><a href="">250056</a>
830[compiler][null] Another assert and &quot;Redundant null check&quot;
831<br><a href="">301683</a>
832Annotations are broken when native methods are present in a class
833<br><a href="">300734</a>
834Extract temp misses duplicate occurrence.
835<br><a href="">289560</a>
836Eclipse hangs after modifying user libraries
837<br><a href="">301562</a>
838[JSR269] Error in EclipseFileManager.collectAllMatchingFiles
839<br><a href="">298637</a>
840Could not retrieve declared methods (NPE in ParameterizedTypeBinding.resolve)
841<br><a href="">294057</a>
842[1.5][compiler] Imports not resolved correctly with generics and inner interfaces
844<a name="v_A33"></a>
846Eclipse Platform Build Notes<br>
847Java development tools core</h1>
848Eclipse SDK 3.6M6 - February 2, 2010
849<br>Project org.eclipse.jdt.core v_A33
850(<a href="">cvs</a>).
851<h2>What's new in this drop</h2>
853<h3>Problem Reports Fixed</h3>
854<a href="">300136</a>
855classpathentry OPTIONAL attribute not honored for var entries
856<br><a href="">300723</a>
857Fup of bug 235783
Stephan Herrmann7b7062f2010-04-01 19:56:59 +0000859<a name="v_A32a"></a>
861Eclipse Platform Build Notes<br>
862Java development tools core</h1>
863Eclipse SDK 3.6M5 - January 21, 2010 - 3.6.0 M5
864<br>Project org.eclipse.jdt.core v_A32a
865(<a href="">cvs</a>).
866<h2>What's new in this drop</h2>
868<h3>Problem Reports Fixed</h3>
869<a href="">300133</a>
870[1.5][compiler] Local classes inside enum constants generate default constructor without implicit constructor call
871<br><a href="">300440</a>
872icu dependency needs to be udpated
873<br><a href="">299900</a>
874[null]Missing potential null warnings for variable on the right of an OR conditional expression
875<br><a href="">293917</a>
876Invalid 'potential null access' warning reports
877<br><a href="">252379</a>
878Organize imports deletes needed static import.
880<a name="v_A31"></a>
882Eclipse Platform Build Notes<br>
883Java development tools core</h1>
884Eclipse SDK 3.6M5 - January 18, 2010
885<br>Project org.eclipse.jdt.core v_A31
886(<a href="">cvs</a>).
887<h2>What's new in this drop</h2>
889<li>New API to fix bug <a href="">295894</a>. See the bug for details.
892 * Returns a Java search scope limited to the hierarchy of the given type and to a given project.
893 * The Java elements resulting from a search with this scope will be types in this hierarchy.
894 *
895 * Unlike the createHierarchyScope methods, this method creates strict
896 * scopes that only contain types that actually span the hierarchy of the focus
897 * type, but do not include additional enclosing or member types.
898 *
899 *
900 * By default, hierarchy scopes include all direct and indirect supertypes and subtypes of the
901 * focus type. This method, however, allows to restrict the hierarchy to true subtypes,
902 * not including supertypes. Also inclusion of the focus type itself is controled by a parameter.
903 *
904 *
905 * @param project the project to which to constrain the search, or null if
906 * search should consider all types in the workspace
907 * @param type the focus of the hierarchy scope
908 * @param onlySubtypes if true only subtypes of type are considered
909 * @param includeFocusType if true the focus type type is included in the resulting scope,
910 * otherwise it is excluded
911 * @param owner the owner of working copies that take precedence over original compilation units,
912 * or null if the primary working copy owner should be used
913 * @return a new hierarchy scope
914 * @exception JavaModelException if the hierarchy could not be computed on the given type
915 * @since 3.6
916 */
917public static IJavaSearchScope createStrictHierarchyScope(IJavaProject project, IType type, boolean onlySubtypes, boolean includeFocusType, WorkingCopyOwner owner) throws JavaModelException;
920<li>New API added to report a compiler warning when object allocations are unused:
925 * Compiler option ID: Reporting Allocation of an Unused Object.
926 * When enabled, the compiler will issue an error or a warning if an object is allocated but never used,
927 * neither by holding a reference nor by invoking one of the object's methods.
928 *
929 * Option id:"org.eclipse.jdt.core.compiler.problem.unusedObjectAllocation"
930 * Possible values:{ "error", "warning", "ignore" }
931 * Default:"ignore"
932 *
933 * @since 3.6
934 * @category CompilerOptionID
935 */
936public static final String COMPILER_PB_UNUSED_OBJECT_ALLOCATION = PLUGIN_ID + ".compiler.problem.unusedObjectAllocation";
941<h3>Problem Reports Fixed</h3>
942<a href="">245007</a>
943[compiler] Should not completely ignore anonymous type with missing super type
944<br><a href="">295894</a>
945[search] Search shows focus type implementation for nested types even though the scope is restricted to subtypes.
946<br><a href="">236385</a>
947[compiler] Warn for potential programming problem if an object is created but not used
949<a name="v_A30"></a>
951Eclipse Platform Build Notes<br>
952Java development tools core</h1>
953Eclipse SDK 3.6M5 - January 12, 2010
954<br>Project org.eclipse.jdt.core v_A30
955(<a href="">cvs</a>).
956<h2>What's new in this drop</h2>
958<li>New API added to expose the reconcile flags used in the reconcile context:
961 * Returns the reconcile flag of this context. This flag is a bitwise value of the constant defined
962 * in ICompilationUnit.
963 *
964 * @return the reconcile flag of this context
965 * @since 3.6
966 *
967 * @see ICompilationUnit#ENABLE_BINDINGS_RECOVERY
968 * @see ICompilationUnit#ENABLE_STATEMENTS_RECOVERY
969 * @see ICompilationUnit#IGNORE_METHOD_BODIES
970 */
971public int getReconcileFlags();
976<h3>Problem Reports Fixed</h3>
977<a href="">243917</a>
978[compiler] should not warn about unused field when native method present
979<br><a href="">296343</a>
980OOM error caused by java indexing referencing classloader from threadLocal
981<br><a href="">130000</a>
982[API] ReconcileContext API: Does getAST3 return AST with bindings?
983<br><a href="">298238</a>
984Unresolved import in superclass causes 'Cannot reduce the visibility of the inherited method' in subclass
986<a name="v_A29a"></a>
988Eclipse Platform Build Notes<br>
989Java development tools core</h1>
990Eclipse SDK 3.6M5 - January 5, 2010
991<br>Project org.eclipse.jdt.core v_A29a
992(<a href="">cvs</a>).
993<h2>What's new in this drop</h2>
995<h3>Problem Reports Fixed</h3>
996<a href="">293861</a>
997Problem with refactoring when existing jar with invalid package names
998<br><a href="">264112</a>
999[Formatter] Wrap when necessary too aggressive on short qualifiers
1000<br><a href="">298250</a>
1001[1.6][compiler] NegativeArraySizeException in StackMapFrame.duplicate
1002<br><a href="">296998</a>
1003Unused imports should not prevent execution
1004<br><a href="">298243</a>
1005[formatter] Removing empty lines between import groups
1006<br><a href="">297546</a>
1007[formatter] Formatter removes blank after @see if reference is wrapped
1008<br><a href="">235781</a>
1009[compiler] difference to javac in definite unassignment analysis involving an exception within a constructor
1010<br><a href="">235783</a>
1011[eval] CodeSnippetParser and some 'CodeSnippet*' ast node does not seem up to date
1013<a name="v_A28"></a>
1015Eclipse Platform Build Notes<br>
1016Java development tools core</h1>
1017Eclipse SDK 3.6M5 - December 14, 2009
1018<br>Project org.eclipse.jdt.core v_A28
1019(<a href="">cvs</a>).
1020<h2>What's new in this drop</h2>
1022<h3>Problem Reports Fixed</h3>
1023<a href="">196714</a>
1024[comment] InvalidInputException prevents the AbstractCommentMapper to retrieve tag element
1025<br><a href="">297757</a>
1026Cannot get bindings for IType corresponding to parameterized anonymous type
1027<br><a href="">255640</a>
1028[spec] Methods Signature.toCharArray(..) have unclear precondition
1029<br><a href="">262898</a>
1030BufferChangedEvent must not have @noinstantiate
1031<br><a href="">181682</a>
1032JavaConventions.validateJavaTypeName should list valid constants
1033<br><a href="">108784</a>
1034SourceMapper doesn't find name range of inner class constructors
1036<a name="v_A27"></a>
1038Eclipse Platform Build Notes<br>
1039Java development tools core</h1>
1040Eclipse SDK 3.6M4 - December 8, 2009 - 3.6.0 M4
1041<br>Project org.eclipse.jdt.core v_A27
1042(<a href="">cvs</a>).
1043<h2>What's new in this drop</h2>
1045<h3>Problem Reports Fixed</h3>
1046<a href="">297225</a>
1047[formatter] Indentation may be still wrong in certain circumstances after formatting
1048<br><a href="">293697</a>
1049JavaSearchBugTests.testBug286379c is failing randomly
1051<a name="v_A26"></a>
1053Eclipse Platform Build Notes<br>
1054Java development tools core</h1>
1055Eclipse SDK 3.6M4 - December 7, 2009
1056<br>Project org.eclipse.jdt.core v_A26
1057(<a href="">cvs</a>).
1058<h2>What's new in this drop</h2>
1060<h3>Problem Reports Fixed</h3>
1061<a href="">297045</a>
1062Weird tests failures in N20091204-2000 and N20091205-2000 builds
1063<br><a href="">293300</a>
1064[formatter] The formatter is still unstable in certain circumstances
1066<a name="v_A25"></a>
1068Eclipse Platform Build Notes<br>
1069Java development tools core</h1>
1070Eclipse SDK 3.6M4 - December 4, 2009
1071<br>Project org.eclipse.jdt.core v_A25
1072(<a href="">cvs</a>).
1073<h2>What's new in this drop</h2>
1075<li>Match result can now report the access rules through a new API added on <code>TypeNameMatch</code>:
1078 * Returns the accessibility of the type name match
1079 *
1080 * @see IAccessRule
1081 *
1082 * @return the accessibility of the type name which may be
1083 * {@link IAccessRule#K_ACCESSIBLE}, {@link IAccessRule#K_DISCOURAGED}
1084 * or {@link IAccessRule#K_NON_ACCESSIBLE}.
1085 * The default returned value is {@link IAccessRule#K_ACCESSIBLE}.
1086 *
1087 * @since 3.6
1088 */
1089public abstract int getAccessibility();
1091See bug <a href="">296277</a> for more details.
1095<h3>Problem Reports Fixed</h3>
1096<a href="">296277</a>
1097[search] SearchEngine#searchAllTypeNames(.., TypeNameMatchRequestor,..) should report access rules
1098<br><a href="">296708</a>
1099[DOM/AST] clarify setters when createASTs(..) is used
1100<br><a href="">296629</a>
1101[quick fix] Cast quick fix not offered for method-local classes
1102<br><a href="">295948</a>
1103ElementImpl.hashCode throws an NPE
1104<br><a href="">296660</a>
1105[compiler] Incorrect unused method warning from compiler
1107<a name="v_A24"></a>
1109Eclipse Platform Build Notes<br>
1110Java development tools core</h1>
1111Eclipse SDK 3.6M4 - December 1, 2009
1112<br>Project org.eclipse.jdt.core v_A24
1113(<a href="">cvs</a>).
1114<h2>What's new in this drop</h2>
1116<li>New API added to ignore method bodies inside AST tree. The new APIs are tagged as 3.5.2 as this code
1117will be backported to 3.5.2:
1120 /**
1121 * Requests an abstract syntax tree without method bodies.
1122 *
1123 * When ignore method bodies is enabled, all method bodies are discarded.
1124 * This has no impact on the binding resolution.
1125 *
1126 * If a method contains local types, its method body will be retained.
1127 * This settings is not used if the kind used in setKind(int) is either
1129 * @since 3.5.2
1130 */
1131 public void setIgnoreMethodBodies(boolean enabled);
1134 /**
1135 * Constant indicating that a reconcile operation could ignore to parse the method bodies.
1136 * @see ASTParser#setIgnoreMethodBodies(boolean)
1137 * @since 3.5.2
1138 */
1139 public static final int IGNORE_METHOD_BODIES = 0x08;
1145<h3>Problem Reports Fixed</h3>
1146<a href="">288174</a>
1147[search] NullPointerException when searching for type references
1148<br><a href="">277643</a>
1149Generics compile error
1150<br><a href="">288211</a>
1151APT uses a lot of memory
1153<a name="v_A23"></a>
1155Eclipse Platform Build Notes<br>
1156Java development tools core</h1>
1157Eclipse SDK 3.6M4 - November 24, 2009
1158<br>Project org.eclipse.jdt.core v_A23
1159(<a href="">cvs</a>).
1160<h2>What's new in this drop</h2>
1162<h3>Problem Reports Fixed</h3>
1163<a href="">295698</a>
1164[1.5][compiler] ClassCastException in unchecked warning report
1165<br><a href="">295260</a>
1166Wrong warnings on Java.Compiler.Errors/Warnings &quot;Redundant null check&quot;
1167<br><a href="">190737</a>
1168[compiler][null] missing 'cannot be null' warning within for loop
1170<a name="v_A22"></a>
1172Eclipse Platform Build Notes<br>
1173Java development tools core</h1>
1174Eclipse SDK 3.6M4 - November 16, 2009
1175<br>Project org.eclipse.jdt.core v_A22
1176(<a href="">cvs</a>).
1177<h2>What's new in this drop</h2>
1179<h3>Problem Reports Fixed</h3>
1180<a href="">153429</a>
1181JUnit4 in Eclipse Testing Framework
1182<br><a href="">295238</a>
1183[formatter] The comment formatter add an unexpected new line in block comment
1184<br><a href="">295175</a>
1185[formatter] Missing space before a string at the beginning of a line in a javadoc comment
1186<br><a href="">294529</a>
1187The Scanner sometimes ignores the given offset if larger than the EOF.
1188<br><a href="">294662</a>
1189ClassCastException while invoking quick assist
1190<br><a href="">294404</a>
1191-target jsr14 flags error on foreach over Collection that does not implement Iterable
1192<br><a href="">293955</a>
1193valid javadoc url set on user library, but still says no javadoc
1194<br><a href="">293443</a>
1195AbortCompilation when invoking content assist
1196<br><a href="">293711</a>
1197Clarify ICompilationUnit#getOwner() javadoc
1198<br><a href="">293615</a>
1199error message since v3.6.0M2: name clash by overriding generic methods
1200<br><a href="">294618</a>
1201[formatter] The formatter fails to format a compilation unit with deep nesting of html tags
1202<br><a href="">248312</a>
1203[model] IMemberValuePair#getValue() should also work for negative numerals
1204<br><a href="">294731</a>
1207<a name="v_A21"></a>
1209Eclipse Platform Build Notes<br>
1210Java development tools core</h1>
1211Eclipse SDK 3.6M4 - November 10, 2009
1212<br>Project org.eclipse.jdt.core v_A21
1213(<a href="">cvs</a>).
1214<h2>What's new in this drop</h2>
1216<h3>Problem Reports Fixed</h3>
1217<a href="">294631</a>
1218[formatter] The formatter takes two passes to format a common sequence of html tags
1219<br><a href="">294500</a>
1220[formatter] MalformedTreeException when formatting an invalid sequence of &lt;code&gt; tags in a javadoc comment
1221<br><a href="">294488</a>
1222Javadoc of ISourceReference#getSourceRange() should link to SourceRange#isAvailable(..)
1223<br><a href="">199265</a>
1224[formatter] 3.3 Code Formatter mis-places commented-out import statements
1225<br><a href="">241549</a>
1226[spec] IType#getFields/Initializers/Methods() should define order from class file
1227<br><a href="">275805</a>
1228creating a non-primary working copy causes typeHierarchyChanged event
1229<br><a href="">292510</a>
1230FUP of 292364: Error messages don't identify partial types precisely.
1232<a name="v_A20"></a>
1234Eclipse Platform Build Notes<br>
1235Java development tools core</h1>
1236Eclipse SDK 3.6M4 - November 3, 2009
1237<br>Project org.eclipse.jdt.core v_A20
1238(<a href="">cvs</a>).
1239<h2>What's new in this drop</h2>
1241<h3>Problem Reports Fixed</h3>
1242<a href="">293384</a>
1243Eclipse erroneously reports method &quot;is ambiguous for type&quot;
1244<br><a href="">285002</a>
1245[compiler] visibility error for package private method
1247<a name="v_A19"></a>
1249Eclipse Platform Build Notes<br>
1250Java development tools core</h1>
1251Eclipse SDK 3.6M3 - October 29, 2009 - 3.6M3
1252<br>Project org.eclipse.jdt.core v_A19
1253(<a href="">cvs</a>).
1254<h2>What's new in this drop</h2>
1255This version was created to tentatively fix bug <a href="">293697</a>
1256but it occurs again in subsequent build. So, it has been reopened and moved to next version...
1258<h3>Problem Reports Fixed</h3>
1260<a name="v_A18"></a>
1262Eclipse Platform Build Notes<br>
1263Java development tools core</h1>
1264Eclipse SDK 3.6M3 - October 28, 2009
1265<br>Project org.eclipse.jdt.core v_A18
1266(<a href="">cvs</a>).
1267<h2>What's new in this drop</h2>
1269<h3>Problem Reports Fixed</h3>
1270<a href="">293496</a>
1271Adding the serialVersionUID field doesn't work when tab size is 0
1273<a name="v_A17"></a>
1275Eclipse Platform Build Notes<br>
1276Java development tools core</h1>
1277Eclipse SDK 3.6M3 - October 26, 2009
1278<br>Project org.eclipse.jdt.core v_A17
1279(<a href="">cvs</a>).
1280<h2>What's new in this drop</h2>
1282<li>Reverted change for bug <a href="">263564</a>.</li>
1284<h3>Problem Reports Fixed</h3>
1286<a name="v_A16"></a>
1288Eclipse Platform Build Notes<br>
1289Java development tools core</h1>
1290Eclipse SDK 3.6M3 - October 25, 2009
1291<br>Project org.eclipse.jdt.core v_A16
1292(<a href="">cvs</a>).
1293<h2>What's new in this drop</h2>
1295<li>New API added in <code>org.eclipse.jdt.core.JavaCore</code> in order to fix bug <a href="">263564</a>:
1297 /**
1298 * Returns an immutable map of all known configurable options with their original default values
1299 * as defined by JDT/Core.
1300 *
1301 * The values of these options might be different from the values returned by getDefaultOptions()
1302 * as getDefaultOptions() returned the default options defined by an installation/product/configuration
1303 * (i.e. modified by the usage of a plugin_customization.ini file for example).
1304 *
1305 * These options allow to configure the behaviour of the underlying components.
1306 * If the map is being modified, an UnsupportedOperationException> exception is thrown.
1307 * Helper constants have been defined on JavaCore for each of the option IDs
1308 * (categorized in Code assist option ID, Compiler option ID and Core option ID)
1309 * and some of their acceptable values (categorized in Option value). Some
1310 * options accept open value sets beyond the documented constant values.
1311 * Note: each release may add new options.
1312 *
1313 * @return an immutable map of all known configurable options with their original default values
1314 * as defined by JDT/Core
1315 * @since 3.6
1316 */
1317 public static Map getOriginalDefaultOptions();
1322<h3>Problem Reports Fixed</h3>
1323<a href="">293240</a>
1324[formatter] 'insert_space_before_opening_brace_in_array_initializer' preference may be reset in certain circumstances
1325<br><a href="">263564</a>
1326API to know when default compiler preference settings have been altered
1327<br><a href="">289385</a>
1328Investigate comment in performance tests
1329<br><a href="">286379</a>
1330[search] Problem while searching class
1332<a name="v_A15"></a>
1334Eclipse Platform Build Notes<br>
1335Java development tools core</h1>
1336Eclipse SDK 3.6M3 - October 20, 2009
1337<br>Project org.eclipse.jdt.core v_A15
1338(<a href="">cvs</a>).
1339<h2>What's new in this drop</h2>
1341<h3>Problem Reports Fixed</h3>
1342<a href="">292350</a>
1343[1.5][compiler] Compiler error: ambiguous method since 3.5.1 using generics and interface inheritance
1344<br><a href="">292364</a>
1345[internal] Type name in CastExpression not treated as Type name.
1346<br><a href="">292428</a>
1347Internal compiler error: NullPointerException at org.eclipse.jdt.internal.compiler.ast.CastExpression.checkUnsafeCast(
1348<br><a href="">291985</a>
1349[compiler][jsr14] Translating Enum with jsr14 target: ECJ causes a runtime error while Sun compiler works fine
1350<br><a href="">292240</a>
1351Compiler error on implementation of raw sub interface
1353<a name="v_A14"></a>
1355Eclipse Platform Build Notes<br>
1356Java development tools core</h1>
1357Eclipse SDK 3.6M3 - October 13, 2009
1358<br>Project org.eclipse.jdt.core v_A14
1359(<a href="">cvs</a>).
1360<h2>What's new in this drop</h2>
1362<h3>Problem Reports Fixed</h3>
1363<a href="">291391</a>
1364update the Bundle-Version of the JDT Core Batch Compiler (ecj) from 3.3.0 to 3.6.*
1365<br><a href="">284280</a>
1366[1.5][compiler] Error on use generic interface in abstract super class
1367<br><a href="">286228</a>
1368[1.5][compiler] Generics inconsistencies possible regression
1369<br><a href="">286601</a>
1370[formatter] Code formatter formats anonymous inner classes wrongly when 'Never join lines' is on
1371<br><a href="">215139</a>
1372[search] More options for HierarchyScope
1373<br><a href="">291472</a>
1374[1.5][compiler] Access to a generic method is compiled incorrectly
1375<br><a href="">283539</a>
1376NamingConventions.suggestVariableNames doesn't work if name contains '_'
1377<br><a href="">280784</a>
1378[batch] Allow access restrictions to be reported as errors
1380<a name="v_A13"></a>
1382Eclipse Platform Build Notes<br>
1383Java development tools core</h1>
1384Eclipse SDK 3.6M3 - October 6, 2009
1385<br>Project org.eclipse.jdt.core v_A13
1386(<a href="">cvs</a>).
1387<h2>What's new in this drop</h2>
1389<li>Reverted fix for <a href="">106478</a>.</li>
1392<h3>Problem Reports Fixed</h3>
1393<a href="">291322</a>
1394Test errors when running JDT Core tests on Windows 7
1395<br><a href="">282770</a>
1396[compiler] Dead code detection should have specific @SuppressWarnings
1397<br><a href="">290028</a>
1398Use IResource#setDerived(boolean, IProgressMonitor) instead of IResource#setDerived(boolean)
1399<br><a href="">287607</a>
1400[1.5][compiler] cast of inner of generic enclosing type are not reported as unsafe
1401<br><a href="">288749</a>
1402Redundant superinterface not flagged inside one declaration
1403<br><a href="">290905</a>
1404[formatter] Certain formatter pref constellation cause endless loop ==&gt; OOME
1405<br><a href="">285124</a>
1406serialVersionUID still causes error/warning
1407<br><a href="">290877</a>
1408[DOM] If using a tag named '@enum' the ASTParser ignores this
1409<br><a href="">281575</a>
1410Eclipse hangs in SourceMapper while doing java proposals
1411<br><a href="">290470</a>
1412[JSR199][compiler] JDT compiler not jsr199 compatible.
1413<br><a href="">290730</a>
1414Rewriting SwitchStatement throws NPE
1416<a name="v_A12"></a>
1418Eclipse Platform Build Notes<br>
1419Java development tools core</h1>
1420Eclipse SDK 3.6M3 - September 29, 2009
1421<br>Project org.eclipse.jdt.core v_A12
1422(<a href="">cvs</a>).
1423<h2>What's new in this drop</h2>
1425<h3>Problem Reports Fixed</h3>
1426<a href="">287676</a>
1427[1.5][compiler] Useless cast warning not emited
1428<br><a href="">290563</a>
1429add specification for fine grain search flags
1430<br><a href="">290376</a>
1431Errant &quot;Comparing identical expressions&quot; warning with assignment
1432<br><a href="">287592</a>
1433[1.5][compiler] Wrong ambiguous compilation error
1434<br><a href="">290049</a>
1435Reconciling a compilation unit does not return an AST with bindings when it should (probably)
1436<br><a href="">290034</a>
1437Effects of @SuppressWarnings(&quot;unchecked&quot;) are broader in Eclipse than in javac
1438<br><a href="">267561</a>
1439[evaluation] LocalEvaluationEngine does not accept primitive types
1440<br><a href="">163194</a>
1441[1.6] compiler should warn about missing @Override annotation for interface method
1443<a name="v_A11"></a>
1445Eclipse Platform Build Notes<br>
1446Java development tools core</h1>
1447Eclipse SDK 3.6M3 - September 22, 2009
1448<br>Project org.eclipse.jdt.core v_A11
1449(<a href="">cvs</a>).
1450<h2>What's new in this drop</h2>
1452<h3>Problem Reports Fixed</h3>
1453<a href="">289892</a>
1454[compiler] NPE during binaryTypeBinding field initialization
1455<br><a href="">287833</a>
1456[formatter] Formatter removes the first character after the * in the &lt;pre&gt; tag
1457<br><a href="">238943</a>
1458SortElementsOperation doesn't use project specific settings
1459<br><a href="">288621</a>
1460[1.5][compiler] Creating type hierarchy failed when pressing F4
1461<br><a href="">289538</a>
1462[1.5][compiler] compiler fails to generate correct code for private constructor in inner class
1463<br><a href="">289639</a>
1464Problems opening perspective JavaPerspective, NPE on JavaModelManager.containersReset()
1465<br><a href="">289516</a>
1466Annotations (visible and invisible) should be preserved with target jsr14
1467<br><a href="">289576</a>
1468[1.5][compiler] Compiler changes 'private' modifier on methods with annotated parameter
1470<a name="v_A10"></a>
1472Eclipse Platform Build Notes<br>
1473Java development tools core</h1>
1474Eclipse SDK 3.6M2 - September 14, 2009 - 3.6M2
1475<br>Project org.eclipse.jdt.core v_A10
1476(<a href="">cvs</a>).
1477<h2>What's new in this drop</h2>
1479<h3>Problem Reports Fixed</h3>
1480<a href="">288148</a>
1481[perfs] Comments applied for performance tests may be obsolete
1482<br><a href="">289247</a>
1483[1.5][compiler]Detecting duplicate methods should not consider return type
1484<br><a href="">288920</a>
1485[compiler] NPE renaming run() method
1486<br><a href="">288698</a>
1487Cannot create type hierarchy for abstract types when they have inline descendants and *.class* in project name
1489<a name="v_A09"></a>
1491Eclipse Platform Build Notes<br>
1492Java development tools core</h1>
1493Eclipse SDK 3.6M2 - September 1, 2009
1494<br>Project org.eclipse.jdt.core v_A09
1495(<a href="">cvs</a>).
1496<h2>What's new in this drop</h2>
1498<h3>Problem Reports Fixed</h3>
1499<a href="">287009</a>
1500Inner Annotation Checks are Missing
1501<br><a href="">287701</a>
1502[dom] Length of Assignment should not include whitespace
1503<br><a href="">285230</a>
1504[performance] Duplicate buffers created for internal classes
1505<br><a href="">286391</a>
1506[compiler] jsr14 target behavior changed between ECJ 3.4.2 and ECJ 3.5
1508<a name="v_A08"></a>
1510Eclipse Platform Build Notes<br>
1511Java development tools core</h1>
1512Eclipse SDK 3.6M2 - August 25, 2009
1513<br>Project org.eclipse.jdt.core v_A08
1514(<a href="">cvs</a>).
1515<h2>What's new in this drop</h2>
1517<h3>Problem Reports Fixed</h3>
1518<a href="">287462</a>
1519[formatter] new failures in last 2 nightly builds
1520<br><a href="">285565</a>
1521[inline] Inlining constant or local variables causes exceptions with tab width 0
1522<br><a href="">285799</a>
1523HashtableOfObject rehashes and grows buffer on removeKey()
1524<br><a href="">286912</a>
1525[formatter] Never join lines preferences makes the formatter unstable in certain circumstances
1526<br><a href="">286668</a>
1527[formatter] 'Never Join Lines' joins lines that are split on method invocation
1528<br><a href="">248661</a>
1529Axis2: Missing required libraries in Axis 2 WS Client Projects
1530<br><a href="">286918</a>
1531[javadoc] Compiler should warn when @see and @link tag references in don't have fully qualified names
1532<br><a href="">285466</a>
1533[3.5 regression] fails to build IcedTea, works with 3.4.x
1534<br><a href="">286956</a>
1535NPE when asking to externalize constant
1536<br><a href="">281609</a>
1537[javadoc] &quot;Javadoc: Invalid reference&quot; warning for @link to Java package
1539<a name="v_A07"></a>
1541Eclipse Platform Build Notes<br>
1542Java development tools core</h1>
1543Eclipse SDK 3.6M2 - August 18, 2009
1544<br>Project org.eclipse.jdt.core v_A07
1545(<a href="">cvs</a>).
1546<h2>What's new in this drop</h2>
1548<h3>Problem Reports Fixed</h3>
1549<a href="">286840</a>
1550ClasspathJar getPath() should return a unique path
1551<br><a href="">254738</a>
1552NPE in HierarchyResolver.setFocusType
1553<br><a href="">276294</a>
1554Error does not go away after it is resolved
1555<br><a href="">284785</a>
1556[1.5][compiler] Eclipse compiler shows error on javac-valid construct: varargs plus overload
1557<br><a href="">286405</a>
1558Default value character of annotations in ClassFileEditor are badly printed
1559<br><a href="">286407</a>
1560[Model] IMemberValuePair don't return the right value for java.lang.annotation.RetentionPolicy annotations
1561<br><a href="">285701</a>
1562[1.5][compiler] Internal Compiler Error - ArrayIndexOutOfBoundsException
1564<a name="v_A06"></a>
1566Eclipse Platform Build Notes<br>
1567Java development tools core</h1>
1568Eclipse SDK 3.6M1 - August 3, 2009 - 3.6M1
1569<br>Project org.eclipse.jdt.core v_A06
1570(<a href="">cvs</a>).
1571<h2>What's new in this drop</h2>
1573<h3>Problem Reports Fixed</h3>
1574<a href="">284948</a>
1575[1.6][compiler] Java annotations are broken in editor when used on interface methods
1577<a name="v_A05"></a>
1579Eclipse Platform Build Notes<br>
1580Java development tools core</h1>
1581Eclipse SDK 3.6M1 - July 30, 2009
1582<br>Project org.eclipse.jdt.core v_A05
1583(<a href="">cvs</a>).
1584<h2>What's new in this drop</h2>
1586<h3>Problem Reports Fixed</h3>
1587<a href="">276526</a>
1588[content assist] Error - Type Duplicate interface Iterable for the type TestClass
1589<br><a href="">191176</a>
1590JavaProject#getOption optimizations
1592<a name="v_A04"></a>
1594Eclipse Platform Build Notes<br>
1595Java development tools core</h1>
1596Eclipse SDK 3.6M1 - July 28, 2009
1597<br>Project org.eclipse.jdt.core v_A04
1598(<a href="">cvs</a>).
1599<h2>What's new in this drop</h2>
1601<h3>Problem Reports Fixed</h3>
1602<a href="">261909</a>
1603ClassFileReader.getModifiers() answers funny bits
1604<br><a href="">283225</a>
1605[1.6][compiler] classfile versus source conformance check too strict
1606<br><a href="">284679</a>
1607[formatter] empty single semi statement prevent enum elements format
1608<br><a href="">284482</a>
1609[compiler] Collision cases not detected
1610<br><a href="">284431</a>
1611Different inherited thrown exception clauses are not properly handled
1612<br><a href="">133911</a>
1613type.move() returns unclear exception &quot;invalid destination&quot;
1614<br><a href="">270436</a>
1615[assist] Interface type proposed where only class is legal
1616<br><a href="">210385</a>
1617[compiler] ProblemReporter#getProblemCategory misbehaves when passed ProblemSeverities.Ignore as severity parameter
1618<br><a href="">282891</a>
1619[compiler] "Comparing identical expressions" warning sometimes invalid
1620<br><a href="">282869</a>
1621[compiler] Unnecessary cast warning for cast from char to int
1622<br><a href="">270437</a>
1623[assist] Completion proposal leads to cycle detected error
1624<br><a href="">217443</a>
1625Documentation for JavaCore#CORE_ENCODING does not match the observed behavior
1627<a name="v_A03"></a>
1629Eclipse Platform Build Notes<br>
1630Java development tools core</h1>
1631Eclipse SDK 3.6M1 - July 21, 2009
1632<br>Project org.eclipse.jdt.core v_A03
1633(<a href="">cvs</a>).
1634<h2>What's new in this drop</h2>
1636<h3>Problem Reports Fixed</h3>
1637<a href="">283467</a>
1638[formatter] wrong indentation with 'Never join lines' selected
1639<br><a href="">281776</a>
1640Should not warn for comparison of identical expression with float type
1641<br><a href="">282768</a>
1642[compiler] Dead code detection should ignore trivial case for ternary if operator
1643<br><a href="">283133</a>
1644[formatter] IAE when pasting a snippet
1645<br><a href="">283299</a>
1646Complete SourceRange API
1648<a name="v_A02"></a>
1650Eclipse Platform Build Notes<br>
1651Java Development Tooling Core</h1>
1652Eclipse SDK 3.6M1 - July 13, 2009
1653<br>Project org.eclipse.jdt.core v_A02
1654(<a href="">cvs</a>).
1655<h2>What's new in this drop</h2>
1657<li>Added new API type org.eclipse.jdt.core.SourceRange</li>
1660<h3>Problem Reports Fixed</h3>
1661<a href="">271296</a>
1662[assist] void typed proposal may not be appropriate in many contexts
1663<br><a href="">281871</a>
1664[content assist] The extension took too long to return from the 'computeCompletionProposals()' operation
1665<br><a href="">281598</a>
1666[assist] Problems during content assist - if project has empty zip file in classpath
1667<br><a href="">235294</a>
1668[formatter] javadoc for DefaultCodeFormatterConstants#FORMATTER_ALIGNMENT_FOR_ASSIGNMENT cites a non-API constant
1669<br><a href="">280497</a>
1670Incorrect null result for IJavaProject.getClasspathEntryFor(IPath)
1671<br><a href="">204777</a>
1672Clarify documentation for ITypeHierarchy created on interface types
1673<br><a href="">88265</a>
1674Make SourceRange API
1676<a name="v_A01"></a>
1678Eclipse Platform Build Notes<br>
1679Java development tools core</h1>
1680Eclipse SDK 3.6M1 - July 7, 2009
1681<br>Project org.eclipse.jdt.core v_A01
1682(<a href="">cvs</a>).
1683<h2>What's new in this drop</h2>
1685<h3>Problem Reports Fixed</h3>
1686<a href="">260968</a>
1687Deadlock in UserLibraryManager
1689<a name="v_A00"></a>
1691Eclipse Platform Build Notes<br>
1692Java development tools core</h1>
1693Eclipse SDK 3.6M1 - June 30, 2009
1694<br>Project org.eclipse.jdt.core v_A00
1695(<a href="">cvs</a>).
1696<h2>What's new in this drop</h2>
1698<li>New API added to handle the new <code>invokedynamic</code> bytecode:
1701 public void _invokedynamic(
1702 int pc,
1703 int index,
1704 IConstantPoolEntry nameEntry,
1705 IConstantPoolEntry descriptorEntry) {
1706 // default behavior is to do nothing
1707 }
1709<pre>org.eclipse.jdt.core.util.IBytecodeVisitor#_invokedynamic(int, int, IConstantPoolEntry, IConstantPoolEntry)</pre>
1714<h3>Problem Reports Fixed</h3>
1715<a href="">277450</a>
1716[1.5][compiler] Problems with += and Autoboxing/Unboxing
1717<br><a href="">206498</a>
1718[1.7][compiler] Remove fix for bug 206483 once 1.7 VMS can handle .class files with version 51.0
1719<br><a href="">191176</a>
1720JavaProject#getOption optimizations
1721<br><a href="">201762</a>
1722Content Assist has no proposals with certain CU structure
1723<br><a href="">281681</a>
1724Stale code in CompilerOptions
1725<br><a href="">231796</a>
1726[formatter] @throws tag description is not indented using @param preference when there's a syntax error
1727<br><a href="">255142</a>
1728[select] Codeselect should not omit cast
1729<br><a href="">235295</a>
1730[formatter] javadoc of CodeFormatter#F_INCLUDE_COMMENTS needs improvement
1731<br><a href="">280134</a>
1732[1.5][compiler] Requesting Java AST from selection has encountered a problem
1733<br><a href="">281317</a>
1734[search] An internal error occurred during: "Java Search".
1735<br><a href="">276373</a>
1736Incorrect resource comparison with IJavaProject.isOnClasspath(IResource)
1737<br><a href="">275518</a>
1738[assist] Content assist does not provide proposals if invoked right after a method's opening brace
1739<br><a href="">280888</a>
1740change a java file in one plug-in will compile all related plugin projects
1741<br><a href="">274466</a>
1742[assist] Assert expressions should be proposed with high relevance
1743<br><a href="">277382</a>
1744NPE and other failures in Parser
1745<br><a href="">275330</a>
1746NPE from org.eclipse.jdt.internal.core.ClasspathChange.requestIndexing
1747<br><a href="">273385</a>
1748[model] NPE while closing project
1749<br><a href="">280079</a>
1751<br><a href="">280063</a>
1752org.eclipse.jdt.internal.compiler.parser.Parser.parseClassBodyDeclarations(char[], int, int, CompilationUnitDeclaration) should return consistent results
1753<br><a href="">267046</a>
1754SourceMapper infinite loop on primitive type in generic
1755<br><a href="">240934</a>
1756Add support for the invokedynamic bytecode into the disassembler
1757<br><a href="">267551</a>
1758[formatter] Wrong spacing in default array parameter for annotation type
1759<br><a href="">277965</a>
1760[compiler] NPE in canBeSeenBy due to illegal protected toplevel class
1761<br><a href="">273990</a>
1762[compiler] FUP of 269388: Eclipse accepts code rejected by javac
1763<br><a href="">279183</a>
1764[1.6][compiler] Inconsistent stackmap frames generated by JDT cause VerifyError
1765<br><a href="">209778</a>
1766[search] TypeReferenceMatch#getOtherElements() fails for match in annotation
1767<br><a href="">221065</a>
1768[search] Search still finds overridden method
1769<br><a href="">279836</a>
1770[1.5][compiler] Eclipse compiler shows error on javac-valid construct: raw types on overridden methods
1771<br><a href="">280616</a>
1772[formatter] Valid 1.5 code is not formatted inside &lt;pre&gt; tag
1773<br><a href="">280255</a>
1774[formatter] Format edited lines adds two new lines on each save
1775<br><a href="">280061</a>
1776[formatter] AIOOBE while formatting javadoc comment
1777<br><a href="">276938</a>
1778Remove unreachable removes reachable logic in case statement.
1779<br><a href="">274898</a>
1780[recovery] IllegalArgumentException in ASTNode#setSourceRange()
1781<br><a href="">277204</a>
1782IAE in SharedASTProvider for generic local class.
1783<br><a href="">276741</a>
1784comparing identical value detection does not work for this
1785<br><a href="">276740</a>
1786comparing identical value detection does not work for primitive types
1787<br><a href="">278745</a>
1788Methods overloaded with unavailable types worked in 3.4 but give "indirectly referenced.." error in 3.5
1789<br><a href="">278305</a>
1790[1.5][compiler] JDT accepts supertype parameterized with wildcard
1791<br><a href="">196308</a>
1792[formatter] Don't escape entity when formatting in &lt;pre&gt; tags within javadoc comments
1793<br><a href="">279359</a>
1794[formatter] Formatter with 'never join lines' produces extra level of indent
1795<br><a href="">273619</a>
1796[formatter] Formatting repeats *} in javadoc
1799<p>For earlier build notes, also see <a href="">build notes up to Release 3.5</a>.</p>
1801 <p>
1802 <a href=""><img
1803 src=""
1804 alt="Valid HTML 4.01 Transitional" height="31" width="88"></a>
1805 </p>