blob: 2b1cab15f992349e69c45103999197637ec44e0e [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">
Stephan Herrmanndd780c62011-08-13 11:41:32 +00006 <title>JDT/Core Release Notes 3.8</title>
Stephan Herrmann7b7062f2010-04-01 19:56:59 +00007 <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">
Stephan Herrmanndd780c62011-08-13 11:41:32 +000013 <font size="+3"><b>jdt core - build notes 3.8 stream</b></font>
Stephan Herrmann7b7062f2010-04-01 19:56:59 +000014 </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.
Stephan Herrmanndd780c62011-08-13 11:41:32 +000024 For more information on 3.8 planning, please refer to <a href="">JDT/Core release plan</a>,
25 the next <a href="">milestone plan</a>,
Stephan Herrmannbb25a052011-01-27 11:59:20 +000026 the overall <a href="">official plan</a>,
Stephan Herrmann7b7062f2010-04-01 19:56:59 +000027 or the <a href="">build schedule</a>.
Stephan Herrmanndd780c62011-08-13 11:41:32 +000028 This present document covers all changes since Release 3.7 (also see a summary of <a href="">API changes</a>).
Stephan Herrmann7b7062f2010-04-01 19:56:59 +000029 <br>Maintenance of previous releases of JDT/Core is performed in parallel branches:
Stephan Herrmanndd780c62011-08-13 11:41:32 +000030 <a href="">R3.7.x</a>,
Stephan Herrmannbb25a052011-01-27 11:59:20 +000031 <a href="">R3.6.x</a>,
Stephan Herrmann7b7062f2010-04-01 19:56:59 +000032 <a href="">R3.5.x</a>,
33 <a href="">R3.4.x</a>,
34 <a href="">R3.3.x</a>,
35 <a href="">R3.2.x</a>,
36 <a href="">R3.1.x</a>,
37 <a href="">R3.0.x</a>,
38 <a href="">R2.1.x</a>,
39 <a href="">R2.0.x</a>,
40 <a href="">R1.0.x</a>.
41 </font>
42 </td>
43 </tr>
Stephan Herrmann4f3f3d12012-04-28 23:46:59 +020045<a name="v_C49"></a>
47Eclipse Platform Build Notes<br>
48Java development tools core</h1>
49Eclipse SDK 3.8.0 - %date% - 3.8.0 M7
50<br>Project org.eclipse.jdt.core v_C49
51(<a href="">cvs</a>).
52<h2>What's new in this drop</h2>
54<h3>Problem Reports Fixed</h3>
55<a href="">371832</a>
56The preference &quot;Suppress optional errors with '@SuppressWarnings'&quot; ends up silencing warnings it shouldn't
58<a name="v_C48"></a>
60Eclipse Platform Build Notes<br>
61Java development tools core</h1>
62Eclipse SDK 3.8.0 - April 27, 2012
63<br>Project org.eclipse.jdt.core v_C48
64(<a href="">cvs</a>).
65<h2>What's new in this drop</h2>
67<h3>Problem Reports Fixed</h3>
68<a href="">377806</a>
69ExternalFoldersManager standalone regression
70<br><a href="">322977</a>
71Documentation about use of &quot;SearchPattern.R_REGEXP_MATCH&quot; is wrong
73<a name="v_C47"></a>
75Eclipse Platform Build Notes<br>
76Java development tools core</h1>
77Eclipse SDK 3.8.0 - April 26, 2012
79<h2>What's new in this drop</h2>
81<h3>Problem Reports Fixed</h3>
82<a href="">376724</a>
83ExternalFoldersManager still has synchronization gaps
84<br><a href="">374129</a>
85more tests for bug 372011
86<br><a href="">365710</a>
87FUP of bug 363293: Fix the incorrect added resource close
89<a name="v_C46"></a>
91Eclipse Platform Build Notes<br>
92Java development tools core</h1>
93Eclipse SDK 3.8.0 - April 24, 2012 - April 10, 2012
95<h2>What's new in this drop</h2>
97<li>New/changed options in JavaCore to control warnings relating to incomplete switch statements:
99 /**
100 * Compiler option ID: Reporting Incomplete Enum Switch.
101 * When enabled, the compiler will issue an error or a warning
102 * regarding each enum constant for which a corresponding case label is lacking.
103 * Reporting is further controlled by the option {@link #COMPILER_PB_MISSING_ENUM_CASE_DESPITE_DEFAULT}.
104 *
105 * Option id:"org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch"
106 * Possible values:{ "error", "warning", "ignore" }
107 * Default:"warning"
108 *
109 * @since 3.1
110 * @category CompilerOptionID
111 */
112 public static final String COMPILER_PB_INCOMPLETE_ENUM_SWITCH = PLUGIN_ID + ".compiler.problem.incompleteEnumSwitch"; //$NON-NLS-1$
113 /**
114 * Compiler option ID: Reporting Missing Enum Case In Switch Despite An Existing Default Case.
115 * This option further controls the option {@link #COMPILER_PB_INCOMPLETE_ENUM_SWITCH}:
116 *
117 * - If enabled the compiler will report problems about missing enum constants even if a default case exists
118 * in the same switch statement.
119 * - If disabled existence of a default case is considered as sufficient to make a switch statement complete.
120 *
121 * This option has no effect if {@link #COMPILER_PB_INCOMPLETE_ENUM_SWITCH} is set to "ignore".
122 *
123 * Option id:"org.eclipse.jdt.core.compiler.problem.missingEnumCaseDespiteDefault"
124 * Possible values:{ "enabled", "disabled" }
125 * Default:"disabled"
126 *
127 * @since 3.8
128 * @category CompilerOptionID
129 */
130 public static final String COMPILER_PB_MISSING_ENUM_CASE_DESPITE_DEFAULT = PLUGIN_ID + ".compiler.problem.missingEnumCaseDespiteDefault"; //$NON-NLS-1$
131 /**
132 * Compiler option ID: Reporting Missing Default Case In Switch.
133 * When enabled, the compiler will issue an error or a warning
134 * against each switch statement that lacks a default case.
135 *
136 * Option id:"org.eclipse.jdt.core.compiler.problem.missingDefaultCase"
137 * Possible values:{ "error", "warning", "ignore" }
138 * Default:"ignore"
139 *
140 * @since 3.8
141 * @category CompilerOptionID
142 */
143 public static final String COMPILER_PB_SWITCH_MISSING_DEFAULT_CASE = PLUGIN_ID + ".compiler.problem.missingDefaultCase"; //$NON-NLS-1$
146<li> New IProblems relating to incomplete switch statements.
148 /** @since 3.8 */
149 int MissingEnumDefaultCase = Internal + 766;
150 /** @since 3.8 */
151 int MissingDefaultCase = Internal + 767;
152 /** @since 3.8 */
153 int MissingEnumConstantCaseDespiteDefault = FieldRelated + 768;
154 /** @since 3.8 */
155 int UninitializedLocalVariableHintMissingDefault = Internal + 769;
156 /** @since 3.8 */
157 int UninitializedBlankFinalFieldHintMissingDefault = FieldRelated + 770;
158 /** @since 3.8 */
159 int ShouldReturnValueHintMissingDefault = MethodRelated + 771;
163<h3>Problem Reports Fixed</h3>
164<a href="">377401</a>
165FuP of bug 372418: &quot;The type ... cannot be resolved&quot; error when there is a $ in the class name.
166<br><a href="">376429</a>
167AIOOBE when trying to create AST for invalid annotation declaration
168<br><a href="">376673</a>
169DBCS4.2 Can not rename the class names when DBCS (Surrogate e.g. U+20B9F) is in it
170<br><a href="">374605</a>
171Unreasonable warning for enum-based switch statements
172<br><a href="">372694</a>
173Adjust parser generator tools
175<a name="v_C45"></a>
177Eclipse Platform Build Notes<br>
178Java development tools core</h1>
179Eclipse SDK 3.8.0 - April 17, 2012
181<h2>What's new in this drop</h2>
183<h3>Problem Reports Fixed</h3>
184<a href="">326610</a>
185[content assist] code assist for
186<br><a href="">376465</a>
187Mixed line delimiters in org.eclipse.jdt.internal.compiler.parser.Parser.consumeRule(int)
188<br><a href="">376837</a>
189[warning] Resource leak warning in FileManagerTest
190<br><a href="">375394</a>
191Incorrect type checking for parameterized types
Stephan Herrmann942dbe92012-04-12 20:50:07 +0200193<a name="v_C44"></a>
195Eclipse Platform Build Notes<br>
196Java development tools core</h1>
Stephan Herrmann4f3f3d12012-04-28 23:46:59 +0200197Eclipse SDK 3.8.0
Stephan Herrmann942dbe92012-04-12 20:50:07 +0200199<h2>What's new in this drop</h2>
201<h3>Problem Reports Fixed</h3>
202<a href="">351697</a>
203ClassCastException while copying a .class file to wrong source package
Stephan Herrmann942dbe92012-04-12 20:50:07 +0200204<br><a href="">375326</a>
205try-with-resources assignment in statement produces stack map exception
207<a name="v_C43"></a>
209Eclipse Platform Build Notes<br>
210Java development tools core</h1>
211Eclipse SDK 3.8.0 - April 3, 2012
Stephan Herrmann4f3f3d12012-04-28 23:46:59 +0200212<br>
Stephan Herrmann942dbe92012-04-12 20:50:07 +0200213<h2>What's new in this drop</h2>
215<h3>Problem Reports Fixed</h3>
216<a href="">375568</a>
217@PolymorphicSignature methods in MethodHandle have wrong annotation on parameter
218<br><a href="">372687</a>
219org.eclipse.jdt.core.LRUCache.get(Object key) returns an empty list from a class that has methods
221<a name="v_C42"></a>
223Eclipse Platform Build Notes<br>
224Java development tools core</h1>
225Eclipse SDK 3.8.0 - March 27, 2012
227<h2>What's new in this drop</h2>
229<h3>Problem Reports Fixed</h3>
230<a href="">374538</a>
231[local] localFile service tries to set modified time on virtual files
232<br><a href="">375248</a>
233AIOOBE inside twr with finally block
235<a name="v_C41"></a>
237Eclipse Platform Build Notes<br>
238Java development tools core</h1>
239Eclipse SDK 3.8.0 - March 20, 2012
241<h2>What's new in this drop</h2>
243<h3>Problem Reports Fixed</h3>
244<a href="">372319</a>
245Unexpected 'The local variable i may not have been initialized' compile error
Stephan Herrmannb9e10522012-03-15 21:24:23 +0100247<a name="v_C40"></a>
249Eclipse Platform Build Notes<br>
250Java development tools core</h1>
251Eclipse SDK 3.8.0 - March 13, 2012 - 3.8.0 M6
Stephan Herrmann4f3f3d12012-04-28 23:46:59 +0200252<br>
Stephan Herrmannb9e10522012-03-15 21:24:23 +0100253<h2>What's new in this drop</h2>
255<h3>Problem Reports Fixed</h3>
256<a href="">374063</a>
257[builder][regression] bug 372012 causes regular problems to be reported against the package
259<a name="v_C39"></a>
261Eclipse Platform Build Notes<br>
262Java development tools core</h1>
263Eclipse SDK 3.8.0 - March 13, 2012
265<h2>What's new in this drop</h2>
267<h3>Problem Reports Fixed</h3>
268<a href="">373953</a>
269FUP of bug 127575: java.eclipse.core.runtime.Assert is being recognized as org.eclipse.core.runtime.Assert
271<a name="v_C38"></a>
273Eclipse Platform Build Notes<br>
274Java development tools core</h1>
275Eclipse SDK 3.8.0 - March 12, 2012
277<h2>What's new in this drop</h2>
279<li> New IProblems for distinguishing null warnings based on flow analysis vs. null annotations.
281 /** @since 3.8 */
282 int RedundantNullCheckOnSpecdNonNullLocalVariable = Internal + 931;
284 /** @since 3.8 */
285 int SpecdNonNullLocalVariableComparisonYieldsFalse = Internal + 932;
287 /** @since 3.8 */
288 int RequiredNonNullButProvidedSpecdNullable = Internal + 933;
291<li> New IProblems for reporting missing NonNullByDefault annotation on package/type.
293 /** @since 3.8 */
294 int MissingNonNullByDefaultAnnotationOnPackage = Internal + 913;
296 /** @since 3.8 */
297 int MissingNonNullByDefaultAnnotationOnType = Internal + 930;
300<li>Added new option in JavaCore to control warning for missing default nullness annotation:
302 /**
303 * Compiler option ID: Reporting missing default nullness annotation.
304 *
305 * When enabled, the compiler will issue an error or a warning in the following cases:
306 *
307 * 1. When a package does not contain a default nullness annotation, as a result of missing
308 * or missing default nullness annotation in
309 * 2. When a type inside a default package does not contain a default nullness annotation.
310 *
311 * This option only has an effect if the option {@link #COMPILER_ANNOTATION_NULL_ANALYSIS} is enabled.
312 *
313 * Option id:"org.eclipse.jdt.core.compiler.annotation.missingNonNullByDefaultAnnotation"
314 * Possible values:{ "error", "warning", "ignore" }
315 * Default:"ignore"
316 *
317 * @since 3.8
318 * @category CompilerOptionID
319 */
320 public static final String COMPILER_PB_MISSING_NONNULL_BY_DEFAULT_ANNOTATION = PLUGIN_ID + ".compiler.annotation.missingNonNullByDefaultAnnotation"
325<h3>Problem Reports Fixed</h3>
326<a href="">365859</a>
327[compiler][null] distinguish warnings based on flow analysis vs. null annotations
328<br><a href="">373571</a>
329[null][regression] Incorrect application of null annotations to primitive types
330<br><a href="">367836</a>
331Inconsistent source range for error from build and reconciler (declared package does not match expected)
332<br><a href="">368646</a>
333[rename] rejects LocalVariable with initializer
334<br><a href="">372012</a>
335[compiler][null] Warn when defaults not specified
337<a name="v_C37"></a>
339Eclipse Platform Build Notes<br>
340Java development tools core</h1>
341Eclipse SDK 3.8.0 - March 6, 2012
343<h2>What's new in this drop</h2>
346<li> New IProblems for reporting if an enum switch lacks a default cause (recommended by the JLS).
348 /** @since 3.8 */
349 int MissingEnumDefaultCase = Internal + 766;
352<li>Adjusted the specification of the corresponding constant in JavaCore:
354 /**
355 * Compiler option ID: Reporting Incomplete Enum Switch.
356 *
357 * When enabled, the compiler will issue an error or a warning whenever
358 * an enum switch statement lacks a default case.
359 * If no default case is given, additionally one error or warning is issued
360 * regarding each enum constant for which a corresponding case label is lacking.
361 *
362 * Option id: "org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch"
363 * Possible values: { "error", "warning", "ignore" }
364 * Default: "warning"
365 * @since 3.1
366 * @category CompilerOptionID
367 */
368 public static final String COMPILER_PB_INCOMPLETE_ENUM_SWITCH = PLUGIN_ID + ".compiler.problem.incompleteEnumSwitch"; //$NON-NLS-1$
372<h3>Problem Reports Fixed</h3>
373<a href="">371732</a>
374Deprecate AST.JLS3
375<br><a href="">372909</a>
376message verbiage for instanceof erasure
377<br><a href="">347386</a>
378Cannot delete package from java project (two source and output folders)
379<br><a href="">372011</a>
380[compiler][null] Restore behaviour of null defaults for binary types
381<br><a href="">127575</a>
382Null reference checks don't handle Assert
383<br><a href="">265744</a>
384Enum switch should warn about missing default
386<a name="v_C36"></a>
388Eclipse Platform Build Notes<br>
389Java development tools core</h1>
390Eclipse SDK 3.8.0 - February 28, 2012
392<h2>What's new in this drop</h2>
394<h3>Problem Reports Fixed</h3>
395<a href="">372377</a>
396ASTParser#createASTs(..) should not ignore optional compile problems
397<br><a href="">372351</a>
398Illegal implementation of 'org.eclipse.jdt.internal.compiler.env.ICompilationUnit' in Tomcat Jasper
399<br><a href="">220928</a>
400[buildpath] Should be able to ignore warnings from certain source folders
Stephan Herrmann6cecadb2012-02-26 01:08:39 +0100402<a name="v_C35"></a>
404Eclipse Platform Build Notes<br>
405Java development tools core</h1>
Stephan Herrmannb9e10522012-03-15 21:24:23 +0100406Eclipse SDK 3.8.0 - February 21, 2012
Stephan Herrmann6cecadb2012-02-26 01:08:39 +0100408<h2>What's new in this drop</h2>
410<h3>Problem Reports Fixed</h3>
411<a href="">365499</a>
412Add a system property to control for JavaModelManager's jar type cache size
413<br><a href="">368152</a>
414ConcurrentModificationException on startup in ExternalFoldersManager.createPendingFolders
415<br><a href="">244544</a>
416codeSelect fails on constant declaration in anonymous and local classes
417<br><a href="">291040</a>
418codeSelect(..) does not work for a deeply nested method invocation in nested and anonymous class
419<br><a href="">370930</a>
420NonNull annotation not considered for enhanced for loops
421<br><a href="">366063</a>
422Compiler should not add synthetic @NonNull annotations
423<br><a href="">365531</a>
424[compiler][null] investigate alternative strategy for internally encoding nullness defaults
425<br><a href="">370639</a>
426[compiler][resource] restore the default for resource leak warnings
428<a name="v_C34"></a>
430Eclipse Platform Build Notes<br>
431Java development tools core</h1>
432Eclipse SDK 3.8.0 - February 14, 2012
434<h2>What's new in this drop</h2>
436<h3>Problem Reports Fixed</h3>
437<a href="">123836</a>
438[1.5][search] for references to overriding method with bound type variable is not polymorphic
439<br><a href="">368546</a>
440[compiler][resource] Avoid remaining false positives found when compiling the Eclipse SDK
441<br><a href="">364254</a>
442Reduce console output during JDT/Core junits execution.
443<br><a href="">362633</a>
444NPE while trying to rename a class
Stephan Herrmann2c38ab42012-01-28 20:42:28 +0100446<a name="v_C33"></a>
448Eclipse Platform Build Notes<br>
449Java development tools core</h1>
Stephan Herrmann6cecadb2012-02-26 01:08:39 +0100450Eclipse SDK 3.8.0 - January 25, 2012 - 3.8.0 M5
Stephan Herrmann2c38ab42012-01-28 20:42:28 +0100451<br>
452<h2>What's new in this drop</h2>
454<h3>Problem Reports Fixed</h3>
455<a href="">369595</a>
456Javadoc fixes for IClasspathAttribute.SOURCE_ATTACHMENT_ENCODING
458<a name="v_C32"></a>
460Eclipse Platform Build Notes<br>
461Java development tools core</h1>
462Eclipse SDK 3.8.0 - January 24, 2012
464<h2>What's new in this drop</h2>
466<h3>Problem Reports Fixed</h3>
467<a href="">366829</a>
468Batch compiler option and SuppressWarnings token for Overriding a Synchronized Method with a Non-synchronized Method
Stephan Herrmann2c38ab42012-01-28 20:42:28 +0100469
470<a name="v_C31"></a>
472Eclipse Platform Build Notes<br>
473Java development tools core</h1>
474Eclipse SDK 3.8.0 - January 22, 2012
476<h2>What's new in this drop</h2>
478<h3>Problem Reports Fixed</h3>
479<a href="">369251</a>
480Starved worker threads
481<br><a href="">365208</a>
482[compiler][batch] command line options for annotation based null analysis
484<a name="v_C30"></a>
486Eclipse Platform Build Notes<br>
487Java development tools core</h1>
488Eclipse SDK 3.8.0 - January 20, 2012
490<h2>What's new in this drop</h2>
492<li>New constant for the name of the encoding to be used for source attachments in IClasspathAttribute (see bug <a href="">361356</a> for details)
494 /**
495 * Constant for the name of the encoding to be used for source attachments.
496 *
497 * &lt;p&gt;The value of this attribute has to be a string representation of a valid encoding. The encoding
498 * for a source attachment is determined in the following order: &lt;/p&gt;
499 *
500 * &lt;ul&gt;
501 * &lt;li&gt; Encoding explicitly set on the source file (java or zip), i.e. <code>org.eclipse.core.resources.IFile#getCharset(false)</code> &lt;/li&gt;
502 * &lt;li&gt; Encoding set on the corresponding classpath entry &lt;/li&gt;
503 * &lt;li&gt; If the source attachment is a member of the project, then the project's default charSet&lt;/li&gt;
504 * &lt;li&gt; Workspace default charSet &lt;/li&gt;
505 * &lt;/ul&gt;
506 *
507 * @since 3.8
508 */
509 String SOURCE_ATTACHMENT_ENCODING = "source_encoding";
Stephan Herrmann2c38ab42012-01-28 20:42:28 +0100512<li> New IProblems for messages relating to contradictory or redundant null annotations
514 /** @since 3.8 */
515 int RedundantNullDefaultAnnotation = Internal + 925;
516 /** @since 3.8 */
517 int RedundantNullDefaultAnnotationPackage = Internal + 926;
518 /** @since 3.8 */
519 int RedundantNullDefaultAnnotationType = Internal + 927;
520 /** @since 3.8 */
521 int RedundantNullDefaultAnnotationMethod = Internal + 928;
522 /** @since 3.8 */
523 int ContradictoryNullAnnotations = Internal + 929;
527<h3>Problem Reports Fixed</h3>
528<a href="">361356</a>
529Allow to specify encoding for source attachments
530<br><a href="">365582</a>
531FUP of bug 361938: Other error code pattern
532<br><a href="">365662</a>
533[compiler][null] warn on contradictory and redundant null annotations
Stephan Herrmann2c38ab42012-01-28 20:42:28 +0100534
535<a name="v_C29"></a>
537Eclipse Platform Build Notes<br>
538Java development tools core</h1>
539Eclipse SDK 3.8.0 - January 17, 2012
541<h2>What's new in this drop</h2>
543<h3>Problem Reports Fixed</h3>
544<a href="">368842</a>
545test failure because test case refers to java.util.Objects
546<br><a href="">368709</a>
547Endless loop in FakedTrackingVariable.markPassedToOutside
548<br><a href="">361407</a>
549Resource leak warning when resource is assigned to a field outside of constructor
550<br><a href="">362331</a>
551Resource leak not detected when closeable not assigned to variable
552<br><a href="">362332</a>
553Only report potential leak when closeable not created in the local scope
554<br><a href="">360908</a>
555Avoid resource leak warning when the underlying/chained resource is closed explicitly
556<br><a href="">361073</a>
557Avoid resource leak warning when the top level resource is closed explicitly
558<br><a href="">358903</a>
559Filter practically unimportant resource leak warnings
560<br><a href="">365387</a>
561[compiler][null] bug 186342: Issues to follow up post review and verification.
562<br><a href="">365519</a>
563editorial cleanup after bug 186342 and bug 365387
564<br><a href="">368435</a>
565[compiler] NPE while compile a method with unused local
566<br><a href="">361963</a>
567Stack overflow when trying to code complete a generic list
568<br><a href="">365437</a>
569Private methods tagged with @Inject should not be flagged with unused warning
570<br><a href="">366131</a>
571[1.5][compiler] New generics compile error in Indigo SR1 for code that compiles in earlier Eclipse and javac
573<a name="v_C28"></a>
575Eclipse Platform Build Notes<br>
576Java development tools core</h1>
577Eclipse SDK 3.8.0 - January 10, 2012
578<h2>What's new in this drop</h2>
580<h3>Problem Reports Fixed</h3>
581<a href="">367023</a>
582Error in JDT Core during AST creation
583<br><a href="">354229</a>
584[compiler][1.7] Name clash error not being reported by ecj.
585<br><a href="">367879</a>
586Incorrect &quot;Potential null pointer access&quot; warning on statement after try-with-resources within try-finally
587<br><a href="">366999</a>
588VerifyError: Inconsistent stackmap frames
589<br><a href="">346175</a>
590@SuppressWarnings should clear all errors including fatal optional errors
591<br><a href="">366544</a>
592[index] Test testUseIndexInternalJarAfterRestart failed on Mac and Linux
593<br><a href="">302850</a>
59413 failures in JavaModel tests for the N20100214-2000 Mac OS X - Cocoa test machine
596<a name="v_C27"></a>
598Eclipse Platform Build Notes<br>
599Java development tools core</h1>
600Eclipse SDK 3.8.0 - January 3, 2012 - 3.8.0 M5
602<h2>What's new in this drop</h2>
604<h3>Problem Reports Fixed</h3>
605<a href="">367566</a>
606In try-with-resources statement close() method of resource is not called
607<br><a href="">364890</a>
608BinaryTypeBinding should use char constants from Util
609<br><a href="">365992</a>
610[builder] [null] Change of nullness for a parameter doesn't trigger a build for the files that call the method
611<br><a href="">367203</a>
612[compiler][null] detect assigning null to nonnull argument
613<br><a href="">367154</a>
614[compiler][null] Problem in propagating null defaults.
616<a name="v_C26"></a>
618Eclipse Platform Build Notes<br>
619Java development tools core</h1>
620Eclipse SDK 3.8.0 - December 20, 2011
621<h2>What's new in this drop</h2>
623<h3>Problem Reports Fixed</h3>
624<a href="">362711</a>
625possibly incorrect JDT POST_CHANGE event fired when a file is replaced
626<br><a href="">365835</a>
627[compiler][null] inconsistent error reporting.
628<br><a href="">365836</a>
629[compiler][null] Incomplete propagation of null defaults.
630<br><a href="">365983</a>
631[compiler][null] AIOOB with null annotation analysis and varargs
632<br><a href="">366003</a>
633CCE in ASTNode.resolveAnnotations(
634<br><a href="">366829</a>
635Batch compiler option and SuppressWarnings token for Overriding a Synchronized Method with a Non-synchronized Method
636<br><a href="">364450</a>
637Dubious class path error triggers a full rebuild
639<a name="v_C25"></a>
641Eclipse Platform Build Notes<br>
642Java development tools core</h1>
643Eclipse SDK 3.8.0 - December 13, 2011
644<h2>What's new in this drop</h2>
646<li>New constant for the name of index location class path attribute in IClasspathAttribute(see bug <a href="">356620</a> for details)
648 /**
649 * Constant for the name of the index location attribute.
650 *
651 * The value for this attribute has to be the string representation of a URL.
652 * It should point to an existing index file in a folder or a jar. The URL can also be of platform protocol.
653 *
654 * @since 3.8
655 */
656 String INDEX_LOCATION_ATTRIBUTE_NAME = "index_location";
659<li>New API org.eclipse.jdt.core.index.JavaIndexer.generateIndexForJar to generate the index file for a given jar
661 /**
662 * Generates the index file for the specified jar.
663 *
664 * @param pathToJar The full path to the jar that needs to be indexed
665 * @param pathToIndexFile The full path to the index file that needs to be generated
666 * @throws IOException if the jar is not found or could not write into the index file
667 * @since 3.8
668 */
669 public static void generateIndexForJar(String pathToJar, String pathToIndexFile) throws IOException;
672<li> New application org.eclipse.jdt.core.JavaIndexer to generate index file for the given jar
674<li> New ant task eclipse.buildJarIndex to generate the index file for the given jar </li>
676<h3>Problem Reports Fixed</h3>
677<a href="">356620</a>
678Make it possible to provide indexes for defined libraries
Stephan Herrmannaa1e2842011-12-10 00:30:58 +0100680<a name="v_C24"></a>
Stephan Herrmann41a335b2011-12-08 22:55:07 +0100681<hr><h1>
682Eclipse Platform Build Notes<br>
683Java development tools core</h1>
Stephan Herrmann2c38ab42012-01-28 20:42:28 +0100684Eclipse SDK 3.8.0 - December 5, 2011 - 3.8.1 M4
Stephan Herrmannaa1e2842011-12-10 00:30:58 +0100685
686<h2>What's new in this drop</h2>
688<h3>Problem Reports Fixed</h3>
689<a href="">365566</a>
690set resource leak diagnostic to &quot;ignore&quot; until bug 358903 is fixed
692<a name="v_C23"></a>
694Eclipse Platform Build Notes<br>
695Java development tools core</h1>
Stephan Herrmann2c38ab42012-01-28 20:42:28 +0100696Eclipse SDK 3.8.0
Stephan Herrmannaa1e2842011-12-10 00:30:58 +0100697<h2>What's new in this drop</h2>
699<li>New Javacore option org.eclipse.jdt.core.JavaCore.COMPILER_ANNOTATION_NULL_ANALYSIS (see bug <a href="">186342</a> for details):
701 /**
702 * Compiler option ID: Annotation-based Null Analysis.
703 *
704 * This option controls whether the compiler will use null annotations for
705 * improved analysis of (potential) null references.
706 *
707 * When enabled, the compiler will interpret the annotation types defined using
709 * as specifying whether or not a given type includes the value <code>null</code>.
710 *
711 * The effect of these analyses is further controlled by the options
715 *
716 * Option id: <code>"org.eclipse.jdt.core.compiler.annotation.nullanalysis"</code>
717 * Possible values: <code>{ "disabled", "enabled" }</code>
718 * Default: <code>"disabled"</code>
719 * @since 3.8
720 * @category CompilerOptionID
721 */
722 public static final String COMPILER_ANNOTATION_NULL_ANALYSIS = PLUGIN_ID + ".compiler.annotation.nullanalysis";
724<li>New Javacore option org.eclipse.jdt.core.JavaCore.COMPILER_NULLABLE_ANNOTATION_NAME (see bug <a href="">186342</a> for details):
726 /**
727 * Compiler option ID: Name of Annotation Type for Nullable Types.
728 *
729 * This option defines a fully qualified Java type name that the compiler may use
730 * to perform special null analysis.
731 *
732 * If the annotation specified by this option is applied to a type in a method
733 * signature or variable declaration, this will be interpreted as a specification
734 * that <code>null</code> is a legal value in that position. Currently supported
735 * positions are: method parameters, method return type and local variables.
736 *
737 * If a value whose type
738 * is annotated with this annotation is dereferenced without checking for null,
739 * the compiler will trigger a diagnostic as further controlled by
741 *
742 * The compiler may furthermore check adherence to the null specification as
743 * further controlled by {@link #COMPILER_PB_NULL_SPECIFICATION_VIOLATION},
746 *
747 * This option only has an effect if the the option {@link #COMPILER_ANNOTATION_NULL_ANALYSIS} is enabled.
748 *
749 * Option id: <code>"org.eclipse.jdt.core.compiler.annotation.nullable"</code>
750 * Possible values: any legal, fully qualified Java type name; must resolve to an annotation type.
751 * Default: <code>"org.eclipse.jdt.annotation.Nullable"</code>
752 * @since 3.8
753 * @category CompilerOptionID
754 */
755 public static final String COMPILER_NULLABLE_ANNOTATION_NAME = PLUGIN_ID + ".compiler.annotation.nullable";
757<li>New Javacore option org.eclipse.jdt.core.JavaCore.COMPILER_NONNULL_ANNOTATION_NAME (see bug <a href="">186342</a> for details):
759 /**
760 * Compiler option ID: Name of Annotation Type for Non-Null Types.
761 *
762 * This option defines a fully qualified Java type name that the compiler may use
763 * to perform special null analysis.
764 *
765 * If the annotation specified by this option is applied to a type in a method
766 * signature or variable declaration, this will be interpreted as a specification
767 * that <code>null</code> is <b>not</b> a legal value in that position. Currently
768 * supported positions are: method parameters, method return type and local variables.
769 *
770 * For values declared with this annotation, the compiler will never trigger a null
771 * reference diagnostic (as controlled by {@link #COMPILER_PB_POTENTIAL_NULL_REFERENCE}
772 * and {@link #COMPILER_PB_NULL_REFERENCE}), because the assumption is made that null
773 * will never occur at runtime in these positions.
774 *
775 * The compiler may furthermore check adherence to the null specification as further
779 *
780 * This option only has an effect if the the option {@link #COMPILER_ANNOTATION_NULL_ANALYSIS} is enabled.
781 *
782 * Option id: <code>"org.eclipse.jdt.core.compiler.annotation.nonnull"</code>
783 * Possible values: any legal, fully qualified Java type name; must resolve to an annotation type.
784 * Default: <code>"org.eclipse.jdt.annotation.NonNull"</code>
785 * @since 3.8
786 * @category CompilerOptionID
787 */
788 public static final String COMPILER_NONNULL_ANNOTATION_NAME = PLUGIN_ID + ".compiler.annotation.nonnull";
790<li>New Javacore option org.eclipse.jdt.core.JavaCore.COMPILER_NONNULL_BY_DEFAULT_ANNOTATION_NAME (see bug <a href="">186342</a> for details):
792 /**
793 * Compiler option ID: Name of Annotation Type to specify a nullness default for unannotated types.
794 *
795 * This option defines a fully qualified Java type name that the compiler may use
796 * to perform special null analysis.
797 *
798 * If the annotation is applied without an argument, all unannotated types in method signatures
799 * within the annotated element will be treated as if they were specified with the non-null annotation
801 *
802 * If the annotation is applied with the constant <code>false</code> as its argument
803 * all corresponding defaults at outer scopes will be canceled for the annotated element.
804 * This includes defaults specified using this annotation type or a default defined using
805 * the compiler option {@link #COMPILER_NONNULL_IS_DEFAULT}.
806 *
807 * This option only has an effect if the the option {@link #COMPILER_ANNOTATION_NULL_ANALYSIS} is enabled.
808 *
809 * Option id: <code>"org.eclipse.jdt.core.compiler.annotation.nonnullbydefault"</code>
810 * Possible values: any legal, fully qualified Java type name; must resolve to an annotation type.
811 * That annotation type should have exactly one boolean parameter.
812 * Default: <code>"org.eclipse.jdt.annotation.NonNullByDefault"</code>
813 * @since 3.8
814 * @category CompilerOptionID
815 */
816 public static final String COMPILER_NONNULL_BY_DEFAULT_ANNOTATION_NAME = PLUGIN_ID + ".compiler.annotation.nonnullbydefault";
818<li>New Javacore option org.eclipse.jdt.core.JavaCore.COMPILER_NONNULL_IS_DEFAULT (see bug <a href="">186342</a> for details):
820 /**
821 * Compiler option ID: Globally specify non-null as the assumed default for unannotated types.
822 *
823 * When enabled this option globally achieves the same effect
824 * as specifying {@link #COMPILER_NONNULL_ANNOTATION_NAME} does for individual elements.
825 *
826 * This option only has an effect if the the option {@link #COMPILER_ANNOTATION_NULL_ANALYSIS} is enabled.
827 *
828 * Option id: <code>"org.eclipse.jdt.core.compiler.annotation.nonnullisdefault"</code>
829 * Possible values: <code>{ "disabled", "enabled" }</code>.
830 * Default: <code>"disabled"</code>
831 * @since 3.8
832 * @category CompilerOptionID
833 */
834 public static final String COMPILER_NONNULL_IS_DEFAULT = PLUGIN_ID + ".compiler.annotation.nonnullisdefault";
836<li>New Javacore option org.eclipse.jdt.core.JavaCore.COMPILER_PB_NULL_SPECIFICATION_VIOLATION (see bug <a href="">186342</a> for details):
838 /**
839 * Compiler option ID: Reporting Violations of Null Specifications.
840 *
841 * Depending on this option, the compiler will issue either an error or a warning
842 * whenever one of the following situations is detected:
843 *
844 * 1. A method declared with a nonnull annotation returns an expression that is
845 * statically known to evaluate to a null value.
846 * 2. An expression that is statically known to evaluate to a null value is passed
847 * as an argument in a method call where the corresponding parameter of the called
848 * method is declared with a nonnull annotation.
849 * 3. An expression that is statically known to evaluate to a null value is assigned
850 * to a local variable that is declared with a nonnull annotation.
851 * 4. A method that overrides an inherited method declared with a nonnull annotation
852 * tries to relax that contract by specifying a nullable annotation
853 * (prohibition of contravariant return).
854 * 5. A method that overrides an inherited method which has a nullable declaration
855 * for at least one of its parameters, tries to tighten that null contract by
856 * specifying a nonnull annotation for its corresponding parameter
857 * (prohibition of covariant parameters).
858 *
859 * The compiler options {@link #COMPILER_NONNULL_ANNOTATION_NAME} and
860 * {@link #COMPILER_NULLABLE_ANNOTATION_NAME} control which annotations the compiler
861 * shall interpret as nonnull or nullable annotations, respectively.
862 *
863 * This option only has an effect if the the option {@link #COMPILER_ANNOTATION_NULL_ANALYSIS} is enabled.
864 *
865 * Option id: <code>"org.eclipse.jdt.core.compiler.problem.nullSpecViolation"</code>
866 * Possible values: <code>{ "error", "warning" }</code>
867 * Default: <code>"error"</code>
868 *
869 * @since 3.8
870 * @category CompilerOptionID
871 */
872 public static final String COMPILER_PB_NULL_SPECIFICATION_VIOLATION = PLUGIN_ID + ".compiler.problem.nullSpecViolation";
874<li>New Javacore option org.eclipse.jdt.core.JavaCore.COMPILER_PB_POTENTIAL_NULL_SPECIFICATION_VIOLATION (see bug <a href="">186342</a> for details):
876 /**
877 * Compiler option ID: Reporting Violations of Null Specifications with Potential Null Value.
878 *
879 * When enabled, the compiler will issue an error or a warning whenever one of the
880 * following situations is detected:
881 *
882 * 1. A method declared with a nonnull annotation returns an expression that is
883 * statically known to evaluate to a null value on some flow.
884 * 2. An expression that is statically known to evaluate to a null value on some flow
885 * is passed as an argument in a method call where the corresponding parameter of
886 * the called method is declared with a nonnull annotation.
887 * 3. An expression that is statically known to evaluate to a null value on some flow
888 * is assigned to a local variable that is declared with a nonnull annotation.
889 *
890 * The compiler options {@link #COMPILER_NONNULL_ANNOTATION_NAME} and
891 * {@link #COMPILER_NULLABLE_ANNOTATION_NAME} control which annotations the compiler
892 * shall interpret as nonnull or nullable annotations, respectively.
893 *
894 *
895 * This option only has an effect if the the option {@link #COMPILER_ANNOTATION_NULL_ANALYSIS} is enabled.
896 *
897 * Option id: <code>"org.eclipse.jdt.core.compiler.problem.potentialNullSpecViolation"</code>
898 * Possible values: <code>{ "error", "warning", "ignore" }</code>
899 * Default: <code>"error"</code>
900 *
901 * @since 3.8
902 * @category CompilerOptionID
903 */
904 public static final String COMPILER_PB_POTENTIAL_NULL_SPECIFICATION_VIOLATION = PLUGIN_ID + ".compiler.problem.potentialNullSpecViolation";
906<li>New Javacore option org.eclipse.jdt.core.JavaCore.COMPILER_PB_NULL_SPECIFICATION_INSUFFICIENT_INFO (see bug <a href="">186342</a> for details):
908 /**
909 * Compiler option ID: Reporting Insufficient Information for Analysing Adherence to Null Specifications.
910 *
911 * When enabled, the compiler will issue an error or a warning whenever one of the
912 * following situations is detected:
913 *
914 * 1. A method declared with a nonnull annotation returns an expression for which
915 * insufficient nullness information is available for statically proving that no
916 * flow will pass a null value at runtime.
917 * 2. An expression for which insufficient nullness information is available for
918 * statically proving that it will never evaluate to a null value at runtime
919 * is passed as an argument in a method call where the corresponding parameter of
920 * the called method is declared with a nonnull annotation.
921 * 3. An expression for which insufficient nullness information is available for
922 * statically proving that it will never evaluate to a null value at runtime
923 * is assigned to a local variable that is declared with a nonnull annotation.
924 *
925 * Insufficient nullness information is usually a consequence of using other unannotated
926 * variables or methods.
927 *
928 * The compiler options {@link #COMPILER_NONNULL_ANNOTATION_NAME} and
929 * {@link #COMPILER_NULLABLE_ANNOTATION_NAME} control which annotations the compiler
930 * shall interpret as nonnull or nullable annotations, respectively.
931 *
932 * This option only has an effect if the the option {@link #COMPILER_ANNOTATION_NULL_ANALYSIS} is enabled.
933 *
934 * Option id: <code>"org.eclipse.jdt.core.compiler.problem.nullSpecInsufficientInfo"</code>
935 * Possible values: <code>{ "error", "warning", "ignore" }</code>
936 * Default: <code>"warning"</code>
937 *
938 * @since 3.8
939 * @category CompilerOptionID
940 */
941 public static final String COMPILER_PB_NULL_SPECIFICATION_INSUFFICIENT_INFO = PLUGIN_ID + ".compiler.problem.nullSpecInsufficientInfo";
943<li>New Javacore option org.eclipse.jdt.core.JavaCore.COMPILER_PB_REDUNDANT_NULL_ANNOTATION (see bug <a href="">186342</a> for details):
945 /**
946 * Compiler option ID: Reporting Redundant Null Annotations.
947 *
948 * When enabled, the compiler will issue an error or a warning when a non-null annotation
950 * is applied although the same effect is already achieved by a default applicable at the
951 * current location. Such a default may be effective by enabling the option
952 * {@link #COMPILER_NONNULL_IS_DEFAULT} or by using the annotation specified by the option
954 *
955 * This option only has an effect if the the option {@link #COMPILER_ANNOTATION_NULL_ANALYSIS} is enabled.
956 *
957 * Option id: <code>"org.eclipse.jdt.core.compiler.problem.redundantNullAnnotation"</code>
958 * Possible values: <code>{ "error", "warning", "ignore" }</code>
959 * Default: <code>"warning"</code>
960 *
961 * @since 3.8
962 * @category CompilerOptionID
963 */
964 public static final String COMPILER_PB_REDUNDANT_NULL_ANNOTATION = PLUGIN_ID + ".compiler.problem.redundantNullAnnotation";
967<li>New API added to org.eclipse.jdt.core.compiler.IProblem to signal null-related issues:
968 <ul>
969 <li> int RequiredNonNullButProvidedNull</li>
970 <li> int RequiredNonNullButProvidedPotentialNull</li>
971 <li> int RequiredNonNullButProvidedUnknown</li>
972 <li> int MissingNullAnnotationType</li>
973 <li> int IllegalReturnNullityRedefinition</li>
974 <li> int IllegalRedefinitionToNonNullParameter</li>
975 <li> int IllegalDefinitionToNonNullParameter</li>
976 <li> int ParameterLackingNonNullAnnotation</li>
977 <li> int ParameterLackingNullableAnnotation</li>
978 <li> int PotentialNullMessageSendReference</li>
979 <li> int RedundantNullCheckOnNonNullMessageSend</li>
980 <li> int CannotImplementIncompatibleNullness</li>
981 <li> int RedundantNullAnnotation</li>
982 <li> int IllegalAnnotationForBaseType</li>
983 </ul>
986<h3>Problem Reports Fixed</h3>
987<a href="">363858</a>
988[dom] early throwing of AbortCompilation causes NPE in CompilationUnitResolver
989<br><a href="">331647</a>
990[compiler][null] support flexible default mechanism for null-annotations
991<br><a href="">334457</a>
992[compiler][null] check compatibility of inherited null contracts
993<br><a href="">186342</a>
994[compiler][null] Using annotations for null checking
997Eclipse Platform Build Notes<br>
998Java development tools core</h1>
999Eclipse SDK 3.8.0 - November 29, 2011
Stephan Herrmann41a335b2011-12-08 22:55:07 +01001000<h2>What's new in this drop</h2>
1002<h3>Problem Reports Fixed</h3>
1003<a href="">340945</a>
1004Extension Request of JavaContentAssistInvocationContext
1005<br><a href="">364672</a>
1006[compiler] ecj fails to compile valid calls to varargs method
1008<a name="v_C21"></a>
1010Eclipse Platform Build Notes<br>
1011Java development tools core</h1>
1012Eclipse SDK 3.8.0 - November 22, 2011
1013<h2>What's new in this drop</h2>
1015<h3>Problem Reports Fixed</h3>
1016<a href="">350738</a>
1017&quot;The method is never used locally&quot; is not shown for parameterized recursive methods
1018<br><a href="">361053</a>
1019java.lang.VerifyError on try-with-resources
1020<br><a href="">346038</a>
1021[1.5][compiler] ecj vs. javac differ for methods using vararg parameters of different primitive types
1022<br><a href="">346039</a>
1023[1.5][compiler] ecj vs. javac differ for varargs overloading
1024<br><a href="">362279</a>
1025ecj vs. javac differ for automatic boxing of implicitly converted types
Stephan Herrmann41a335b2011-12-08 22:55:07 +01001026<br><a href="">362591</a>
1027VerifyError: Inconsistent stackmap frames
1029<a name="v_C20"></a>
1031Eclipse Platform Build Notes<br>
1032Java development tools core</h1>
1033Eclipse SDK 3.8.0 - November 15, 2011
1034<br>Project org.eclipse.jdt.core v_C20
1035(<a href="">cvs</a>).
1036<h2>What's new in this drop</h2>
1038<h3>Problem Reports Fixed</h3>
1039<a href="">361327</a>
1040Static import resolution does not record all static elements being imported
1041<br><a href="">346042</a>
1042[1.5][compiler] ecj compiles code rejected by javac for varargs parameters of inaccessible type
1043<br><a href="">361938</a>
1044Formerly working JLS3 parser not working -- Scanner reports com.sun.jdi.InvocationException occurred invoking method.
1045<br><a href="">359284</a>
1046Unnecessary checkast from null
1047<br><a href="">361441</a>
1048Error in JDT Core during AST creation
1049<br><a href="">363293</a>
1050resource leaks in org.eclipse.jdt.compiler.tool.tests
Stephan Herrmannae64da72011-11-10 09:47:39 +00001052<a name="v_C19"></a>
1054Eclipse Platform Build Notes<br>
1055Java development tools core</h1>
Stephan Herrmann41a335b2011-12-08 22:55:07 +01001056Eclipse SDK 3.8.0 - November 8, 2011
Stephan Herrmannae64da72011-11-10 09:47:39 +00001057<br>Project org.eclipse.jdt.core v_C19
1058(<a href="">cvs</a>).
1059<h2>What's new in this drop</h2>
1061<h3>Problem Reports Fixed</h3>
1062<a href="">361922</a>
1063Fup of 357425: ensure all reported regressions are witnessed by tests
1064<br><a href="">354766</a>
1065Javadoc content does not appear in content assist info window for non-static inner class constructors
Stephan Herrmann6dcbb382011-10-25 16:30:31 +00001067<a name="v_C18"></a>
1069Eclipse Platform Build Notes<br>
1070Java development tools core</h1>
1071Eclipse SDK 3.8.0 - October 25, 2011 - 3.8.0 M3
1072<br>Project org.eclipse.jdt.core v_C18
1073(<a href="">cvs</a>).
1074<h2>What's new in this drop</h2>
1076<h3>Problem Reports Fixed</h3>
1078<a name="v_C17"></a>
1080Eclipse Platform Build Notes<br>
1081Java development tools core</h1>
1082Eclipse SDK 3.8.0 - October 20, 2011
1083<br>Project org.eclipse.jdt.core v_C17
1084(<a href="">cvs</a>).
1085<h2>What's new in this drop</h2>
1087<li>Added a new API OUTPUT_LOCATION_OVERLAPPING_ANOTHER_SOURCE(see bug <a href="">287164</a> for details):
1090 * Status constant indicating that the default or specific output folder is overlapping
1091 * with another source location.
1092 * @since 3.8
1093 */
1094public static final int OUTPUT_LOCATION_OVERLAPPING_ANOTHER_SOURCE = 1013;
1098<li>Added a new option CORE_OUTPUT_LOCATION_OVERLAPPING_ANOTHER_SOURCE to report an output location overlapping another source location(see bug <a href="">287164</a> for details):
1101 * Core option ID: Reporting an output location overlapping another source location.
1102 * Indicate the severity of the problem reported when a source entry's output location overlaps another
1103 * source entry.
1104 *
1105 * Option id:"org.eclipse.jdt.core.classpath.outputOverlappingAnotherSource"
1106 * Possible values:{ "error", "warning", "ignore" }
1107 * Default:"error"
1108 *
1109 * @since 3.8
1110 */
1111public static final String CORE_OUTPUT_LOCATION_OVERLAPPING_ANOTHER_SOURCE = PLUGIN_ID + ".classpath.outputOverlappingAnotherSource";
1115<h3>Problem Reports Fixed</h3>
1116<a href="">287164</a>
1117Report build path error if source folder has other source folder as output folder
1118<br><a href="">359721</a>
1119[options] add command line option for new warning token &quot;resource&quot;
1120<br><a href="">343480</a>
1121[compiler] Incorrect/confusing error message on inner class static field declaration
1122<br><a href="">318401</a>
1123FUP of 317858: Clarify eclipse compiler behavior on imports &amp; shadowing
1124<br><a href="">360317</a>
1125[compiler] report switch over enum in 1.4- mode
1126<br><a href="">360164</a>
1127Compile error in XSDImpl
1128<br><a href="">359727</a>
1129[1.7][doc] Update doc for new resource leak warnings
1131<a name="v_C16"></a>
1133Eclipse Platform Build Notes<br>
1134Java development tools core</h1>
1135Eclipse SDK 3.8.0 - October 18, 2011
1136<br>Project org.eclipse.jdt.core v_C16
1137(<a href="">cvs</a>).
1138<h2>What's new in this drop</h2>
1140<li>Added a new API IBootstrapMethodsEntry to describe the bootstrap method table entry(see bug <a href="">359943</a> for details):
1143 * Description of a bootstrap method table entry as specified in the JVM specifications.
1144 *
1145 * This interface may be implemented by clients.
1146 *
1147 * @since 3.8
1148 */
1149public interface IBootstrapMethodsEntry;
1153<li>Added a new API IBootstrapMethodsAttribute to describe the bootstrap method attribute(see bug <a href="">359943</a> for details):
1156 * Description of a bootstrap methods attribute as described in the JVM specifications.
1157 *
1158 * This interface may be implemented by clients.
1159 *
1160 * @since 3.8
1161 */
1162public interface IBootstrapMethodsAttribute
1166<li>Added a new API in IBootstrapMethodsAttribute to obtain the number of bootstrap methods of this entry(see bug <a href="">359943</a> for details):
1169 * Answer back the number of bootstrap methods of this entry as specified in
1170 * the JVM specifications.
1171 *
1172 * @return the number of bootstrap methods of this entry as specified in
1173 * the JVM specifications
1174 */
1175int getBootstrapMethodsLength();
1179<li>Added a new API in IBootstrapMethodsAttribute to obtain the bootstrap methods table of this entry(see bug <a href="">359943</a> for details):
1182 * Answer back the bootstrap methods table of this entry as specified in
1183 * the JVM specifications. Answer an empty array if none.
1184 *
1185 * @return the bootstrap methods table of this entry as specified in
1186 * the JVM specifications. Answer an empty array if none
1187 */
1188IBootstrapMethodsEntry[] getBootstrapMethods();
1192<li>Added IConstantPoolEntry2 to describe the new constant pool entry from Java 7 onwards(see bug <a href="">359943</a> for details):
1195 * Description of the new constant pool entry as described in the JVM specifications
1196 * added for Java 7 support.
1197 * Its contents is initialized according to its kind.
1198 *
1199 * This interface may be implemented by clients.
1200 *
1201 * @since 3.8
1202 */
1203public interface IConstantPoolEntry2
1207<li>Added new API in IConstantPoolEntry2 to return the descriptor index for MethodType entry(see bug <a href="">359943</a> for details):
1210 * Returns the descriptor index. This value is set only when decoding a MethodType entry.
1211 * The value is unspecified otherwise. The corresponding UTF8 value can be retrieved by using
1212 * {@link #getMethodDescriptor()}.
1213 *
1214 * @return the descriptor index. This value is set only when decoding a MethodType entry.
1215 * @see IConstantPoolConstant#CONSTANT_MethodType
1216 */
1217int getDescriptorIndex();
1221<li>Added new API in IConstantPoolEntry2 to return the reference kind for MethodHandle entry(see bug <a href="">359943</a> for details):
1224 * Returns the reference kind. This value is set only when decoding a MethodHandle entry.
1225 * The value is unspecified otherwise.
1226 *
1227 * @return the reference kind. This value is set only when decoding a MethodHandle entry.
1228 * @see IConstantPoolConstant#CONSTANT_MethodHandle
1229 */
1230int getReferenceKind();
1234<li>Added new API in IConstantPoolEntry2 to return the reference index for MethodHandle entry(see bug <a href="">359943</a> for details):
1237 * Returns the reference index. This value is set only when decoding a MethodHandle entry.
1238 * The value is unspecified otherwise.
1239 *
1240 * @return the reference kind. This value is set only when decoding a MethodHandle entry.
1241 * @see IConstantPoolConstant#CONSTANT_MethodHandle
1242 */
1243int getReferenceIndex();
1247<li>Added new API in IConstantPoolEntry2 to return the bootstrap method attribute index(see bug <a href="">359943</a> for details):
1250 * Returns the bootstrap method attribute index. This value is set only when decoding a InvokeDynamic entry.
1251 * The value is unspecified otherwise.
1252 *
1253 * @return the reference kind. This value is set only when decoding a MethodHandle entry.
1254 * @see IConstantPoolConstant#CONSTANT_InvokeDynamic
1255 */
1256int getBootstrapMethodAttributeIndex();
1260<li>Added new API in IByteCodeVisitor(see bug <a href="">359943</a> for details):
1262 /**
1263 * @since 3.8
1264 */
1265 void _invokedynamic(
1266 int pc,
1267 int index,
1268 IConstantPoolEntry invokeDynamic);
1271This has been added in place of the deprecated API
1273 void _invokedynamic(
1274 int pc,
1275 int index,
1276 IConstantPoolEntry nameEntry,
1277 IConstantPoolEntry descriptorEntry);
1281<h3>Problem Reports Fixed</h3>
1282<a href="">359943</a>
1283invokedynamic in generated class file is not correctly recognized by the eclipse compiler
1284<br><a href="">360644</a>
1285Scope.isDefinedInSameUnit(ReferenceBinding) fails for a ParameterizedTypeBinding
1286<br><a href="">358762</a>
1287NPE in JDT compiler
1288<br><a href="">360328</a>
1289[compiler][null] detect null problems in nested code (local class inside a loop)
1291<a name="v_C15"></a>
1293Eclipse Platform Build Notes<br>
1294Java development tools core</h1>
1295Eclipse SDK 3.8.0 - October 11, 2011
1296<br>Project org.eclipse.jdt.core v_C15
1297(<a href="">cvs</a>).
1298<h2>What's new in this drop</h2>
1300<h3>Problem Reports Fixed</h3>
1301<a href="">350285</a>
1302ASTRewrite destroys formatting on CatchClause#setBody(copyTarget)
1303<br><a href="">353474</a>
1304type converters should include more annotations
1306<a name="v_C14"></a>
1308Eclipse Platform Build Notes<br>
1309Java development tools core</h1>
1310Eclipse SDK 3.8.0 - October 5, 2011
1311<br>Project org.eclipse.jdt.core v_C14
1312(<a href="">cvs</a>).
1313<h2>What's new in this drop</h2>
1315<h3>Problem Reports Fixed</h3>
1316<a href="">354181</a>
1317migrate jdt.core to git
1318<br><a href="">359831</a>
1319Fix messages for &quot;new warning for missing try-with-resources&quot;
1321<a name="v_C13"></a>
1323Eclipse Platform Build Notes<br>
1324Java development tools core</h1>
1325Eclipse SDK 3.8.0 - October 3, 2011
1326<br>Project org.eclipse.jdt.core v_C13
1327(<a href="">cvs</a>).
1328<h2>What's new in this drop</h2>
1330<li>New Javacore option org.eclipse.jdt.core.JavaCore.COMPILER_PB_UNCLOSED_CLOSEABLE to raise a warning or error
1331 when a resource of type Closeable or AutoCloseable is not closed locally.
1332(see details in bug <a href="">349326</a>):
1334 /**
1335 * Compiler option ID: Reporting a resource that is not closed properly.
1336 *
1337 * When enabled, the compiler will issue an error or a warning if
1338 * a local variable holds a value of type <code>java.lang.AutoCloseable</code> (compliance>=1.7)
1339 * or a value of type <code></code> (compliance<=1.6) and if
1340 * flow analysis shows that the method <code>close()</code> is not invoked locally on that value.
1341 *
1342 * Option id: <code>"org.eclipse.jdt.core.compiler.problem.reportUnclosedCloseable"</code>
1343 * Possible values: <code>{ "error", "warning", "ignore" }</code>
1344 * Default: <code>"warning"</code>
1345 *
1346 * @since 3.8
1347 * @category CompilerOptionID
1348 */
1349 public static final String COMPILER_PB_UNCLOSED_CLOSEABLE = PLUGIN_ID + ".compiler.problem.unclosedCloseable"; //$NON-NLS-1$
1352<li>New Javacore option org.eclipse.jdt.core.JavaCore.COMPILER_PB_POTENTIALLY_UNCLOSED_CLOSEABLE to raise a warning or error
1353 when a resource of type Closeable or AutoCloseable is not definitely closed locally.
1354(see details in bug <a href="">349326</a>):
1356 /**
1357 * Compiler option ID: Reporting a resource that may not be closed properly.
1358 *
1359 * When enabled, the compiler will issue an error or a warning if
1360 * a local variable holds a value of type <code>java.lang.AutoCloseable</code> (compliance>=1.7)
1361 * or a value of type <code></code> (compliance<=1.6) and if
1362 * flow analysis shows that the method <code>close()</code> is
1363 * not invoked locally on that value for all execution paths.
1364 *
1365 * Option id: <code>"org.eclipse.jdt.core.compiler.problem.reportPotentiallyUnclosedCloseable"</code>
1366 * Possible values: <code>{ "error", "warning", "ignore" }</code>
1367 * Default: <code>"ignore"</code>
1368 *
1369 * @since 3.8
1370 * @category CompilerOptionID
1371 */
1372 public static final String COMPILER_PB_POTENTIALLY_UNCLOSED_CLOSEABLE = PLUGIN_ID + ".compiler.problem.potentiallyUnclosedCloseable"; //$NON-NLS-1$
1375<li>New Javacore option org.eclipse.jdt.core.JavaCore.COMPILER_PB_EXPLICITLY_CLOSED_AUTOCLOSEABLE to raise a warning or error
1376 when a resource of type AutoCloseable is closed explicitly rather than using a try-with-resources block.
1377(see details in bug <a href="">349326</a>):
1379 /**
1380 * Compiler option ID: Reporting a resource that is not managed by try-with-resources.
1381 *
1382 * When enabled, the compiler will issue an error or a warning if a local variable
1383 * holds a value of type <code>java.lang.AutoCloseable</code>, and if the method
1384 * <code>close()</code> is explicitly invoked on that resource, but the resource is
1385 * not managed by a try-with-resources block.
1386 *
1387 * Option id: <code>"org.eclipse.jdt.core.compiler.problem.reportPotentiallyUnclosedCloseable"</code>
1388 * Possible values: <code>{ "error", "warning", "ignore" }</code>
1389 * Default: <code>"ignore"</code>
1390 *
1391 * @since 3.8
1392 * @category CompilerOptionID
1393 */
1394 public static final String COMPILER_PB_EXPLICITLY_CLOSED_AUTOCLOSEABLE = PLUGIN_ID + ".compiler.problem.explicitlyClosedAutoCloseable"; //$NON-NLS-1$
1399<h3>Problem Reports Fixed</h3>
1400<a href="">359495</a>
1401[1.7][compiler] VerifyError in try-finally block with lock encompassing for-each block and unlock in finally clause
1402<br><a href="">161129</a>
1403[batch][compiler] Add -warn:all to report all warnings
1404<br><a href="">359646</a>
1405Formatter fails silently if Java source contains 0x8000000000000000L
1406<br><a href="">256796</a>
1407[compiler] dead code detection: &quot;if (DEBUG) return;&quot; should also be trivial IF stmt
1408<br><a href="">359334</a>
1409Analysis for resource leak warnings does not consider exceptions as method exit points
1410<br><a href="">359362</a>
1411FUP of bug 349326: Resource leak on non-Closeable resource.
1412<br><a href="">348186</a>
1413[compiler] Improve wording for the warning for masked/hidden catch block
1414<br><a href="">355838</a>
1415[compiler] ecj compiles the code that javac6 rejects
1416<br><a href="">349326</a>
1417[1.7] new warning for missing try-with-resources
1418<br><a href="">354502</a>
1419Incorrect Compiler Warning: &quot;Method can be declared as static&quot;
1420<br><a href="">241834</a>
1421[search] ClassCastException during move class refactoring
1422<br><a href="">358827</a>
1423[1.7] exception analysis for t-w-r spoils null analysis
1425<a name="v_C12"></a>
1427Eclipse Platform Build Notes<br>
1428Java development tools core</h1>
1429Eclipse SDK 3.8.0 - September 23, 2011
1430<br>Project org.eclipse.jdt.core v_C12
1431(<a href="">cvs</a>).
1432<h2>What's new in this drop</h2>
1434<li>Tagging to prepare for the git migration</li>
1437<h3>Problem Reports Fixed</h3>
1439<a name="v_C11"></a>
1441Eclipse Platform Build Notes<br>
1442Java development tools core</h1>
1443Eclipse SDK 3.8.0 - September 20, 2011
1444<br>Project org.eclipse.jdt.core v_C11
1445(<a href="">cvs</a>).
1446<h2>What's new in this drop</h2>
1448<h3>Problem Reports Fixed</h3>
1449<a href="">357110</a>
1450Problem with inner classes referenced from jars or class folders: &quot;The type ... cannot be resolved&quot;
1451<br><a href="">357471</a>
1452ASTParser cannot resolve binding of PackageDeclaration if class name is equal to the first segment of the package name
Stephan Herrmann7d944ef2011-09-17 19:42:22 +00001454<a name="v_C10"></a>
1456Eclipse Platform Build Notes<br>
1457Java development tools core</h1>
1458Eclipse SDK 3.8.0 - September 13, 2011 - 3.8.0 M2
1459<br>Project org.eclipse.jdt.core v_C10
1460(<a href="">cvs</a>).
1461<h2>What's new in this drop</h2>
1463<h3>Problem Reports Fixed</h3>
1464<a href="">357259</a>
1465[dom] AST#newArrayType(Type, int) should allow array type as argument
1467<a name="v_C09"></a>
1469Eclipse Platform Build Notes<br>
1470Java development tools core</h1>
1471Eclipse SDK 3.8.0 - September 9, 2011
1472<br>Project org.eclipse.jdt.core v_C09
1473(<a href="">cvs</a>).
1474<h2>What's new in this drop</h2>
1476<h3>Problem Reports Fixed</h3>
1477<a href="">354332</a>
Stephan Herrmann6dcbb382011-10-25 16:30:31 +00001478DeltaProcessor exhibits O(N^2) behavior
Stephan Herrmann7d944ef2011-09-17 19:42:22 +00001479<br><a href="">355605</a>
1480NPE in HierarchyResolver
1481<br><a href="">347396</a>
1482ASTParser returns empty or partial AST if we parse the the body contains empty for loop
1483<br><a href="">356746</a>
1484ECJ accepts illegal unicode escape sequences
1485<br><a href="">337935</a>
1486Test failures when run as an IDE (org.eclipse.sdk.ide)
1488<a name="v_C08"></a>
1490Eclipse Platform Build Notes<br>
1491Java development tools core</h1>
1492Eclipse SDK 3.8.0 - September 6, 2011
1493<br>Project org.eclipse.jdt.core v_C08
1494(<a href="">cvs</a>).
1495<h2>What's new in this drop</h2>
1497<h3>Problem Reports Fixed</h3>
1498<a href="">356325</a>
1499[select] Open declaration on a constructor of a local class with type parameters doesn't work
1500<br><a href="">24804</a>
1501Organize imports wipes comments between statements [code manipulation]
1502<br><a href="">356363</a>
1503Many links to are broken
1504<br><a href="">346529</a>
1505Don't show &quot;The method * from the type * is never used locally&quot; warning for private methods annotated with standard annotations like @PostConstruct
Stephan Herrmann8cf34702011-09-03 16:15:54 +00001507<a name="v_C07"></a>
1509Eclipse Platform Build Notes<br>
1510Java development tools core</h1>
Stephan Herrmann7d944ef2011-09-17 19:42:22 +00001511Eclipse SDK 3.8.0 - August 30, 2011
Stephan Herrmann8cf34702011-09-03 16:15:54 +00001512<br>Project org.eclipse.jdt.core v_C07
1513(<a href="">cvs</a>).
1514<h2>What's new in this drop</h2>
1516<h3>Problem Reports Fixed</h3>
1517<a href="">356002</a>
1518VerifyError &quot;Inconsistent stackmap frames&quot; for switch-string statement with nested for-loop
1519<br><a href="">350095</a>
1520The 2000th (0-based) enum constant is null
1521<br><a href="">234074</a>
1522Compliance_1_5#test088 fails when launched with JRE 6 and -Dcompliance=1.5
1523<br><a href="">350612</a>
1524OutOfMemoryError while &quot;Initializing Java Tooling&quot;
1525<br><a href="">348024</a>
1526Empty AST for class with static inner class in a package with
1527<br><a href="">346010</a>
1528[model] strange initialization dependency in OptionTests
1529<br><a href="">353640</a>
1530AIOOBE in ParameterizedTypeBinding.substitute
Stephan Herrmann3df378f2011-08-25 12:46:17 +00001532<a name="v_C06"></a>
1534Eclipse Platform Build Notes<br>
1535Java development tools core</h1>
Stephan Herrmann8cf34702011-09-03 16:15:54 +00001536Eclipse SDK 3.8.0 - August 23, 2011
Stephan Herrmann3df378f2011-08-25 12:46:17 +00001537<br>Project org.eclipse.jdt.core v_C06
1538(<a href="">cvs</a>).
1539<h2>What's new in this drop</h2>
1541<h3>Problem Reports Fixed</h3>
1542<a href="">348507</a>
1543[search] Hyperlinks from the Java Stack Trace console should search the workspace in CLASSPATH order
1544<br><a href="">345949</a>
1545[compiler] Inconsistent name clash behavior vis-a-vis javac7
1546<br><a href="">354766</a>
1547Javadoc content does not appear in content assist info window for non-static inner class constructors
1548<br><a href="">353535</a>
1549Eclipse compiler generates wrong bytecode for nested try-with-resources statements
1550<br><a href="">354579</a>
1551Fup of bug 289247: Investigate validity of the fix vis-a-vis JLS.
1552<br><a href="">354078</a>
1553[dom] ASTConverter.removeTrailingCommentFromExpressionEndingWithAParen() ??
1555<a name="v_C05"></a>
1557Eclipse Platform Build Notes<br>
1558Java development tools core</h1>
1559Eclipse SDK 3.8.0 - August 16, 2011
1560<br>Project org.eclipse.jdt.core v_C05
1561(<a href="">cvs</a>).
1562<h2>What's new in this drop</h2>
1564<h3>Problem Reports Fixed</h3>
1565<a href="">354554</a>
1566[null] conditional with redundant condition yields weak error message
1567<br><a href="">354536</a>
1568compiling still depends on the order of compilation units
1569<br><a href="">292087</a>
1570anonymous class in array member initializer confuses content assist
1571<br><a href="">352412</a>
1572Switching on strings in 1.6- modes produces misleading message
1573<br><a href="">317719</a>
1574Method incorrectly flagged as having same erasure output when return type differs
Stephan Herrmanndd780c62011-08-13 11:41:32 +00001576<a name="v_C04"></a>
Stephan Herrmann44109d32011-08-02 14:34:26 +00001577<hr><h1>
1578Eclipse Platform Build Notes<br>
1579Java development tools core</h1>
Stephan Herrmann3df378f2011-08-25 12:46:17 +00001580Eclipse SDK 3.8.0 - August 9, 2011
Stephan Herrmanndd780c62011-08-13 11:41:32 +00001581<br>Project org.eclipse.jdt.core v_C04
1582(<a href="">cvs</a>).
Stephan Herrmann44109d32011-08-02 14:34:26 +00001583<h2>What's new in this drop</h2>
Stephan Herrmanndd780c62011-08-13 11:41:32 +00001585<li>Added a new API in BindingKey to return it's declaring type(see bug <a href="">351165</a> for details):
1588 * Returns the binding key of the declaring type of the element represented by this binding key. If the binding key
1589 * does not represent a member or if the member doesn't have a declaring type, returns <code>null</code>.
1590 *
Stephan Herrmanndd780c62011-08-13 11:41:32 +00001591 * Note that only binding keys for references to methods and fields
1592 * are fully supported. The binding keys for declarations will not have type parameters.
1593 *
1594 * @return the type binding key or <code>null</code>
1595 * @since 3.7.1
1596 */
1597public BindingKey getDeclaringType();
Stephan Herrmann44109d32011-08-02 14:34:26 +00001600</ul>
1602<h3>Problem Reports Fixed</h3>
Stephan Herrmanndd780c62011-08-13 11:41:32 +00001603<a href="">354052</a>
1604[1.7] NPE in org.eclipse.jdt.internal.compiler.ClassFile.traverse(
1605<br><a href="">346741</a>
1606[1.7][doc] Update doc when java 1.7 support is done
1607<br><a href="">353238</a>
1608[1.7] update unusedTypeArgs option description for the batch compiler
1609<br><a href="">353089</a>
1610[1.7][compiler] Incorrect name clash error with ecj
1611<br><a href="">351165</a>
1612[1.7] API to get the type arguments of the declaring type for constructor invocations
Stephan Herrmann44109d32011-08-02 14:34:26 +00001613
Stephan Herrmanndd780c62011-08-13 11:41:32 +00001614<a name="v_C03"></a>
Stephan Herrmann44109d32011-08-02 14:34:26 +00001615<hr><h1>
1616Eclipse Platform Build Notes<br>
1617Java development tools core</h1>
Stephan Herrmann3df378f2011-08-25 12:46:17 +00001618Eclipse SDK 3.8.0 - August 3, 2011 - 3.8.0 M1
Stephan Herrmanndd780c62011-08-13 11:41:32 +00001619<br>Project org.eclipse.jdt.core v_C03
1620(<a href="">cvs</a>).
Stephan Herrmann44109d32011-08-02 14:34:26 +00001621<h2>What's new in this drop</h2>
1623<h3>Problem Reports Fixed</h3>
Stephan Herrmanndd780c62011-08-13 11:41:32 +00001624<a href="">353553</a>
1625Rename to avoid translation
1626<br><a href="">353085</a>
1627[1.7] Cannot cast from Object to boolean
Stephan Herrmann44109d32011-08-02 14:34:26 +00001628
Stephan Herrmanndd780c62011-08-13 11:41:32 +00001629<a name="v_C02"></a>
Stephan Herrmann44109d32011-08-02 14:34:26 +00001630<hr><h1>
1631Eclipse Platform Build Notes<br>
1632Java development tools core</h1>
Stephan Herrmanndd780c62011-08-13 11:41:32 +00001633Eclipse SDK 3.8.0 - July 28, 2011
1634<br>Project org.eclipse.jdt.core v_C02
1635(<a href="">cvs</a>).
Stephan Herrmann44109d32011-08-02 14:34:26 +00001636<h2>What's new in this drop</h2>
1638<h3>Problem Reports Fixed</h3>
Stephan Herrmanndd780c62011-08-13 11:41:32 +00001639<a href="">353250</a>
1640[1.7] merging Java 7 work to HEAD
Stephan Herrmann44109d32011-08-02 14:34:26 +00001641
Stephan Herrmanndd780c62011-08-13 11:41:32 +00001642<a name="v_C01"></a>
Stephan Herrmann44109d32011-08-02 14:34:26 +00001643<hr><h1>
1644Eclipse Platform Build Notes<br>
1645Java development tools core</h1>
Stephan Herrmanndd780c62011-08-13 11:41:32 +00001646Eclipse SDK 3.8.0 - July 27, 2011
1647<br>Project org.eclipse.jdt.core v_C01
1648(<a href="">cvs</a>).
Stephan Herrmann44109d32011-08-02 14:34:26 +00001649<h2>What's new in this drop</h2>
Stephan Herrmanndd780c62011-08-13 11:41:32 +00001651<li>Bundle version has been incremented to 3.8.0.qualifier</li>
Stephan Herrmann44109d32011-08-02 14:34:26 +00001652<li>Added a new API in CompletionProposal to tell whether it diamond operator can be used (see bug <a href="">351444</a> for details):
Stephan Herrmann6dcbb382011-10-25 16:30:31 +00001655 * Returns whether it is safe to use the '&lt;&gt;' (diamond) operator in place of explicitly specifying
Stephan Herrmann44109d32011-08-02 14:34:26 +00001656 * type arguments for this proposal.
1657 *
1658 * This is only relevant for source level 1.7 or greater.
1659 *
1660 * @param coreContext the completion context associated with the proposal
Stephan Herrmanndd780c62011-08-13 11:41:32 +00001661 * @since 3.7.1
Stephan Herrmann44109d32011-08-02 14:34:26 +00001662 * @return <code>true</code> if it is safe to use the diamond operator for the constructor invocation,
1663 * <code>false</code> otherwise. Also returns <code>false</code> for source levels below 1.7
1664 */
1665public boolean canUseDiamond(CompletionContext coreContext);
Stephan Herrmann44109d32011-08-02 14:34:26 +00001668<li>New Javacore option org.eclipse.jdt.core.JavaCore.COMPILER_PB_REDUNDANT_TYPE_ARGUMENTS added to raise warning or error for redundant
1669usage of type arguments when diamond operator can be used instead. (see details in bug <a href="">340747</a>):
1671 /**
1672 * Compiler option ID: Reporting redundant specification of type arguments in class instance creation expressions.
1673 * When enabled, the compiler will issue an error or a warning if type arguments are used in a class instance creation,
Stephan Herrmann6dcbb382011-10-25 16:30:31 +00001674 * when the '&lt;&gt;' operator can be used instead.
Stephan Herrmann44109d32011-08-02 14:34:26 +00001675 *
1676 * This option only has an effect if the compiler compliance is 1.7 or greater.
1677 *
1678 * Option id:<code>"org.eclipse.jdt.core.compiler.problem.redundantSpecificationOfTypeArguments"</code>
1679 * Possible values:<code>{ "error", "warning", "ignore" }</code>
1680 * Default:<code>"ignore"</code>
1681 *
Stephan Herrmanndd780c62011-08-13 11:41:32 +00001682 * @since 3.7.1
Stephan Herrmann44109d32011-08-02 14:34:26 +00001683 * @category CompilerOptionID
1684 */
1685 public static final String COMPILER_PB_REDUNDANT_TYPE_ARGUMENTS = PLUGIN_ID + ".compiler.problem.redundantSpecificationOfTypeArguments";
1686 </pre>
1688<li>Added a new API in ClassInstanceCreation to tell whether the resolved type is inferred from the assignment context:
1689<br>(see bug <a href="">350897</a> for details):
1691 /**
1692 * Returns <code>true</code> if the resolved class type has been inferred
1693 * from the assignment context (JLS4, <code>false</code> otherwise.
1694 *
1695 * This information is available only when bindings are requested when the AST is being built.
1696 *
1697 * @return <code>true</code> if the resolved class type has been inferred
1698 * from the assignment context (JLS3, <code>false</code> otherwise
Stephan Herrmanndd780c62011-08-13 11:41:32 +00001699 * @since 3.7.1
Stephan Herrmann44109d32011-08-02 14:34:26 +00001700 */
1701 public boolean isResolvedTypeInferredFromExpectedType();
Stephan Herrmanndd780c62011-08-13 11:41:32 +00001705
Stephan Herrmann44109d32011-08-02 14:34:26 +00001706<h3>Problem Reports Fixed</h3>
Stephan Herrmanndd780c62011-08-13 11:41:32 +00001707<a href="">342936</a>
1708NPEs and inconsistencies when running jdt.compiler.tool.tests against Java 7
1709<br><a href="">351426</a>
1710[1.7][code assist] CompletionContext.getExpectedTypesKeys() returns wrong type
1711<br><a href="">353137</a>
1712[1.7] Make sure TagBits.AnnotationSafeVarargs and AnnotationPolymorphicSignature are handled everywhere
1713<br><a href="">353093</a>
1714IMethod#getAnnotations() doesn't return @SafeVarargs of java.util.Arrays#asList(T...)
1715<br><a href="">352464</a>
1716[1.7] Incorrect Javadoc shown for reference of invokeExact
1717<br><a href="">351498</a>
1718[model]java.util.ConcurrentModificationException upon startup
1719<br><a href="">352699</a>
1720[1.7][compiler] Improve error range for redundant type parameter warning
1721<br><a href="">352665</a>
1722[1.6][compiler] Internal compiler Error: ArrayIndexOutOfBoundsException when compiling certain classes with outer access error
1723<br><a href="">352553</a>
1724[1.7] 'char a\u200b' is being accepted in 1.6 mode
1725<br><a href="">352496</a>
1726tests using wrong version of JCL
1727<br><a href="">300576</a>
1728NPE Computing type hierarchy when compliance doesn't match libraries
1729<br><a href="">352145</a>
1730[1.7][compiler] VerifyError with aload0 being involved into ConditionalExpression
1731<br><a href="">351965</a>
1732[1.7] CCE when using diamond in 1.4
1733<br><a href="">351444</a>
1734[1.7][content assist] Need to know whether I can use diamond
1735<br><a href="">352014</a>
1736\u1369 no longer accepted as a valid java identifier part
1737<br><a href="">351653</a>
1738[1.7][compiler]: VerifyError in try statement with finally and return statements
1739<br><a href="">340747</a>
Stephan Herrmann44109d32011-08-02 14:34:26 +00001740[1.7][compiler] compiler option to warn when diamond can be used, but type args are used instead.
1741<br><a href="">350895</a>
1742[1.7][formatter] New option to wrap before/after '|' in multi-catch
1743<br><a href="">350652</a>
1744[1.7][assist] Completion issues with multicatch (FUP of 343637)
Stephan Herrmann44109d32011-08-02 14:34:26 +00001745<br><a href="">347503</a>
1746[DOM] ASTParser.setEnvironment() ignores includeRunningVMBootclasspath parameter
1747<br><a href="">350897</a>
1748[1.7][api] ClassInstanceCreation#isResolvedTypeInferredFromExpectedType()
1749<br><a href="">351170</a>
1750[1.7] ASTRewrite issues in Try with resources
1751<br><a href="">348493</a>
1752[1.7] Improve error msg for Diamond operator in 1.5 mode
Stephan Herrmanndd780c62011-08-13 11:41:32 +00001753<br><a href="">350885</a>
Stephan Herrmann44109d32011-08-02 14:34:26 +00001754[Search] The pull up refactoring throws an NPE when pulling up a member that already exists in the superclass
1755<br><a href="">350611</a>
1756[1.7] Inconsistent error msg and error location for illegal diamond
1757<br><a href="">350579</a>
1758[1.7][compiler] VerifyError running example from bug 338402 comment 5
1759<br><a href="">350767</a>
1760[1.7][assist] CCE while invoking assist on a multi-catch block
Stephan Herrmanndd780c62011-08-13 11:41:32 +00001761<br><a href="">349312</a>
Stephan Herrmann44109d32011-08-02 14:34:26 +00001762[1.7][compiler] improved problem messages
1763<br><a href="">350003</a>
1764[1.7] [compiler] AnnotationPolymorphicSignature tag is not being set to invokeExact while compiling MethodHandle source file
1765<br><a href="">350496</a>
1766[1.7] @PolymorphicSignature IMethods are missing the annotation
1767<br><a href="">349314</a>
1768[1.7][formatter] Line wrapping for multi-catch arguments
1769<br><a href="">350039</a>
1770[1.7] ASTParser#createASTs(..) doesn't resolve IMethodBinding for @PolymorphicSignature method reference
1771<br><a href="">349396</a>
1772[1.7][formatter] Line wrapping and indentation options for try with resources
1773<br><a href="">350361</a>
1774[1.7] Unhandled exception type Exception
Stephan Herrmanndd780c62011-08-13 11:41:32 +00001775<br><a href="">349488</a>
Stephan Herrmann44109d32011-08-02 14:34:26 +00001776[1.7] IMethodBinding#getMethodDeclaration() should return the declaration of @PolymorphicSignature methods
1777<br><a href="">349487</a>
1778[1.7] IMethodBinding#getJavaElement() returns inexistent element for @PolymorphicSignature methods
1779<br><a href="">349862</a>
1780[1.7] NPE when trying to use UnionType as TryStatement resource
1781<br><a href="">349864</a>
1782[1.7][compiler] Error message considers AutoCloseable as class
Stephan Herrmanndd780c62011-08-13 11:41:32 +00001783<br><a href="">348956</a>
Stephan Herrmann44109d32011-08-02 14:34:26 +00001784[1.7] ITypeBinding#isAssignmentCompatible(ITypeBinding) returns different result
1785<br><a href="">349312</a>
1786[1.7][compiler] improved problem messages
1787<br><a href="">349008</a>
1788[1.7] Ugly formatting for try with resources
1789<br><a href="">349072</a>
1790[1.7] &quot;Cannot infer elided type(s)&quot; sounds too elite
1791<br><a href="">348705</a>
1792[1.7][compiler] Improve error message for unhandled IOException generated due to compiler-generated close()
Stephan Herrmanndd780c62011-08-13 11:41:32 +00001793<br><a href="">348050</a>
Stephan Herrmann44109d32011-08-02 14:34:26 +00001794[1.7] Error in JDT Core during AST creation
1795<br><a href="">348406</a>
1796[1.7] Incorrect error msg on try with resources in 1.5 mode
1797<br><a href="">348492</a>
1798[1.7] Improve error msg on strings in switch in 1.5 mode
1799<br><a href="">348491</a>
1800[1.7] Rename IProblem.IllegalBinaryLiteral to BinaryLiteralNotBelow17 and IProblem.IllegalUsageOfUnderscore to UnderscoreInLiteralsNotBelow17
1801<br><a href="">348369</a>
1802[1.7] Missing error &quot;No exception of type Exception[] can be thrown&quot;
1803<br><a href="">348379</a>
1804[1.7][compiler] Null pointer access warning for strings in switch
1805<br><a href="">346415</a>
1806[1.7][assist] No proposal inside catch statement from 3rd catch block onwards
1807<br><a href="">346454</a>
1808[1.7][content assist]Getting NegativeArraySizeException while trying content assist after diamond
1809<br><a href="">347600</a>
1810[1.7][compiler] Suspect bounds check failure after inference.
1811<br><a href="">347746</a>
1812[1.7][compiler] Bounds check failure during method inference
1813<br><a href="">283353</a>
1814[1.5][compiler] Eclipse compiler shows error on javac-valid construct: Bound mismatch
1815<br><a href="">347145</a>
1816[1.7][compiler] Bounds check issue with raw types in method inference
1817<br><a href="">347426</a>
1818[1.7][compiler] ecj behavior differs from javac
1819<br><a href="">344522</a>
1820[1.7] Incorrect source range for ParameterizedType in case of Diamond
1821<br><a href="">341795</a>
1822[1.7][compiler] Cannot assign a generic method with multiple bounds return value to any variable
1823<br><a href="">242159</a>
1824[1.7][compiler] type inference with unbounded wildcard in result type
1825<br><a href="">343693</a>
1826[1.7] Adjust subclasses of AllocationExpression for &lt;&gt; support
1827<br><a href="">343637</a>
1828[1.7] Already used exception offered again in a Mulicatch block
1829<br><a href="">345968</a>
1830[1.7][compiler] NPE while using diamond for inner class allocation
1831<br><a href="">334313</a>
1832[1.5][compiler] Bug in the way eclipse handles overriding of generic abstract method by a non-abstract method
Stephan Herrmann44109d32011-08-02 14:34:26 +00001833<br><a href="">346029</a>
1834[1.7][compiler] Eclipse compiles code rejected by JDK7
1835<br><a href="">345628</a>
1836[1.7] Rename disjunctive type to union type
1837<br><a href="">345559</a>
1838[1.7][compiler] Type inference for generic allocation can be avoided for invalid constructor
1839<br><a href="">342819</a>
1840Code rejected by javac with name clash error compiles under eclipse.
1841<br><a href="">334306</a>
1842[1.7][compiler] name clash reported in javac 1.7 and not in javac 1.6
1843<br><a href="">345579</a>
1844[1.7][compiler] Weird error message in rethrow site
Stephan Herrmann44109d32011-08-02 14:34:26 +00001845<br><a href="">345522</a>
1846[1.7][compiler] Compilers fails to compute precisely rethrown types
Stephan Herrmann44109d32011-08-02 14:34:26 +00001847<br><a href="">344824</a>
1848[1.7][compiler] Incorrect error range for unreachable catch block error in multi-catch
1849<br><a href="">340486</a>
1850[1.7][compiler] Missing error in multi catch scenario
1851<br><a href="">345359</a>
1852[1.7][compiler] AIOOB on diamond construct with argument error
1853<br><a href="">345239</a>
1854[1.7][compiler] Compiler should issue better diagnostics for use of &lt;&gt; with anonymous classes
Stephan Herrmann44109d32011-08-02 14:34:26 +00001855<br><a href="">344655</a>
1856[1.7][compiler] Prohibit use of &lt;&gt; with explicit type arguments to generic constructor
Stephan Herrmanndd780c62011-08-13 11:41:32 +00001857<br><a href="">328575</a>
Stephan Herrmann44109d32011-08-02 14:34:26 +00001858Inheritance of annotation fails with generic classes
Stephan Herrmanndd780c62011-08-13 11:41:32 +00001859<br><a href="">343785</a>
Stephan Herrmann44109d32011-08-02 14:34:26 +00001860[1.7] Incorrect line numbers in stack trace with try with resources
Stephan Herrmann44109d32011-08-02 14:34:26 +00001861<br><a href="">343687</a>
1862[1.7] IAE in NumberLiteral#setToken(String) for binary tokens and tokens with underscore
1863<br><a href="">339478</a>
1864[1.7][compiler] support for diamond case
Stephan Herrmann44109d32011-08-02 14:34:26 +00001865<br><a href="">343476</a>
1866[1.7][assist] propose String variables and fields inside catch expression
1867<br><a href="">292087</a>
1868anonymous class in array member initializer confuses content assist
1869<br><a href="">343475</a>
1870[1.7] Compiler warning for invalid type inside switch needs to be improved
Stephan Herrmann44109d32011-08-02 14:34:26 +00001871<br><a href="">342416</a>
1872[1.7] Signature#createIntersectionTypeSignature(..) should take array of signatures
1873<br><a href="">340059</a>
1874[1.7] IAE when dealing with Signature of disjunctive type
Stephan Herrmanndd780c62011-08-13 11:41:32 +00001875<br><a href="">338789</a>
Stephan Herrmann44109d32011-08-02 14:34:26 +00001876[1.7][assist] No proposal inside a multi catch statement after '|'
1877<br><a href="">341333</a>
1878[1.7][compiler] DisjunctiveTypeReference#resolveType(..) does not set the value for DisjunctiveTypeReference$resolvedType
1879<br><a href="">340634</a>
1880[1.7][compiler][multicatch] Compiler accepts type variables as catch parameter type
Stephan Herrmann44109d32011-08-02 14:34:26 +00001881<br><a href="">340626</a>
1882[1.7][compiler] Inconsistent source pinpointing in multi-catch blocks
1883<br><a href="">340513</a>
1884[1.7][compiler] Unicode 6.0 characters work at compiler compliance level 1.5 and 1.6
1885<br><a href="">340445</a>
1886[1.7] ASTRewriteAnalyzer and ASTRewriteFlattener need updates
Stephan Herrmann44109d32011-08-02 14:34:26 +00001887<br><a href="">340372</a>
1888[1.7] NaiveASTFlattener needs to support the new AST nodes
1889<br><a href="">340365</a>
1890[1.7] Problems in new APIs (TryStatementWithResources, DisjunctiveType)
1891<br><a href="">340375</a>
1892[1.7] Merge TryStatementWithResources into TryStatement
Stephan Herrmann44109d32011-08-02 14:34:26 +00001893<br><a href="">340022</a>
1894[1.7][compiler] Support for precise rethrow
Stephan Herrmann44109d32011-08-02 14:34:26 +00001895<br><a href="">339837</a>
1896[1.7][compiler] Multicatch syntax not rejected at 1.6-
Stephan Herrmann44109d32011-08-02 14:34:26 +00001897<br><a href="">339864</a>
1898[1.7] Add recovery in ASTConverter for all new constructs in JLS3 mode
1899<br><a href="">338402</a>
1900[1.7][compiler][enh] Open issues in try with resources implementation
Stephan Herrmann44109d32011-08-02 14:34:26 +00001901<br><a href="">337795</a>
1902[1.7][compiler] Missing unchecked warning at varargs method/ctor declaration site
1903<br><a href="">337802</a>
1904[1.7][compiler] Usage of 0x0ffffffff is being reported as out of range.
Stephan Herrmann44109d32011-08-02 14:34:26 +00001905<a href="">337799</a>
1906[1.7][compiler][varargs] Eclipse fails to report error on incorrect SafeVarargs usage
1907<br><a href="">337738</a>
1908[1.7][content assist]Test CompletionParserTest#testEA_1 fails
Stephan Herrmann44109d32011-08-02 14:34:26 +00001909<br><a href="">336782</a>
1910[1.7][recovery]Extra error tokens with invalid unary operator
Stephan Herrmann44109d32011-08-02 14:34:26 +00001911<br><a href="">336322</a>
1912[1.7][search]CCE while searching for a type reference in multiple catch parameters
Stephan Herrmann7b7062f2010-04-01 19:56:59 +00001913
Stephan Herrmann66cc2b62010-09-26 15:38:59 +00001915<p>For earlier build notes, also see <a href="">build notes up to Release 3.6</a>.</p>
Stephan Herrmann7b7062f2010-04-01 19:56:59 +00001916<br>
1917 <p>
1918 <a href=""><img
1919 src=""
1920 alt="Valid HTML 4.01 Transitional" height="31" width="88"></a>
1921 </p>