blob: 6ca636e0ba86a584c500d054d06a61e5036f6b28 [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.3</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.3 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.3 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 <!--
29 This present document covers all changes since Release 3.0 (also see a summary of <a href="">API changes</a>).
30 Older changes which occurred up to Release 3.0 can be found in
31 <a href="">build notes R2.1</a>.
32 -->
33 This present document covers all changes since Release 3.2 (also see a summary of <a href="">API changes</a>).
34 <br>Maintenance of previous releases of JDT/Core is performed in parallel branches:
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>
45<a name="v_771"></a>
47Eclipse Platform Build Notes<br>
48Java development tools core</h1>
49Eclipse SDK 3.3 - June 21, 2007 - 3.3 RELEASE
50<br>Project org.eclipse.jdt.core v_771
51(<a href="">cvs</a>).
52<h2>What's new in this drop</h2>
54<h3>Problem Reports Fixed</h3>
55<a href="">193570</a>
56add eclipse.inf to top level directory of jdt.core
58<a name="v_770"></a>
60Eclipse Platform Build Notes<br>
61Java development tools core</h1>
62Eclipse SDK 3.3RC4 - June 5, 2007 - 3.3 RELEASE CANDIDATE 4
63<br>Project org.eclipse.jdt.core v_770
64(<a href="">cvs</a>).
65<h2>What's new in this drop</h2>
67<h3>Problem Reports Fixed</h3>
68<a href="">190748</a>
69[1.5][compiler] AbstractMethodError on derived implementation of derived Interface declaration
70<br><a href="">189933</a>
71[compiler][1.5] extraneous ambiguous constructor error on generics
73<a name="v_769"></a>
75Eclipse Platform Build Notes<br>
76Java development tools core</h1>
77Eclipse SDK 3.3RC4 - June 4, 2007
78<br>Project org.eclipse.jdt.core v_769
79(<a href="">cvs</a>).
80<h2>What's new in this drop</h2>
82<h3>Problem Reports Fixed</h3>
83<a href="">190493</a>
84[1.6][compiler] Compiling for 1.6 should not require compiler to run on 1.6 itself
87<a name="v_768"></a>
89Eclipse Platform Build Notes<br>
90Java development tools core</h1>
91Eclipse SDK 3.3RC3 - May 30, 2007 - 3.3 RELEASE CANDIDATE 3
92<br>Project org.eclipse.jdt.core v_768
93(<a href="">cvs</a>).
94<h2>What's new in this drop</h2>
96<h3>Problem Reports Fixed</h3>
97<a href="">189547</a>
98Possible resource leak in org.eclipse.jdt.internal.compiler.parser.Parser
99<br><a href="">189852</a>
100[perfs] Too many JDT/Core performance tests in fingerprints
102<a name="v_767"></a>
104Eclipse Platform Build Notes<br>
105Java development tools core</h1>
106Eclipse SDK 3.3RC3 - May 29, 2007
107<br>Project org.eclipse.jdt.core v_767
108(<a href="">cvs</a>).
109<h2>What's new in this drop</h2>
111<h3>Problem Reports Fixed</h3>
112<a href="">189456</a>
113Formatter is slow on big files
114<br><a href="">188105</a>
115org.eclipse.jdt.apt.pluggable.core imported as source does not compile
117<a name="v_766"></a>
119Eclipse Platform Build Notes<br>
120Java development tools core</h1>
121Eclipse SDK 3.3RC2 - May 25, 2007 - 3.3 RELEASE CANDIDATE 2
122<br>Project org.eclipse.jdt.core v_766
123(<a href="">cvs</a>).
124<h2>What's new in this drop</h2>
126<li>The new API <code>ToolFactory#createCodeFormatter(Map options, int mode)</code> allows to specify whether the code
127 formatter is going to format new code or existing code.</li>
130<h3>Problem Reports Fixed</h3>
131<a href="">188960</a>
132[1.5][compiler]Do not detect duplicate constructors in a ParameterizedType
133<br><a href="">185928</a>
134New Formatter Option &quot;Never indent comments on first column&quot; breaks formatting of auto generated bodies
136<a name="v_765"></a>
138Eclipse Platform Build Notes<br>
139Java development tools core</h1>
140Eclipse SDK 3.3RC2 - May 24, 2007
141<br>Project org.eclipse.jdt.core v_765
142(<a href="">cvs</a>).
143<h2>What's new in this drop</h2>
145<h3>Problem Reports Fixed</h3>
146<a href="">172820</a>
147Hard-coded class libraries names in org/eclipse/jdt/core/tests/util/
148<br><a href="">188741</a>
149[1.5][compiler] Incorrect ambiguous method error with inherited raw type
150<br><a href="">188247</a>
151[content assist] Code Completion for static importing fields not working
154<a name="v_764"></a>
156Eclipse Platform Build Notes<br>
157Java development tools core</h1>
158Eclipse SDK 3.3RC2 - May 23, 2007
159<br>Project org.eclipse.jdt.core v_764
160(<a href="">cvs</a>).
161<h2>What's new in this drop</h2>
163<h3>Problem Reports Fixed</h3>
164<a href="">188648</a>
165ECJ compiler fails to find boot classes on Harmony
166<br><a href="">188656</a>
167[perfs] 2% regression on some Batch Compiler tests since v_756
168<br><a href="">188136</a>
169[javadoc][assist] Errors in org.eclipse.jdt.ui.JavaTypeCompletionProposalComputer
170<br><a href="">188127</a>
171[test] Some tests fail on Harmony
172<br><a href="">162054</a>
173[build] Got a failure on MultiProjectTests.testCycle5 on my speedy test box...
174<br><a href="">188103</a>
175[1.5][compiler] Inappropriate usage of HashSet
177<a name="v_763"></a>
179Eclipse Platform Build Notes<br>
180Java development tools core</h1>
181Eclipse SDK 3.3RC1 - May 16, 2007 - 3.3 RELEASE CANDIDATE 1
182<br>Project org.eclipse.jdt.core v_763
183(<a href="">cvs</a>).
184<h2>What's new in this drop</h2>
186<h3>Problem Reports Fixed</h3>
187<a href="">187329</a>
188compilation error constants created with static methods
189<br><a href="">187223</a>
190CompletionTestsRequestor2.getReversedResults has incorrect comparator
192<a name="v_762"></a>
194Eclipse Platform Build Notes<br>
195Java development tools core</h1>
196Eclipse SDK 3.3RC1 - May 16, 2007
197<br>Project org.eclipse.jdt.core v_762
198(<a href="">cvs</a>).
199<h2>What's new in this drop</h2>
201<h3>Problem Reports Fixed</h3>
202<a href="">133141</a>
203Must JavaCore.create(IFile) always do full checks?
205<a name="v_761"></a>
207Eclipse Platform Build Notes<br>
208Java development tools core</h1>
209Eclipse SDK 3.3RC1 - May 15, 2007
210<br>Project org.eclipse.jdt.core v_761
211(<a href="">cvs</a>).
212<h2>What's new in this drop</h2>
214<h3>Problem Reports Fixed</h3>
215<a href="">183338</a>
216[perfs] Too many JDT/Core performance tests are yellow
217<br><a href="">186833</a>
218[1.5][compiler] Should detect member supertype cycle when resolved thru static import
219<br><a href="">186382</a>
220[1.5][compiler] Ambiguous method call error reported on a demonstrably unambiguous call
221<br><a href="">186749</a>
222CCE in Scope.findMemberType
224<a name="v_760"></a>
226Eclipse Platform Build Notes<br>
227Java development tools core</h1>
228Eclipse SDK 3.3RC1 - May 15, 2007
229<br>Project org.eclipse.jdt.core v_760
230(<a href="">cvs</a>).
231<h2>What's new in this drop</h2>
233<h3>Problem Reports Fixed</h3>
234<a href="">177922</a>
235FlexibleProjectContainer refresh logic sporadically leaves project with &quot;missing library&quot; error on rename/delete
237<a name="v_759"></a>
239Eclipse Platform Build Notes<br>
240Java development tools core</h1>
241Eclipse SDK 3.3RC1 - May 14, 2007
242<br>Project org.eclipse.jdt.core v_759
243(<a href="">cvs</a>).
244<h2>What's new in this drop</h2>
246<h3>Problem Reports Fixed</h3>
247<a href="">185576</a>
248[javadoc][assist] Type parameters should not be proposed while completing in @link or @see reference
249<br><a href="">143026</a>
250[ast rewrite] Clean up parantheses are not recognizing comment //
252<a name="v_758"></a>
254Eclipse Platform Build Notes<br>
255Java development tools core</h1>
256Eclipse SDK 3.3RC1 - May 11, 2007
257<br>Project org.eclipse.jdt.core v_758
258(<a href="">cvs</a>).
259<h2>What's new in this drop</h2>
261<h3>Problem Reports Fixed</h3>
262<a href="">168208</a>
263Renaming classes from lowercase to uppercase results in an error
264<br><a href="">186181</a>
2651.5 compiler does not understand class files built by -target jsr14
266<br><a href="">186415</a>
267[search] Search for package declarations should not return duplicate elements
268<br><a href="">185129</a>
269NPE in LocalVariableBinding.computeUniqueKey
270<br><a href="">185119</a>
271[search] TypeNameMatch must specify that it could not be overridden by clients
272<br><a href="">184546</a>
273[compiler][null] Spurious redundant null check warning in finally when the class has a static field
275<a name="v_757"></a>
277Eclipse Platform Build Notes<br>
278Java development tools core</h1>
279Eclipse SDK 3.3RC1 - May 10, 2007
280<br>Project org.eclipse.jdt.core v_757
281(<a href="">cvs</a>).
282<h2>What's new in this drop</h2>
284<h3>Problem Reports Fixed</h3>
285<a href="">185306</a>
286Help with fields and methods on binary super types with unresolved references
287<br><a href="">185950</a>
288[performance] opening class file without source attachement is too slow
289<br><a href="">186189</a>
290NPE trying to open the following class using the ASTView
291<br><a href="">173944</a>
292cannot cancel build
293<br><a href="">185182</a>
294Fup of 126712, the two regressions tests in RuntimeTests should be rewritten
295<br><a href="">185733</a>
296Refreshing external jar doesn't update problem marker
297<br><a href="">143025</a>
298[build path] Derived attribute on default output folder of Java project doesn't work
300<a name="v_756"></a>
302Eclipse Platform Build Notes<br>
303Java development tools core</h1>
304Eclipse SDK 3.3RC1 - May 7, 2007
305<br>Project org.eclipse.jdt.core v_756
306(<a href="">cvs</a>).
307<h2>What's new in this drop</h2>
309<h3>Problem Reports Fixed</h3>
310<a href="">185787</a>
311[1.5][compiler] Missing unnecessary cast diagnosis
312<br><a href="">154693</a>
313project clean &amp; build sometimes copies subversion .svn folders to bin tree
314<br><a href="">84886</a>
315[compiler] compiled code wrong with ambiguous inner classes
316<br><a href="">185768</a>
317[1.6][compiler] Enabling apt by default in batch mode
318<br><a href="">185567</a>
319[compiler] dead bytecodes are generated inside optimized boolean condition
320<br><a href="">162965</a>
321[compiler] dead bytecodes are generated inside conditional expressions
322<br><a href="">185310</a>
323Removing internal jar referenced from another project doesn't update Package Explorer
325<a name="v_755"></a>
327Eclipse Platform Build Notes<br>
328Java development tools core</h1>
329Eclipse SDK 3.3M7 - May 2, 2007 - 3.3 MILESTONE 7
330<br>Project org.eclipse.jdt.core v_755
331(<a href="">cvs</a>).
332<h2>What's new in this drop</h2>
334<h3>Problem Reports Fixed</h3>
335<a href="">156731</a>
336[compiler] Improve compiler fault-tolerance
337<br><a href="">184957</a>
338[1.5][compiler] Compiler crash
340<a name="v_754"></a>
342Eclipse Platform Build Notes<br>
343Java development tools core</h1>
344Eclipse SDK 3.3M7 - April 30, 2007
345<br>Project org.eclipse.jdt.core v_754
346(<a href="">cvs</a>).
347<h2>What's new in this drop</h2>
349<h3>Problem Reports Fixed</h3>
350<a href="">184293</a>
351Unnecessary inherited method errors reported against subtypes
353<a name="v_753"></a>
355Eclipse Platform Build Notes<br>
356Java development tools core</h1>
357Eclipse SDK 3.3M7 - April 28, 2007
358<br>Project org.eclipse.jdt.core v_753
359(<a href="">cvs</a>).
360<h2>What's new in this drop</h2>
362<h3>Problem Reports Fixed</h3>
363<a href="">165783</a>
364[ast rewrite] Import declaration static property can not be set correctly
366<a name="v_752"></a>
368Eclipse Platform Build Notes<br>
369Java development tools core</h1>
370Eclipse SDK 3.3M7 - April 27, 2007
371<br>Project org.eclipse.jdt.core v_752
372(<a href="">cvs</a>).
373<h2>What's new in this drop</h2>
375<h3>Problem Reports Fixed</h3>
376<a href="">175409</a>
377method reference contains generic method binding
379<a name="v_751"></a>
381Eclipse Platform Build Notes<br>
382Java development tools core</h1>
383Eclipse SDK 3.3M7 - April 26, 2007
384<br>Project org.eclipse.jdt.core v_751
385(<a href="">cvs</a>).
386<h2>What's new in this drop</h2>
388<h3>Problem Reports Fixed</h3>
389<a href="">180713</a>
390Anonymous type rendered as number in hover
391<br><a href="">182154</a>
392Java search gives no results on workspace with multiple projects
393<br><a href="">144776</a>
394JavaProject.resetCaches() needs to reset dependent projects
395<br><a href="">179011</a>
396IType#getMethod(..) should not throw AFE when name contains dot
397<br><a href="">162104</a>
398NPE in PackageExplorerContentProvider.getPackageFragmentRoots()
399<br><a href="">158985</a>
400Code completion engine hints annotations on wrong places
401<br><a href="">183833</a>
402NPE in latest build
403<br><a href="">183413</a>
404PDE can't find the source for plug-ins in the target
405<br><a href="">184102</a>
406[1.6][compiler] Inconsistent stackmap frame generated for static initializer of enums containing overridden methods
407<br><a href="">146556</a>
408Should refactor boolean fields into bits
409<br><a href="">49314</a>
410comments formatted even if &quot;Enable comment formatting&quot; is disabled
411<br><a href="">20793</a>
412[formatter] The code formatter indent left aligned comments
413<br><a href="">180905</a>
414Tweaks to recovered bindings
415<br><a href="">183216</a>
416[1.5][compiler] Cannot refer to a generic member type using a non static subclass of the enclosing type
418<a name="v_750"></a>
420Eclipse Platform Build Notes<br>
421Java development tools core</h1>
422Eclipse SDK 3.3M7 - April 24, 2007
423<br>Project org.eclipse.jdt.core v_750
424(<a href="">cvs</a>).
425<h2>What's new in this drop</h2>
427<h3>Problem Reports Fixed</h3>
428<a href="">182930</a>
429JavaModelCache's size grows when displaying type hierarchy
430<br><a href="">183062</a>
431[search] OutOfMemoryError during rename refactoring
432<br><a href="">79068</a>
433[formatter] Need option to control line wrapping before/after operators
434<br><a href="">180789</a>
435[1.5][compiler] invalid incompatible return type error
436<br><a href="">183538</a>
437Not getting @Inherited annotation on annotation types from binary
438<br><a href="">183468</a>
439NPE trying to call isDefault() on the MemberValuePairBinding corresponding to array=1
440<br><a href="">183395</a>
441Fup of bug 144858, internal error is thrown for wrong exception type in catch clause
442<br><a href="">181349</a>
443ArrayIndexOutOfBoundsException while editing Java code
444<br><a href="">182485</a>
445Missing translation files in JDT plug-ins
446<br><a href="">161175</a>
447JarPackageFragmentRoot slow to initialize
448<br><a href="">182204</a>
449Deleting a JRE referenced by container does not result in unbound container problem
450<br><a href="">162370</a>
451MethodVerifier#areReturnTypesEqual is a misnomer
453<a name="v_749"></a>
455Eclipse Platform Build Notes<br>
456Java development tools core</h1>
457Eclipse SDK 3.3M7 - April 17, 2007
458<br>Project org.eclipse.jdt.core v_749
459(<a href="">cvs</a>).
460<h2>What's new in this drop</h2>
462<h3>Problem Reports Fixed</h3>
463<a href="">118217</a>
464Compiler error/warning option 'Parameter is never read' produces a lot of false-positives
465<br><a href="">181393</a>
466DefaultASTVisitor doesn't override all methods
467<br><a href="">145329</a>
468[scaling] Unable to locate source in monster workspace
469<br><a href="">177174</a>
470[assist] Wrong names are proposed as unresolved local variable
471<br><a href="">181727</a>
472[perfs] JDT/Core performances tests last too long on slowest releng test boxes
473<br><a href="">180109</a>
474[compiler] JDT Throws ClassCastException on incremental build
475<br><a href="">177819</a>
476Jar files added to a plugin are ignored
478<a name="v_748"></a>
480Eclipse Platform Build Notes<br>
481Java development tools core</h1>
482Eclipse SDK 3.3M7 - April 10, 2007
483<br>Project org.eclipse.jdt.core v_748
484(<a href="">cvs</a>).
485<h2>What's new in this drop</h2>
487<h3>Problem Reports Fixed</h3>
488<a href="">181269</a>
489Deleting secondary type is not detected
490<br><a href="">179684</a>
491&quot;Reconcile editor change&quot; perf test is getting slower
492<br><a href="">180683</a>
493codeSelect does not work in unicode names like \u0042
494<br><a href="">181270</a>
495[1.5][compiler] Class literal of array of type parameter should be rejected
496<br><a href="">178551</a>
497[index] Deadlock when doing Type Hierarchy while updating a large workspace
498<br><a href="">180524</a>
499NPE in ITypeBinding#createArrayType(..) on anonymous type
501<a name="v_747"></a>
503Eclipse Platform Build Notes<br>
504Java development tools core</h1>
505Eclipse SDK 3.3M7 - April 3, 2007
506<br>Project org.eclipse.jdt.core v_747
507(<a href="">cvs</a>).
508<h2>What's new in this drop</h2>
510<h3>Problem Reports Fixed</h3>
511<a href="">178213</a>
512Compilation Unit not shown in Package Explorer after a rename
513<br><a href="">180471</a>
514[compiler] Unoptimal code generation for for-loops when no continuation point
515<br><a href="">176320</a>
516Non linear progress in open type dialog
517<br><a href="">176472</a>
518[compiler][null] extraneous error in case of a labeled while(true) statement
519<br><a href="">166963</a>
520[compiler] resolve binding for local variable in ConstructorInvocation
521<br><a href="">179630</a>
522Compiler parsing tests fail with IBM J2SE 1.4.2, 5.0, and 6.0 (early access)
523<br><a href="">151787</a>
524[compiler] compiler allows assignment to final field in constructor other than through 'this'
525<br><a href="">178499</a>
526[perfs] JDT/Core model performances tests must be improved
527<br><a href="">180169</a>
528Add protection against missbehaving container (returning null entries)
529<br><a href="">180046</a>
530patch to antadapter eclipse.inf
531<br><a href="">166449</a>
532Don't abort build when CompilationParticipants fix classpath
533<br><a href="">179529</a>
534Stop Eclipse takes a lot of time in case of big workspace
535<br><a href="">179000</a>
536[code assist] run() should not be a valid proposal inside the scrapbook page
537<br><a href="">169728</a>
538[1.5][compiler] WildcardBinding.boundCheck coding error
539<br><a href="">179056</a>
540[compiler] Compiler gives misleading Range for invisible field
541<br><a href="">179699</a>
542type.newTypeHierarchy doesn't cancel
543<br><a href="">179672</a>
544[assist] Only one assertion method should be called by completion parser test
545<br><a href="">174445</a>
546[1.5][compiler] missing unchecked conversion warning upon parametrized method
547<br><a href="">179258</a>
548simple reconcile starts problem finder - main thread waiting
549<br><a href="">179477</a>
550[compiler] problem in first element of array initializer suppresses further problems
552<a name="v_746"></a>
554Eclipse Platform Build Notes<br>
555Java development tools core</h1>
556Eclipse SDK 3.3M7 - March 27, 2007
557<br>Project org.eclipse.jdt.core v_746
558(<a href="">cvs</a>).
559<h2>What's new in this drop</h2>
561<h3>Problem Reports Fixed</h3>
562<a href="">179199</a>
563[search] Open type throws NPE during Items filtering
564<br><a href="">178895</a>
565[compiler][null] A for-each loop changes its value on each iterator but the null pointer analysis is not taking that into consideration
566<br><a href="">177863</a>
567[compiler][null] Spurious null pointer warning in finally block (involving def. unknown)
568<br><a href="">179065</a>
569[DOM] Test coverage for IMemberValuePairBinding methods must be improved
570<br><a href="">179042</a>
571[DOM] Implementation of IBinding.getModifiers() should return Modifier.NONE when no modifiers are available
572<br><a href="">178861</a>
573Executing run() in a scrapbook page leads to a NPE
574<br><a href="">178039</a>
575Separate advanced verbose for container and variable initialization from regular verbose
576<br><a href="">178847</a>
577[search] Potential matches found when searching references to IJavaElement#getResource()
578<br><a href="">174920</a>
579[model] closing a single project causes all variables and containers to be saved
581<a name="v_745"></a>
583Eclipse Platform Build Notes<br>
584Java development tools core</h1>
585Eclipse SDK 3.3M6 - March 21, 2007 - 3.3 MILESTONE 6
586<br>Project org.eclipse.jdt.core v_745
587(<a href="">cvs</a>).
588<h2>What's new in this drop</h2>
590<li><code>org.eclipse.jdt.core.JavaCore#setCompilanceOptions(String, Map)</code> has been renamed to <code>org.eclipse.jdt.core.JavaCore.setComplianceOptions(String, Map)</code>.</li>
591<li><code>org.eclipse.jdt.core.dom.RecoveredTypeBinding</code>, <code>org.eclipse.jdt.core.dom.RecoveredVariableBinding</code> are not part of the API. They have been
592changed to package default visibility.</li>
593<li><code></code> has been removed.</li>
596<h3>Problem Reports Fixed</h3>
597<a href="">178616</a>
598[API] Fix typo for JavaCore#setComplianceOptions(String, Map)
599<br><a href="">178607</a>
600[API][dom] RecoveredTypeBinding and RecoveredVariableBinding should not be public
601<br><a href="">178594</a>
602[search] Deprecated MethodReferenceMatch.isPolymorphic() should be removed
603<br><a href="">176118</a>
604Missing library classes kill Intellisense without Error
606<a name="v_744"></a>
608Eclipse Platform Build Notes<br>
609Java development tools core</h1>
610Eclipse SDK 3.3M6 - March 20, 2007
611<br>Project org.eclipse.jdt.core v_744
612(<a href="">cvs</a>).
613<h2>What's new in this drop</h2>
615<li>This drop only fixes tests failures reported in I20070319-1800.</li>
618<h3>Problem Reports Fixed</h3>
620<a name="v_743"></a>
622Eclipse Platform Build Notes<br>
623Java development tools core</h1>
624Eclipse SDK 3.3M6 - March 19, 2007
625<br>Project org.eclipse.jdt.core v_743
626(<a href="">cvs</a>).
627<h2>What's new in this drop</h2>
629<li>New constant API have been added in <code>org.eclipse.jdt.core.formatter.DefaultCodeFormatterConstants</code> in order to fix bug <a href="">20793</a>.
630The implementation will be provided after 3.3M6.<br>
632 /**
633 * FORMATTER / Option to indent block comments that start on the first column
634 * - option id: "org.eclipse.jdt.core.formatter.formatter.never_indent_block_comments_on_first_column"
635 * - possible values: { TRUE, FALSE }
636 * - default: TRUE
637 * @see #TRUE
638 * @see #FALSE
639 * @since 3.3
640 */
641 public static final String FORMATTER_NEVER_INDENT_BLOCK_COMMENTS_ON_FIRST_COLUMN = JavaCore.PLUGIN_ID + ".formatter.never_indent_block_comments_on_first_column"; //$NON-NLS-1$
642 /**
643 * FORMATTER / Option to indent line comments that start on the first column
644 * - option id: "org.eclipse.jdt.core.formatter.formatter.never_indent_line_comments_on_first_column"
645 * - possible values: { TRUE, FALSE }
646 * - default: TRUE
647 * @see #TRUE
648 * @see #FALSE
649 * @since 3.3
650 */
651 public static final String FORMATTER_NEVER_INDENT_LINE_COMMENTS_ON_FIRST_COLUMN = JavaCore.PLUGIN_ID + ".formatter.never_indent_line_comments_on_first_column"; //$NON-NLS-1$
654<li>New constant API have been added in <code>org.eclipse.jdt.core.formatter.DefaultCodeFormatterConstants</code> in order to fix bug <a href="">79068</a>.
655The implementation will be provided after 3.3M6.<br>
657 /**
658 * FORMATTER / Option to wrap before the binary operator
659 * - option id: "org.eclipse.jdt.core.formatter.wrap_before_binary_operator"
660 * - possible values: { TRUE, FALSE }
661 * - default: FALSE
662 * This option is used only if the option {@link #FORMATTER_ALIGNMENT_FOR_BINARY_EXPRESSION} is set.
663 * @see #TRUE
664 * @see #FALSE
665 * @since 3.3
666 */
667 public static final String FORMATTER_WRAP_BEFORE_BINARY_OPERATOR = JavaCore.PLUGIN_ID + ".formatter.wrap_before_binary_operator"; //$NON-NLS-1$
672<h3>Problem Reports Fixed</h3>
673<a href="">154984</a>
674Jars in library not recognized sometimes.
675<br><a href="">102473</a>
676code assist: parameter names not harvested from debug info in class files
678<a name="v_742"></a>
680Eclipse Platform Build Notes<br>
681Java development tools core</h1>
682Eclipse SDK 3.3M6 - March 18, 2007
683<br>Project org.eclipse.jdt.core v_742
684(<a href="">cvs</a>).
685<h2>What's new in this drop</h2>
687<li>As some clients need to know if some classpath container children attributes are supported or
688can be modifiable, the following API methods have been added in <code>org.eclipse.jdt.core.ClasspathContainerInitializer</code> class:
690<li><code>#getAccessRulesStatus(IPath, IJavaProject)</code></li>
691<li><code>#getAttributeStatus(IPath, IJavaProject, String)</code></li>
692<li><code>#getSourceAttachmentStatus(IPath, IJavaProject)</code></li>
694For each of these methods, the returned status can have one of the following severities:
696<li><code>IStatus#OK</code>: means that the attribute is supported <strong>and</strong> is modifiable</li>
697<li><code>IStatus#ERROR</code>: means that either the attribute is not supported or is not modifiable.<br>
698 In this case, the <code>IStatus#getCode()</code> will have respectively the <code>#ATTRIBUTE_NOT_SUPPORTED</code> value
699 or the <code>#ATTRIBUTE_READ_ONLY</code> value.</li>
701Note that if the subclass does not override this method, then the default behavior is
702to return <code>IStatus#OK</code> if and only if the classpath container can
703be updated (see <code>#canUpdateClasspathContainer(IPath, IJavaProject)</code>).
705<li>API addition to fix bug <a href="">130001</a>. It is being able for a user
706to query what options were enabled when the DOM/AST tree has been created. The following API methods have been added:
713<li>API addition to fix bug <a href="">149567</a>. It is about
714the incomplete binding handling. The following API methods or fields have been added:
718<li><code>org.eclipse.jdt.core.ICompilationUnit#reconcile(int, int, WorkingCopyOwner, IProgressMonitor)</code></li>
724<li>The working copy owner (<code>WorkingCopyOwner</code>) now specifies the problem requestor
725(<code>IProblemrequestor</code>) used to report problems on working copies it owns
726(see bug <a href="">175243</a>).<br>
727To implement this new responsibility, a new API method has been added on <code>WorkingCopyOwner</code> class:
730 * Returns the problem requestor used by a working copy of this working copy owner.
731 *
732 * By default, no problem requestor is configured. Clients can override this
733 * method to provide a requestor.
734 *
735 * @param workingCopy The problem requestor used for the given working copy.
736 * If <code>null</code>, then return the problem requestor used for all working
737 * copies of the working copy owner.
738 * @return the problem requestor to be used by working copies of this working
739 * copy owner or <code>null</code> if no problem requestor is configured.
740 *
741 * @since 3.3
742 */
743public IProblemRequestor getProblemRequestor(ICompilationUnit workingCopy) {
744 return null;
747As a consequence of this addition, <code>IProblemRequestor</code> parameter
748of <code>*WorkingCopy</code> methods becomes unnecessary and corresponding
749methods have been deprecated:
751<li><code>ICompilationUnit#becomeWorkingCopy(IProblemRequestor, IProgressMonitor)</code></li>
752<li><code>ICompilationUnit#getWorkingCopy(WorkingCopyOwner, IProblemRequestor, IProgressMonitor)</code></li>
753<li><code>IClassFile#becomeWorkingCopy(IProblemRequestor, WorkingCopyOwner, IProgressMonitor)</code></li>
754<li><code>WorkingCopyOwner#newWorkingCopy(String, IClasspathEntry[], IProblemRequestor, IProgressMonitor)</code></li>
756And are obviously replaced by following methods:
759<li><code>ICompilationUnit#getWorkingCopy(WorkingCopyOwner, IProgressMonitor)</code></li>
760<li><code>IClassFile#becomeWorkingCopy(WorkingCopyOwner, IProgressMonitor)</code></li>
761<li><code>WorkingCopyOwner#newWorkingCopy(String, IClasspathEntry[], IProgressMonitor)</code></li>
764<li>Added API org.eclipse.jdt.core.JavaCore#getGeneratedResources(IRegion, boolean) to be able to get the generated resources for all
765elements of a IRegion. See bug <a href="">6584</a> for details.</li>
768<h3>Problem Reports Fixed</h3>
769<a href="">177623</a>
770[1.6][compiler] Stackmap frames generation should be protected against invalid code
771<br><a href="">177621</a>
772XML log might be corrupted if an exception occurs while extracting problem context
773<br><a href="">176725</a>
774[recovery] member value array initializer aren;t correctly recovered
775<br><a href="">168077</a>
776[classpath] Let classpath containers define what is configurable
777<br><a href="">177478</a>
778[formatter] Indent new lines option adds extra empty lines
779<br><a href="">130001</a>
780[api][AST] org.eclipse.jdt.core.dom.AST: should have API hasResolvedBindings, hasStatementRecovery
781<br><a href="">149567</a>
782AST DCR: Allow incomplete variable bindings
783<br><a href="">177009</a>
784[javadoc] Missing Javadoc tag not reported
785<br><a href="">177319</a>
786Annotation Processing (APT) affects eclipse speed
787<br><a href="">177194</a>
788[1.5][compiler] preserveAllLocals option has undesirable side-effect when invoking generic method
789<br><a href="">177372</a>
790[1.5][compiler] Missing unboxing conversion when no value required from message send
791<br><a href="">176825</a>
792FullSourceWorkspaceCompletionTests doesn't run correctly
793<br><a href="">177386</a>
794Wording in Javadoc of TypeNameMatch and -Requestor
795<br><a href="">177115</a>
796NullPointerException in BindingKeyResolver.consumeTypeVariable(...)
797<br><a href="">175243</a>
798[model] Let working copy owner control the problem requestor used
799<br><a href="">163733</a>
800IncrementalImageBuilder.deleteGeneratedFiles() is broken
801<br><a href="">177079</a>
802Add jdt.apt.pluggable.core as x-friend to jdt.core
803<br><a href="">6584</a>
804Need a way to get class files for a java file (or CU)
806<a name="v_741"></a>
808Eclipse Platform Build Notes<br>
809Java development tools core</h1>
810Eclipse SDK 3.3M6 - March 13, 2007
811<br>Project org.eclipse.jdt.core v_741
812(<a href="">cvs</a>).
813<h2>What's new in this drop</h2>
815<li>The non-Java resources in jar files returned by <code>IPackageFragmentRoot#getNonJavaResources()</code> and
816 <code>IPackageFragment#getNonJavaResources()</code> are now of type <code>IJarEntryResource</code> (a subinterface
817 of <code>IStorage</code>). This interface allows to navigate the tree of non-Java resources using the
818 <code>getChildren()</code> and <code>getParent()</code> methods.</li>
821<h3>Problem Reports Fixed</h3>
822<a href="">176269</a>
823[index] NullPointerException filtering for exception breakpoint
824<br><a href="">176027</a>
825[javadoc] {@link} to member type handled incorrectly
826<br><a href="">153044</a>
827JarEntryFile does not return fully qualified path
828<br><a href="">170595</a>
829[batch][compiler] BatchCompilerTest#test024 is no more significant
830<br><a href="">176971</a>
831[assist] types are computed if TYPE_REF are filterred and JAVADOC_TYPE_REF aren't filtered
832<br><a href="">175987</a>
833[1.5][compiler] Missing error when implementing a method with a mix of parameterized and raw generics
834<br><a href="">148944</a>
835need to render resource folders in JARs
836<br><a href="">176190</a>
837[assist] Inferred variable names are not good when the declared type is a base type
838<br><a href="">176057</a>
839IAE in ASTConverter for invalid source range
840<br><a href="">174436</a>
841API request: MethodInvocation/SuperMethodInvocation#isResolvedTypeInferredFromExpectedType()
842<br><a href="">176364</a>
843[assist] missing return and continue proposals within switch statements
844<br><a href="">161704</a>
845[model] Improve progress for Java initialization task job
847<a name="v_740"></a>
849Eclipse Platform Build Notes<br>
850Java development tools core</h1>
851Eclipse SDK 3.3M6 - March 6, 2007
852<br>Project org.eclipse.jdt.core v_740
853(<a href="">cvs</a>).
854<h2>What's new in this drop</h2>
856<li>Refined the problem IDs and messages associated to null-related issues
857 detection, for which typical examples would now be:
858 <ul>
859 <li><code>NullLocalVariableReference</code> - Null pointer access: The variable o can only be null at this location</li>
860 <li><code>PotentialNullLocalVariableReference</code> - Potential null pointer access: The variable o may be null at this location</li>
861 <li><code>RedundantNullCheckOnNullLocalVariable</code> - Redundant null check: The variable o can only be null at this location</li>
862 <li><code>NullLocalVariableComparisonYieldsFalse</code> - Null comparison always yields false: The variable x can only be null at this location</li>
863 <li><code>RedundantLocalVariableNullAssignment</code> - Redundant assignment: The variable x can only be null at this location</li>
864 <li><code>NullLocalVariableInstanceofYieldsFalse</code> - instanceof always yields false: The variable o can only be null at this location</li>
865 <li><code>RedundantNullCheckOnNonNullLocalVariable</code> - Redundant null check: The variable o2 cannot be null at this location</li>
866 <li><code>NonNullLocalVariableComparisonYieldsFalse</code> - Null comparison always yields false: The variable i cannot be null at this location</li>
867 </ul>
868 Note that problem IDs <code>LocalVariableCannotBeNull</code>,
869 <code>LocalVariableCanOnlyBeNull</code>, and
870 <code>LocalVariableMayBeNull</code> have been deprecated.<br>
871 See bugs <a href="">175570</a>
872 and <a href="">175571</a>
873 for details.
875<li>The API method <code>IClassFile#getType()</code> does not longer throw <code>JavaModelException</code>
876(see bug <a href="">154667</a>).</li>
877<li>Code Assist: unresolved simple names are proposed when completing a simple name reference<br>
879package test;
880public class E1 {
881 void m() {
882 variable = 10;
883 System.out.println(v); // do completion after 'v'
884 }
887When <i>v</i> is completed, <i>variable</i> is proposed as a possible local variable which are not yet declared.<br>
888Unresolved simple names are searched before and after the completion location.
892<h3>Problem Reports Fixed</h3>
893<a href="">174588</a>
894[compiler] Code in abstract class calls wrong overloaded method. Correct method is defined in the implemented interface.
895<br><a href="">176321</a>
896Test failures in MethodParameterGuessingCompletionTest
897<br><a href="">176361</a>
898[search] TypeNameMatchRequestorWrapper creates invalid handle for member type
899<br><a href="">176358</a>
900[search] Failure in JavaSearchBugsTest while running random tests order
901<br><a href="">147461</a>
902[compiler][batch][options] tighten the use of : and ; within access restriction specifications
903<br><a href="">162865</a>
904Content assist for undeclared locals when using local
905<br><a href="">154667</a>
906IClassFile#getType() should not throw JavaModelException
907<br><a href="">175571</a>
908[compiler][null] Better compiler message for 'Redundant null check'
909<br><a href="">175570</a>
910[compiler][null] Improve compiler message for 'Null reference'
911<br><a href="">175849</a>
912Project is touched on restart
913<br><a href="">175832</a>
914[recovery] $missing$ should not be shown inside a message
915<br><a href="">175834</a>
916[assist] already defined name is proposed as variable name
917<br><a href="">175531</a>
918Livelock in OverflowingLRUCache.privateRemoveEntry
920<a name="v_739"></a>
922Eclipse Platform Build Notes<br>
923Java development tools core</h1>
924Eclipse SDK 3.3M6 - 27th February 2007
925<br>Project org.eclipse.jdt.core v_739
926(<a href="">cvs</a>).
927<h2>What's new in this drop</h2>
929<li>Refined the options that control null-related issues detection. The existing
930<code>nullReference</code> option has been repurposed and split into three
933COMPILER / Reporting Null Dereference
934 When enabled, the compiler will issue an error or a warning whenever a
935 variable that is statically known to hold a null value is used to
936 access a field or method.
937 - option id: "org.eclipse.jdt.core.compiler.problem.nullReference"
938 - possible values: { "error", "warning", "ignore" }
939 - default: "ignore"
940COMPILER / Reporting Potential Null Dereference
941 When enabled, the compiler will issue an error or a warning whenever a
942 variable that has formerly been tested against null but is not (no more)
943 statically known to hold a non-null value is used to access a field or
944 method.
945 - option id: "org.eclipse.jdt.core.compiler.problem.potentialNullReference"
946 - possible values: { "error", "warning", "ignore" }
947 - default: "ignore"
948COMPILER / Reporting Redundant Null Check
949 When enabled, the compiler will issue an error or a warning whenever a
950 variable that is statically known to hold a null or a non-null value
951 is tested against null.
952 - option id: "org.eclipse.jdt.core.compiler.problem.redundantNullCheck"
953 - possible values: { "error", "warning", "ignore" }
954 - default: "ignore"
956See bug <a href="">170704</a>
957for details.
961<h3>Problem Reports Fixed</h3>
962<a href="">170704</a>
963[compiler][null][enh] separate "null dereference" and "null reference" compiler options
964<br><a href="">172666</a>
965Importing pde.ui and dependencies as binary gives compile error
966<br><a href="">174971</a>
967[index] Many exceptions from background indexer
968<br><a href="">172913</a>
969[compiler][1.5] an extra checkcast bytecode instruction generated
970<br><a href="">174879</a>
971[1.5][compiler] Optimisation for empty if blocks results in not evaluating the test expression
973<a name="v_738"></a>
975Eclipse Platform Build Notes<br>
976Java development tools core</h1>
977Eclipse SDK 3.3M6 - 21st February 2007
978<br>Project org.eclipse.jdt.core v_738
979(<a href="">cvs</a>).
980<h2>What's new in this drop</h2>
982<h3>Problem Reports Fixed</h3>
983<a href="">171802</a>
984[javadoc][select] F3 does not work on method which have deprecated type as argument
986<a name="v_737"></a>
988Eclipse Platform Build Notes<br>
989Java development tools core</h1>
990Eclipse SDK 3.3M6 - 20th February 2007
991<br>Project org.eclipse.jdt.core v_737
992(<a href="">cvs</a>).
993<h2>What's new in this drop</h2>
995<li>API added on <code>org.eclipse.jdt.core.IClassFile</code>:
998 * Returns the bytes contained in this class file.
999 *
1000 * @return the bytes contained in this class file
1001 *
1002 * @exception JavaModelException if this element does not exist or if an
1003 * exception occurs while accessing its corresponding resource
1004 * @since 3.3
1005 */
1006byte[] getBytes() throws JavaModelException;
1008See bug <a href="">150244</a> for details.
1012<h3>Problem Reports Fixed</h3>
1013<a href="">171653</a>
1014[index] Java Tooling initialization performance issue after startup
1015<br><a href="">174348</a>
1016[classpath] Classpath validation messages are non-standard
1017<br><a href="">172345</a>
1018[model][delta] path error markers are not regenerated on project rebuild
1019<br><a href="">97199</a>
1020[formatting] Code formatting activation in comments (using &lt;PRE&gt;) is case sensitive
1021<br><a href="">150244</a>
1022[API] Add getBytes() on IClassFile
1023<br><a href="">174434</a>
1024[1.5][compiler] Parameterized constructor leads to Internal Errror
1025<br><a href="">152850</a>
1026[formatter] Formatter marks unchanged file dirty
1027<br><a href="">104371</a>
1028[JDOM] JDOM should not crash on 1.5 code
1029<br><a href="">168910</a>
1030Should default compliance be 6.0 in JSR199 batch compilation?
1031<br><a href="">167317</a> should contain a build system
1033<br><a href="">173992</a>
1034Duplicate local variable for exception in different catch blocks
1035<br><a href="">174298</a>
1036Wrong NAME_PROPERTY child type for AnnotationTypeDeclaration and EnumDeclaration
1037<br><a href="">174002</a>
1038[assist] Exceptions which are already covered by the another exception are proposed
1039<br><a href="">174001</a>
1040[assist] Unexpected types are proposed inside catch block
1041<br><a href="">149154</a>
1042BinaryMethod#getParameterNames() should not try to extract from attached javadoc for synthetics
1043<br><a href="">174131</a>
1044[assist] Result of test CompletionTests#testCompletionInsideExtends10 is wrong
1045<br><a href="">34373</a>
1046Class file view doesn't show actual modifiers for member types
1048<a name="v_736"></a>
1050Eclipse Platform Build Notes<br>
1051Java development tools core</h1>
1052Eclipse SDK 3.3M6 - 13th February 2007
1053<br>Project org.eclipse.jdt.core v_736
1054(<a href="">cvs</a>).
1055<h2>What's new in this drop</h2>
1057<h3>Problem Reports Fixed</h3>
1058<a href="">158039</a>
1059[ast rewrite] ArrayIndexOutOfBoundsException when rewriting
1060<br><a href="">173907</a>
1061[code assist] severe NPE on exception completions
1062<br><a href="">173800</a>
1063[compiler] suboptimal line number attributes for cascading field accesses
1064<br><a href="">173849</a>
1065ITypeBinding#getJavaElement() fails for array of inner type
1066<br><a href="">173853</a>
1067[recovery] Recovery add an unnecessary default contructor
1068<br><a href="">173013</a>
1069[assist] NPE while completing in catch formal parameter
1070<br><a href="">142234</a>
1071problem range includes parenthesis for warning on expression
1072<br><a href="">107001</a>
1073ITypeBinding#getBinaryName() returns java.lang.Object for type variable
1074<br><a href="">156307</a>
1075JavaElement.getURLContents() hack breaks &quot;Open External Javadoc&quot;
1076<br><a href="">111529</a>
1077npe trying to get ITypeBinding for parameterized type
1078<br><a href="">144742</a>
1079Setting the bootclasspath for some VMs fails the evaluation tests
1080<br><a href="">172743</a>
1081[jsr269] APT needs to convert IFile into internal ICompilationUnit
1082<br><a href="">138897</a>
1083Error ranges for unreachable code
1084<br><a href="">172848</a>
1085[formatter] code formatter produces syntax error (unary operator+ followed by prefix increment operator++)
1086<br><a href="">173376</a>
1087[jsr269] Multiple annotations on class, only first is resolved
1088<br><a href="">173416</a>
1089[compiler][batch][options] ecj doesn't support classpath entry starting with [
1091<a name="v_735"></a>
1093Eclipse Platform Build Notes<br>
1094Java development tools core</h1>
1095Eclipse SDK 3.3M5 - 8th February 2007 - 3.3 MILESTONE 5
1096<br>Project org.eclipse.jdt.core v_735
1097(<a href="">cvs</a>).
1098<h2>What's new in this drop</h2>
1100<h3>Problem Reports Fixed</h3>
1101<a href="">172633</a>
1102NPEs while starting my workspace
1104<a name="v_734"></a>
1106Eclipse Platform Build Notes<br>
1107Java development tools core</h1>
1108Eclipse SDK 3.3M5 - 3rd February 2007
1109<br>Project org.eclipse.jdt.core v_734
1110(<a href="">cvs</a>).
1111<h2>What's new in this drop</h2>
1113<li>New extension point has been added to register an annotation processor manager inside the Java Builder.
1114See bug <a href="">172369</a> for details.</li>
1115<li>In order to fix bug <a href="">49412</a>, the following constants have been deprecated:
1120They have been replaced by these constants respectively:
1131<h3>Problem Reports Fixed</h3>
1132<a href="">172648</a>
1133[model] Some inconsistencies while adding listeners to DeltaProcessingState
1134<br><a href="">49412</a>
1135[formatting] Offer comment formatting options per comment type
1136<br><a href="">161996</a>
1137[compiler][batch][options] ecj can't cope with [] brackets in classpath names
1138<br><a href="">172444</a>
1139build workspace operation launched after each startup
1140<br><a href="">172028</a>
1141[clean up] Sort members clean up leaks working copies
1142<br><a href="">172369</a>
1143Adding an extension point to register an annotation processor inside the java builder
1144<br><a href="">172189</a>
1145[1.5][compiler] NPE in CompilationUnitProblemFinder.process with explicit wildcard invocation
1146<br><a href="">172207</a>
1147[model] Marker for deprecated classpath variable should always have WARNING severity
1148<br><a href="">172328</a>
1149Javadoc for SearchEngine.searchAllTypeNames(..) has wrong @param ordering
1150<br><a href="">171684</a>
1151Replace references to IMarker.GENERATED_BY with IMarker.SOURCE_ID
1153<a name="v_733"></a>
1155Eclipse Platform Build Notes<br>
1156Java development tools core</h1>
1157Eclipse SDK 3.3M5 - 30th January 2007
1158<br>Project org.eclipse.jdt.core v_733
1159(<a href="">cvs</a>).
1160<h2>What's new in this drop</h2>
1162<li>New API added in <code>org.eclipse.jdt.core.compiler.CharOperation</code>:<br>
1165 * Compares the two char arrays lexicographically.
1166 *
1167 * Returns a negative integer if array1 lexicographically precedes the array2,
1168 * a positive integer if this array1 lexicographically follows the array2, or
1169 * zero if both arrays are equal.
1170 *
1171 * @param array1 the first array
1172 * @param array2 the second array
1173 * @return the returned value of the comparison between array1 and array2
1174 * @throws NullPointerException if one of the arrays is null
1175 * @since 3.3
1176 */
1177public static final int compareTo(char[] array1, char[] array2)
1180<li>New API added in <code>org.eclipse.jdt.core.util.CompilationUnitSorter</code>:<br>
1181<pre> /**
1182 * Reorders the declarations in the given compilation unit according to the
1183 * specified comparator. The caller is responsible for arranging in advance
1184 * that the given compilation unit is a working copy, and for applying the
1185 * returned TextEdit afterwards.
1186 *
1187 * <b>Note:</b> Reordering the members within a type declaration might be
1188 * more than a cosmetic change and could have potentially serious
1189 * repercussions. Firstly, the order in which the fields of a type are
1190 * initialized is significant in the Java language; reordering fields and
1191 * initializers may result in compilation errors or change the execution
1192 * behavior of the code. Secondly, reordering a class's members may affect
1193 * how its instances are serialized. This operation should therefore be used
1194 * with caution and due concern for potential negative side effects.
1195 *
1196 *
1197 * The <code>compare</code> method of the given comparator is passed pairs
1198 * of body declarations (subclasses of <code>BodyDeclaration</code>)
1199 * representing body declarations at the same level. The nodes are from an
1200 * AST of the specified level ({@link org.eclipse.jdt.core.dom.ASTParser#newParser(int)}.
1201 * Clients will generally use AST.JLS3 since that will cover all
1202 * constructs found in Java 1.0, 1.1, 1.2, 1.3, 1.4, and 1.5 source code.
1203 * The comparator is called on body declarations of nested classes,
1204 * including anonymous and local classes, but always at the same level.
1205 * Clients need to provide a comparator implementation (there is no standard
1206 * comparator). The <code>RELATIVE_ORDER</code> property attached to these
1207 * AST nodes affords the comparator a way to preserve the original relative
1208 * order.
1209 *
1210 *
1211 * The body declarations passed as parameters to the comparator always carry
1212 * at least the following minimal signature information:
1213 *
1214 *
1215 * <code>TypeDeclaration</code>
1216 * <code>modifiers, isInterface, name, superclass,
1217 * superInterfaces, typeParameters
1218 * RELATIVE_ORDER property</code>
1219 *
1220 * <code>FieldDeclaration</code>
1221 * <code>modifiers, type, fragments
1222 * (VariableDeclarationFragments
1223 * with name only)
1224 * RELATIVE_ORDER property</code>
1225 *
1226 * <code>MethodDeclaration</code>
1227 * <code>modifiers, isConstructor, returnType, name,
1228 * typeParameters, parameters
1229 * (SingleVariableDeclarations with name, type, and modifiers only),
1230 * thrownExceptions
1231 * RELATIVE_ORDER property</code>
1232 *
1233 * <code>Initializer</code>
1234 * <code>modifiers
1235 * RELATIVE_ORDER property</code>
1236 *
1237 * <code>AnnotationTypeDeclaration</code>
1238 * <code>modifiers, name
1239 * RELATIVE_ORDER property</code>
1240 *
1241 * <code>AnnotationTypeMemberDeclaration</code>
1242 * <code>modifiers, name, type, default
1243 * RELATIVE_ORDER property</code>
1244 *
1245 * <code>EnumDeclaration</code>
1246 * <code>modifiers, name, superInterfaces
1247 * RELATIVE_ORDER property</code>
1248 *
1249 * <code>EnumConstantDeclaration</code>
1250 * <code>modifiers, name, arguments
1251 * RELATIVE_ORDER property</code>
1252 *
1253 * Clients should not rely on the AST nodes being properly parented
1254 * or on having source range information. (Future releases may provide
1255 * options for requesting additional information like source positions, full
1256 * ASTs, non-recursive sorting, etc.)
1257 *
1258 * @param unit
1259 * the CompilationUnit to sort
1260 * @param comparator
1261 * the comparator capable of ordering
1262 * <code>BodyDeclaration</code>s; this comparator is passed
1263 * AST nodes from an AST of the specified AST level
1264 * @param options
1265 * bitwise-or of option flags; <code>0</code> for default
1266 * behavior (reserved for future growth)
1267 * @param group
1268 * the text edit group to use when generating text edits, or <code>null</code>
1269 * @param monitor
1270 * the progress monitor to notify, or <code>null</code> if none
1271 * @return a TextEdit describing the required edits to do the sort, or <code>null</code>
1272 * if sorting is not required
1273 * @exception JavaModelException
1274 * if the compilation unit could not be sorted. Reasons
1275 * include:
1276 * - The given compilation unit does not exist
1278 * - The given compilation unit is not a working copy
1280 * - A <code>CoreException</code> occurred while
1281 * accessing the underlying resource
1282 * - The given compilation unit doesn't come from an ICompilationUnit and this ICompilationUnit is
1283 * not a working copy (NO_ELEMENTS_TO_PROCESS)
1284 * @exception IllegalArgumentException
1285 * if the given compilation unit is null or if the given
1286 * comparator is null, or if <code>options</code> is not one
1287 * of the supported levels.
1288 * @see org.eclipse.jdt.core.dom.BodyDeclaration
1289 * @see #RELATIVE_ORDER
1290 * @since 3.3
1291 */
1292 public static TextEdit sort(CompilationUnit unit,
1293 Comparator comparator,
1294 int options,
1295 TextEditGroup group,
1296 IProgressMonitor monitor) throws JavaModelException;</pre>
1300<h3>Problem Reports Fixed</h3>
1301<a href="">166354</a>
1302[1.5][compiler] extraneous error caused by a non visible method of an inherited
1303class taking precedence over a visible method of an enclosing class
1304<br><a href="">167190</a>
1305[search] TypeNameMatchRequestorWrapper causing ClassCastException
1306<br><a href="">141830</a>
1307[1.3][compiler] Severe runtime errors with anonymous classes
1308<br><a href="">171634</a>
1309[formatter] doesn't add line feed at end of file
1310<br><a href="">171472</a>
1311[1.6][compiler] Illegal stack map frames
1312<br><a href="">163590</a>
1313[1.5][compiler] Incompatible type bounds message points to the generic type instead of its type parameter
1314<br><a href="">171771</a>
1315[assist] JAVADOC_TYPE_REF aren't correctly filtered
1316<br><a href="">171184</a>
1317[compiler] Java compiler does not generate InnerClass attribute as per JVMS
1318<br><a href="">173279</a>
1319[indexing] Category table is not cached for rt.jar since 1.5 version
1320<br><a href="">138309</a>
1321[index] Optimize index files path storage in DiskIndex and IndexManager
1322<br><a href="">166570</a>
1323[assist] Proposal computer from the '' plug-in did not complete normally
1324<br><a href="">162073</a>
1325[compiler] extraneous interface compatibility error
1326<br><a href="">171066</a>
1327Provide TextEdit when sorting compilation unit
1328<br><a href="">170318</a>
1329[1.5][compiler] improve message on nameclash when overriding method with "wildcard" parameter
1331<a name="v_732"></a>
1333Eclipse Platform Build Notes<br>
1334Java development tools core</h1>
1335Eclipse SDK 3.3M5 - 23rd January 2007
1336<br>Project org.eclipse.jdt.core v_732
1337(<a href="">cvs</a>).
1338<h2>What's new in this drop</h2>
1340<li>Code Assist: Exception thrown in a try block are more relevant if the completion occurs in a catch clause.
1341Already caught exceptions are filtered.
1343public class X {
1344 void foo() throws XAException, XBException {}
1345 void bar() {
1346 try {
1347 foo();
1348 } catch(XAException e) {
1349 } catch(X| //do ctrl + space at |
1350 }
1352In this example XBException will more relevant than XCException and XAException won't be proposed.
1354<li>Classpath variable may now be flagged as deprecated or read-only (see bug <a href="">138599</a>
1355and bug <a href="">156226</a>).<br>
1356Two new attributes have been added on <code>ClasspathVariableInitializer</code> schema:
1358 &lt;element name="classpathVariableInitializer"&gt;
1359 &lt;complexType&gt;
1360 ...
1361 &lt;attribute name="deprecated" type="string"&gt;
1362 &lt;annotation&gt;
1363 &lt;documentation&gt;
1364 String explaining the reason why the associated variable is deprecated
1365 &lt;/documentation&gt;
1366 &lt;appInfo&gt;
1367 &lt;meta.attribute translatable="true"/&gt;
1368 &lt;/appInfo&gt;
1369 &lt;/annotation&gt;
1370 &lt;/attribute&gt;
1371 &lt;attribute name="readOnly" type="boolean"&gt;
1372 &lt;annotation&gt;
1373 &lt;documentation&gt;
1374 Indicates that the associated variable cannot be modified
1375 &lt;/documentation&gt;
1376 &lt;/annotation&gt;
1377 &lt;/attribute&gt;
1378 &lt;/complexType&gt;
1379 &lt;/element&gt;
1381When deprecated attribute is set on ClasspathVariableInitializer extension point, classpath entry validation
1382returns a warning status if no other error was previously detected.
1384For example, following <code> classpathVariableInitializer</code> extension point set
1385the <code>TEST</code> classpath variable as deprecated and read-only:
1387 &lt;extension
1388 point="org.eclipse.jdt.core.classpathVariableInitializer"&gt;
1389 &lt;classpathVariableInitializer
1390 class="org.eclipse.jdt.tests.model.TestInitializer"
1391 deprecated="The reason why this variable is deprecated"
1392 readOnly="true"
1393 variable="TEST"&gt;
1394 &lt;/classpathVariableInitializer&gt;
1395 &lt;/extension&gt;
1397Calling <code>JavaConventions.validateClasspathEntry(IJavaProject, IClasspathEntry, boolean)</code>
1398method on this variable entry will return a <code>IStatus.WARNING</code> status with following message:
1401Classpath variable deprecation message and read-only information are accessible using two new added
1402<code>JavaCore</code> API methods:
1405 * Returns deprecation message of a given classpath variable.
1406 *
1407 * @param variableName
1408 * @return A string if the classpath variable is deprecated, <code>null</code> otherwise.
1409 * @since 3.3
1410 */
1411public static String getClasspathVariableDeprecationMessage(String variableName)
1414 * Returns whether a given classpath variable is read-only or not.
1415 *
1416 * @param variableName
1417 * @return <code>true</code> if the classpath variable is read-only,
1418 * <code>false</code> otherwise.
1419 * @since 3.3
1420 */
1421public static boolean isClasspathVariableReadOnly(String variableName)
1426<h3>Problem Reports Fixed</h3>
1427<a href="">169017</a>
1428[1.6][compiler] VerifyError: Inconsistent stackmap frames
1429<br><a href="">156226</a>
1430[model][classpath] Allow classpath variable to be marked as non modifiable
1431<br><a href="">138599</a>
1432[model][classpath] Need a way to mark a classpath variable as deprecated
1433<br><a href="">157584</a>
1434[content assist] There is no content assist for catching exceptions
1435<br><a href="">171016</a>
1436[javadoc][assist] No completion for tag when uppercase is used
1439<a name="v_731"></a>
1441Eclipse Platform Build Notes<br>
1442Java development tools core</h1>
1443Eclipse SDK 3.3M5 - 16th January 2007
1444<br>Project org.eclipse.jdt.core v_731
1445(<a href="">cvs</a>).
1446<h2>What's new in this drop</h2>
1448<li>The compiler can now detect unused local types (as opposed to only private types up until now). </li>
1449<li>The compiler is now better able to detect unused private constructors, it now tolerates more than the
1450private constructor with no parameter as the known pattern for blocking instantiation. Basically, unless a
1451non private constructor is defined as well, it will ignore unused private constructors from now on (also see bug <a href="">163443</a>).</li>
1452<li>Code Assist can propose import statements:
1454public class CompletionProposal {
1455 ...
1456 /**
1457 * Completion is an import of reference to a static field.
1458 * &lt;p&gt;
1459 * The following additional context information is available
1460 * for this kind of completion proposal at little extra cost:
1461 * &lt;ul&gt;
1462 * &lt;li&gt;{@link #getDeclarationSignature()} -
1463 * the type signature of the type that declares the field that is imported
1464 * &lt;/li&gt;
1465 * &lt;li&gt;{@link #getFlags()} -
1466 * the modifiers flags (including ACC_ENUM) of the field that is imported
1467 * &lt;/li&gt;
1468 * &lt;li&gt;{@link #getName()} -
1469 * the simple name of the field that is imported
1470 * &lt;/li&gt;
1471 * &lt;li&gt;{@link #getSignature()} -
1472 * the type signature of the field's type (as opposed to the
1473 * signature of the type in which the referenced field
1474 * is declared)
1475 * &lt;/li&gt;
1476 * &lt;li&gt;{@link #getAdditionalFlags()} -
1477 * the completion flags (including ComletionFlags.StaticImport)
1478 * of the proposed import
1479 * &lt;/li&gt;
1480 * &lt;/ul&gt;
1481 * &lt;/p&gt;
1482 *
1483 * @see #getKind()
1484 *
1485 * @since 3.3
1486 */
1487 public static final int FIELD_IMPORT;
1489 /**
1490 * Completion is an import of reference to a static method.
1491 * &lt;p&gt;
1492 * The following additional context information is available
1493 * for this kind of completion proposal at little extra cost:
1494 * &lt;ul&gt;
1495 * &lt;li&gt;{@link #getDeclarationSignature()} -
1496 * the type signature of the type that declares the method that is imported
1497 * &lt;/li&gt;
1498 * &lt;li&gt;{@link #getFlags()} -
1499 * the modifiers flags of the method that is imported
1500 * &lt;/li&gt;
1501 * &lt;li&gt;{@link #getName()} -
1502 * the simple name of the method that is imported
1503 * &lt;/li&gt;
1504 * &lt;li&gt;{@link #getSignature()} -
1505 * the method signature of the method that is imported
1506 * &lt;/li&gt;
1507 * &lt;li&gt;{@link #getAdditionalFlags()} -
1508 * the completion flags (including ComletionFlags.StaticImport)
1509 * of the proposed import
1510 * &lt;/li&gt;
1511 * &lt;/ul&gt;
1512 * &lt;/p&gt;
1513 *
1514 * @see #getKind()
1515 *
1516 * @since 3.3
1517 */
1518 public static final int METHOD_IMPORT;
1520 /**
1521 * Completion is an import of reference to a type.
1522 * Only reference to reference types are allowed.
1523 * &lt;p&gt;
1524 * The following additional context information is available
1525 * for this kind of completion proposal at little extra cost:
1526 * &lt;ul&gt;
1527 * &lt;li&gt;{@link #getDeclarationSignature()} -
1528 * the dot-based package name of the package that contains
1529 * the type that is imported
1530 * &lt;/li&gt;
1531 * &lt;li&gt;{@link #getSignature()} -
1532 * the type signature of the type that is imported
1533 * &lt;/li&gt;
1534 * &lt;li&gt;{@link #getFlags()} -
1535 * the modifiers flags (including Flags.AccInterface, AccEnum,
1536 * and AccAnnotation) of the type that is imported
1537 * &lt;/li&gt;
1538 * &lt;li&gt;{@link #getAdditionalFlags()} -
1539 * the completion flags (including ComletionFlags.StaticImport)
1540 * of the proposed import
1541 * &lt;/li&gt;
1542 * &lt;/ul&gt;
1543 * &lt;/p&gt;
1544 *
1545 * @see #getKind()
1546 *
1547 * @since 3.3
1548 */
1549 public static final int TYPE_IMPORT;
1550 ...
1553<li>Code Assist propose completions computed from a list a favorite references.
1555public class CompletionRequestor {
1556 ...
1557 /**
1558 * Returns the favorite references which are used to compute some completion proposals.
1559 * &lt;p&gt;
1560 * A favorite reference is a qualified reference as it can be seen in an import statement.&lt;br&gt;
1561 * e.g. &lt;code&gt;{"java.util.Arrays"}&lt;/code&gt;&lt;br&gt;
1562 * It can be an on demand reference.&lt;br&gt;
1563 * e.g. &lt;code&gt;{"java.util.Arrays.*"}&lt;/code&gt;
1564 * It can be a reference to a static method or field (as in a static import)&lt;br&gt;
1565 * e.g. &lt;code&gt;{"java.util.Arrays.equals"}&lt;/code&gt;
1566 * &lt;/p&gt;
1567 * &lt;p&gt;
1568 * Currently only on demand type references (&lt;code&gt;"java.util.Arrays.*"&lt;/code&gt;),
1569 * references to a static method or a static field are used to compute completion proposals.
1570 * Other kind of reference could be used in the future.
1571 * &lt;/p&gt;
1572 * @return favorite imports
1573 *
1574 * @since 3.3
1575 */
1576 public String[] getFavoriteReferences() {...}
1578 /**
1579 * Set the favorite references which will be used to compute some completion proposals.
1580 * A favorite reference is a qualified reference as it can be seen in an import statement.&lt;br&gt;
1581 *
1582 * @param favoriteImports
1583 *
1584 * @see #getFavoriteReferences()
1585 *
1586 * @since 3.3
1587 */
1588 public void setFavoriteReferences(String[] favoriteImports) {...}
1589 ...
1592With the following example if the favorite reference is <b>"java.util.Arrays.*"</b> then a proposal
1593will be the method <b>"sort()"</b> with a required proposal of a static import <b>"import static java.util.Arrays.sort;"</b>.
1594If the completion level is lesser than 1.5 the proposal will be <b>"Arrays.sort()"</b> with a required proposal of an import
1595<b>"import java.util.Arrays;"</b>.
1597The option <code>JavaCore.CODEASSIST_SUGGEST_STATIC_IMPORTS</code> can be disabled to avoid to propose static import
1598even if compliance is 1.5 or greater.
1603<h3>Problem Reports Fixed</h3>
1604<a href="">168331</a>
1605[1.5][compiler] AbstractMethodError on interface method
1606<br><a href="">170181</a>
1607[compiler] Could diagnose unused local types
1608<br><a href="">144044</a>
1609[search] NPE when trying to find references to field variable
1610<br><a href="">152123</a>
1611[1.5][assist] Code assist for references that require static imports
1612<br><a href="">170247</a>
1613[model] Document reasons to use or not use CompilationParticipant
1614<br><a href="">140340</a>
1615[5.0][templates] foreach template does not work when an Iterable over a static inner class exists
1616<br><a href="">163443</a>
1617[clean up] private constructor with parameter flagged as unnecessary
1618<br><a href="">152961</a>
1619[compiler] Private inner interface is "never used locally"
1620<br><a href="">157035</a>
1621&quot;Open Type Hierarchy&quot; fails if subtype is anonymous or local class and location for this subtype contains &quot;.class&quot;
1622<br><a href="">167488</a>
1623[compiler] Fup of bug 165291, the two warnings (assignment has no effect) should not be reported
1626<a name="v_730"></a>
1628Eclipse Platform Build Notes<br>
1629Java development tools core</h1>
1630Eclipse SDK 3.3M5 - 9th January 2007
1631<br>Project org.eclipse.jdt.core v_730
1632(<a href="">cvs</a>).
1633<h2>What's new in this drop</h2>
1635<li>The grammar file java_1_5.g is renamed java.g.
1639<h3>Problem Reports Fixed</h3>
1640<a href="">162478</a>
1641NPE in MethodBinding#signature
1642<br><a href="">169744</a>
1643[AST] character position range wrong for super method call with type arguments
1644<br><a href="">162991</a>
1645[1.5][compiler] Name clash reported for (correct) eclipse-generated code
1646<br><a href="">157336</a>
1647build output contains unnecessary empty directories
1648<br><a href="">157019</a>
1649[build] incremental build involving a resource filter fails to produce expected subdirectory of the output folder
1650<br><a href="">99738</a>
1651[formatting] each format shifts code inside &lt;pre&gt; one space to the right
1652<br><a href="">169596</a>
1653anewarray not propertly supported in 1.6
1654<br><a href="">169545</a>
1655java_1_4.g should be removed
1656<br><a href="">168665</a>
1657[1.6][compiler] AIOOBE during stack map frame generation
1658<br><a href="">160550</a>
1659Infinite build when projects have cycle and build path errors
1660<br><a href="">114349</a>
1661[compiler] Problems building cyclical projects
1662<br><a href="">161541</a>
1663[compiler][1.5] eclipse fails to compile when two methods are joined to one
1664<br><a href="">166977</a>
1665[vista] Unexpected errors while running JDT/Core tests
1666<br><a href="">168671</a>
1667[model] Model tests should not run read-only tests when file system does not support it
1669<a name="v_729"></a>
1671Eclipse Platform Build Notes<br>
1672Java development tools core</h1>
1673Eclipse SDK 3.3M5 - 19th December 2006
1674<br>Project org.eclipse.jdt.core v_729
1675(<a href="">cvs</a>).
1676<h2>What's new in this drop</h2>
1678<h3>Problem Reports Fixed</h3>
1679<a href="">168610</a>
1680Chkpii error in build I20061218-0800
1682<a name="v_728"></a>
1684Eclipse Platform Build Notes<br>
1685Java development tools core</h1>
1686Eclipse SDK 3.3M5 - 19th December 2006
1687<br>Project org.eclipse.jdt.core v_728
1688(<a href="">cvs</a>).
1689<h2>What's new in this drop</h2>
1691<h3>Problem Reports Fixed</h3>
1692<a href="">167743</a>
1693[search] Open Type Dialog cannot find types from projects migrated from 3.2.1 workspace
1694<br><a href="">168088</a>
1695SourceTypeConverter NPE in log
1696<br><a href="">160773</a>
1697[jsr269] Need interfaces between jdt compiler and jsr269 impl
1700<a name="v_727"></a>
1702Eclipse Platform Build Notes<br>
1703Java development tools core</h1>
1704Eclipse SDK 3.3M4 - 9th December 2006 - 3.3 MILESTONE 4
1705<br>Project org.eclipse.jdt.core v_727
1706(<a href="">cvs</a>).
1707<h2>What's new in this drop</h2>
1709 <li>IMarker-s generated by JDT and compiler participants may now have their
1710 IMarker#GENERATED_BY attribute set according to the following rules:
1711 <ul>
1712 <li>IMarker-s generated by JDT get JavaBuilder#GENERATED_BY, currently
1713 valued to JDT, as their GENERATED_BY attribute; <em>that value is
1714 non API and may change in future releases</em>;</li>
1715 <li>IMarker-s originating from compiler participants' categorized
1716 problems which do not have the IMarker#GENERATED_BY extra attribute
1717 set do not have their GENERATED_BY attribute set;</li>
1718 <li>IMarker-s originating from compiler participants' categorized
1719 problems which have the IMarker#GENERATED_BY set to a given value
1720 get their GENERATED_BY attribute set to the said value.</li>
1721 </ul>
1722 See also bug <a href="">158611</a>.
1723 </li>
1726<h3>Problem Reports Fixed</h3>
1727<a href="">167217</a>
1728[1.5][compiler] ClassCastException during annotation code generation
1729<br><a href="">165900</a>
1730[select] Incoherent behavior when there is ambiguous methods
1731<br><a href="">166570</a>
1732[assist] Proposal computer from the '' plug-in did not complete normally
1733<br><a href="">158611</a>
1734Set 'generatedBy' attribute of IMarker anywhere markers are generated in JDT/Core code
1735<br><a href="">166348</a>
1736[search] Stack trace console resolves wrong source
1737<br><a href="">164792</a>
1738CodeAssist should treat #clone() special in 1.5 mode
1739<br><a href="">154111</a>
1740Compiler API (JSR 199)
1742<a name="v_726"></a>
1744Eclipse Platform Build Notes<br>
1745Java development tools core</h1>
1746Eclipse SDK 3.3M4 - 5th December 2006
1747<br>Project org.eclipse.jdt.core v_726
1748(<a href="">cvs</a>).
1749<h2>What's new in this drop</h2>
1751<h3>Problem Reports Fixed</h3>
1752<a href="">166641</a>
1753[compiler] uninitialized variable not reported in if (false) block
1754<br><a href="">140191</a>
1755NPE in ClassFileReader.getSourceName logs full CU source
1756<br><a href="">166436</a>
1757[javadoc] Potentially wrong javadoc warning for unexpected duplicate tag @value
1758<br><a href="">166365</a>
1759[javadoc] severity level of malformed javadoc comments did not work properly
1760<br><a href="">166077</a>
1761[compiler] extraneous tests in Scope#findExactMethod
1762<br><a href="">165976</a>
1763ECJ Ant adapter doesn't allow setting empty bootclasspath
1764<br><a href="">142205</a>
1765[batch][options] -deprecation option is not on by default, whereas the help message says so
1767<a name="v_725"></a>
1769Eclipse Platform Build Notes<br>
1770Java development tools core</h1>
1771Eclipse SDK 3.3M4 - 28th November 2006
1772<br>Project org.eclipse.jdt.core v_725
1773(<a href="">cvs</a>).
1774<h2>What's new in this drop</h2>
1776<li>Added <code>org.eclipse.jdt.core.JavaCore#VERSION_1_7</code>. It can be used to set the compliance, the source or the
1777target platform values. This has no impact right now beside setting the major version inside .class file to
1779<li>Added new API <code>org.eclipse.jdt.core.JavaCore#setComplianceOptions(String, Map)</code> to set the compiler's
1780options relative to a given compiler's compliance.</li>
1781<li>Tuned compiler semantics for unchecked cast detection. As a consequence, more warnings should be issued
1782(also see bugs <a href="">106451</a> and
1783<a href="">165143</a>). </li>
1784<li>Raw type warnings are now also diagnosed for cast types. </li>
1785<li>Improved compiler diagnosis for type hiding to now report: member type hiding type parameters,
1786nested types hiding other accessible types in scope (direct enclosing are already reported as errors). </li>
1787<li>Compiler is now more resilient with duplicate local type declarations; thus allowing further
1788operation to still be carried out accurately (codeselect, completion, search, DOM AST ops)
1789(cf. bug <a href="">165662</a>).</li>
1790<li>New Java Model element interface has been added as common supertype for <code>ICompilationUnit</code> and <code>IClassFile</code>
1791(see bug <a href="">125504</a>).
1794 * Represents an entire Java type root (either an <code>ICompilationUnit</code>
1795 * or an <code>IClassFile</code>).
1796 *
1797 * This interface is not intended to be implemented by clients.
1798 *
1799 * @see ICompilationUnit
1800 * @see IClassFile
1801 * @since 3.3
1802 */
1803public interface ITypeRoot extends IJavaElement, IParent, IOpenable, ISourceReference, ICodeAssist {
1810<h3>Problem Reports Fixed</h3>
1811<a href="">165917</a>
1812Error range for IProblem.IncompatibleReturnType should be predictable
1813<br><a href="">165620</a>
1814Regression in 3.3M3 with generics - ambiguous method.
1815<br><a href="">163370</a>
1816[1.5][compiler] Incorrect ambiguous method error
1817<br><a href="">165794</a>
1818[javadoc] Should not report ambiguous on method with parameterized types as parameters
1819<br><a href="">165701</a>
1820[model] NPE while computing method unique key
1821<br><a href="">142219</a>
1822[batch][options] inconsistent help message: -X&lt;option&gt; vs -Xemacs
1823<br><a href="">160520</a>
1824[compiler] Should better locate overriding return type conflict onto return type reference
1825<br><a href="">125504</a>
1826[API] common supertype for ICompilationUnit and IClassFile
1827<br><a href="">165525</a>
1828[comments] ASTParser excludes trailing line comments from extended range of fields in enums
1829<br><a href="">165654</a>
1830[ast rewrite] add final to parameter does not work with annotations
1831<br><a href="">161980</a>
1832Make some member class static
1833<br><a href="">161975</a>
1834Should factorized all empty strings constants
1835<br><a href="">163680</a>
1836[1.5] [compiler] JDT Internal Exception under import circularity
1837<br><a href="">165645</a>
1838[1.5][compiler] Member type should take precedence over enclosing type parameters
1839<br><a href="">165662</a>
1840[compiler] Be more resilient with duplicate local types
1841<br><a href="">161617</a>
1842[ast rewrite] replacing InstanceofExpression.LEFT_OPERAND_PROPERTY should ensure whitespace
1843<br><a href="">165291</a>
1844[1.5] Missing diagnosis for illegal forward field ref in generics
1845<br><a href="">165453</a>
1846[1.5][compiler] Improve unchecked cast message in compiler's warning
1847<br><a href="">165145</a>
1848[1.5][compiler] Missing raw type warning
1849<br><a href="">106451</a>
1850[1.5][compiler] Error and unchecked warnings missing for cast to parameterized type
1851<br><a href="">165143</a>
1852[1.5][compiler] Missing unchecked cast warning
1853<br><a href="">165346</a>
1854[compiler][null] org.eclipse.jdt.internal.compiler.ast.OperatorExpression.nullStatus(FlowInfo) too conservative
1855<br><a href="">149118</a>
1856[batch] shorten the error message in case a .java directory is used as a parameter
1857<br><a href="">156339</a>
1858Abort compilation surfaces through the UI
1859<br><a href="">164657</a>
1860[compiler] Wrong line is showed during debug
1862<a name="v_724"></a>
1864Eclipse Platform Build Notes<br>
1865Java development tools core</h1>
1866Eclipse SDK 3.3M4 - 21st November 2006
1867<br>Project org.eclipse.jdt.core v_724
1868(<a href="">cvs</a>).
1869<h2>What's new in this drop</h2>
1871<li>Added <code>org.eclipse.jdt.core.formatter.DefaultCodeFormatterConstants#FORMATTER_BLANK_LINES_BETWEEN_IMPORT_GROUPS</code>. See bug <a href="">165210</a> for details.</li>
1872<li>Added <code>org.eclipse.jdt.core.formatter.DefaultCodeFormatterConstants#FORMATTER_INSERT_SPACE_BEFORE_PARENTHESIZED_EXPRESSION_IN_THROW</code>. See bug <a href="">164946</a> for details.</li>
1873<li>javadoc checker now correctly allow usage of {@value} tags only on field declaration when source level is less than 1.5
1874(see bug <a href="">153399</a>).
1878<h3>Problem Reports Fixed</h3>
1879<a href="">164707</a>
1880ArrayIndexOutOfBoundsException in JavaModelManager if source level == 6.0
1881<br><a href="">165210</a>
1882Fup of bug 74997, add new formatter option for number of blank lines between import groups
1883<br><a href="">165069</a>
1884[1.5][compiler] incorrect field hiding
1885<br><a href="">165081</a>
1886[1.5][compiler] Fup of bug 165069, unused imports are not reported
1887<br><a href="">154993</a>
1888org.eclipse.jdt.ui.JavaNoTypeCompletionProposalComputer throws a runtime exception when using content assist on 'this.' in annontations
1889<br><a href="">139621</a>
1890[javadoc][assist] No Javadoc completions if there's no member below
1891<br><a href="">164946</a>
1892Spaces in control statements
1893<br><a href="">163807</a>
1894JDT fails to compile legal Java source files
1895<br><a href="">153399</a>
1896[javadoc] JDT Core should warn if the @value tag is not used correctly
1897<br><a href="">84049</a>
1898[javadoc][dom] Extended ranges wrong for method name without return type
1899<br><a href="">164791</a>
1900[search] Type reference reports anonymous type in invalid class file
1901<br><a href="">164450</a>
1902[comments] DefaultCommentMapper should release scanner after use
1903<br><a href="">163984</a>
1904[search] no results from SearchEngine.searchAllTypeNames with types in scope
1905<br><a href="">74997</a>
1906import rewrite: no empty line between groups
1907<br><a href="">164311</a>
1908Code completion unavailable for static methods
1909<br><a href="">156352</a>
1910NPE when accessing annotations from ITypeBinding
1911<br><a href="">99928</a>
1912ContentAssist should propose methods of intersection types
1913<br><a href="">157570</a>
1914Bug in ASTParser
1915<br><a href="">164656</a>
1916IScanner.setSource should spec that 'null' is allowed
1917<br><a href="">160637</a>
1918getKey(...) for BinaryMethod returns a key with '.' in the return type instead of '/'
1919<br><a href="">110771</a>
1920align all ICompilationUnit#getContents implementations on a 'never null' behavior
1922<a name="v_723"></a>
1924Eclipse Platform Build Notes<br>
1925Java development tools core</h1>
1926Eclipse SDK 3.3M4 - 14th November 2006
1927<br>Project org.eclipse.jdt.core v_723
1928(<a href="">cvs</a>).
1929<h2>What's new in this drop</h2>
1931<li>javadoc checker did incorrectly allow compatible matches for method references; where only exact matches are mandated
1932(see bug <a href="">163659</a>).
1936<h3>Problem Reports Fixed</h3>
1937<a href="">140980</a>
1938[recovery] ClassCastException from JDT compiler
1939<br><a href="">162918</a>
1940[compiler] Illegal usage of a local inside a switch statement is not rejected
1941<br><a href="">164121</a>
1942[search] Misses declarations of method parameters
1943<br><a href="">164081</a>
1944XML log could contain package information
1945<br><a href="">160301</a>
1946[search] too many matches found for method references
1947<br><a href="">163659</a>
1948[javadoc] Compiler should warn when method parameters are not identical
1949<br><a href="">164092</a>
1950[model] Possible NullPointerException in org.eclipse.jdt.internal.core.Buffer.
1951<br><a href="">164091</a>
1952[model] Possible NullPointerException in JavaProjectElementInfo.
1953<br><a href="">159939</a>
1954[1.5][compiler] Eclipse allows List&lt;void[]&gt;, javac doesn't
1955<br><a href="">162621</a>
1956[model][delta] Validation errors do not clear after replacing jar file
1957<br><a href="">163782</a>
1958Possible resource leaks
1959<br><a href="">162026</a>
1960[1.5][compiler] Erroneous Report of an Ambiguous Method
1961<br><a href="">163600</a>
1962[compiler] Internal references to static inner classes fail in presence of assert keyword
1963<br><a href="">149004</a>
1964static fields from package classes wrong quick-fix'ed
1965<br><a href="">101476</a>
1966&quot;Serializable class without serialVersionUID&quot; setting and writeReplace
1967<br><a href="">163647</a>
1968[model] Thrown exceptions are not found in method binding key which have a capture as declaring class
1970<a name="v_722"></a>
1972Eclipse Platform Build Notes<br>
1973Java development tools core</h1>
1974Eclipse SDK 3.3M4 - 7th November 2006
1975<br>Project org.eclipse.jdt.core v_722
1976(<a href="">cvs</a>).
1977<h2>What's new in this drop</h2>
1979<li><code>JavaConventions</code> can now validate names using specific source and compliance levels. New <code>validate*Name</code> API methods
1980with the source and the compliance level as given parameters have been added to this class. Clients should now use these new methods instead
1981of deprecated ones which only verify names using the 1.3 default level.
1983<li>Added new API method on <code>org.eclipse.jdt.core.BindingKey</code> class to get the exceptions thrown by a method
1984(see bug <a href="">155003</a>):
1986 /**
1987 * Returns the thrown exception signatures of the element represented by this binding key.
1988 * If this binding key does not represent a method or does not throw any exception,
1989 * returns an empty array.
1990 *
1991 * @return the thrown exceptions signatures
1992 * @since 3.3
1993 */
1994 public String[] getThrownExceptions()
1999<h3>Problem Reports Fixed</h3>
2000<a href="">162903</a>
2001SuppressWarnings and NON-NLS'd strings as errors
2002<br><a href="">161400</a>
2003Scanning of identifiers should be optimized
2004<br><a href="">163349</a>
2005[assist] code assist doesn't correctly use scanner eofPosition
2006<br><a href="">162968</a>
2007Content Assist for undeclared local variable should prioritize unbound names
2008<br><a href="">163549</a>
2009Exclude JDT ant tasks from signing
2010<br><a href="">163072</a>
2011[search] method reference reports wrong potential matches
2012<br><a href="">155003</a>
2013[model] Missing exception types / wrong signature?
2014<br><a href="">161621</a>
2015enum is a Keyword for Java5 and cannot be used as a Enum name
2016<br><a href="">162743</a>
2017Duplicate variable declaration code assist proposals
2019<a name="v_721"></a>
2021Eclipse Platform Build Notes<br>
2022Java development tools core</h1>
2023Eclipse SDK 3.3M3 - 30th October 2006 - 3.3 MILESTONE 3
2024<br>Project org.eclipse.jdt.core v_721
2025(<a href="">cvs</a>).
2026<h2>What's new in this drop</h2>
2028<li>Removed fix for bug <a href="">141289</a></li>
2031<h3>Problem Reports Fixed</h3>
2033<a name="v_720"></a>
2035Eclipse Platform Build Notes<br>
2036Java development tools core</h1>
2037Eclipse SDK 3.3M3 - 30th October 2006
2038<br>Project org.eclipse.jdt.core v_720
2039(<a href="">cvs</a>).
2040<h2>What's new in this drop</h2>
2042<h3>Problem Reports Fixed</h3>
2043<a href="">148041</a>
2044[compiler][1.5] should issue unchecked warning on cast to Set&lt;X&gt; of Iterator#next () returning X
2045<br><a href="">159631</a>
2046[dom] NPE while trying to cleanup specific pair of file
2048<a name="v_719"></a>
2050Eclipse Platform Build Notes<br>
2051Java development tools core</h1>
2052Eclipse SDK 3.3M3 - 29th October 2006
2053<br>Project org.eclipse.jdt.core v_719
2054(<a href="">cvs</a>).
2055<h2>What's new in this drop</h2>
2057<h3>Problem Reports Fixed</h3>
2058<a href="">161846</a>
2059Expanding a java project with invalid classpath container entries in Project Explorer causes CPU to stay at 100%
2060<br><a href="">159738</a>
2061[1.5][compiler] Missing class casts in generated byte code for generic method
2062<br><a href="">162296</a>
2063[compiler] Anonymous and local classes are tagged as final and/or private in the inner class infos
2064<br><a href="">162390</a>
2065JavaCodeFormatter Annotation Bug
2066<br><a href="">162400</a>
2067[1.5][compiler] Return type inference does not perform well in array initializer
2068<br><a href="">159893</a>
2069[compiler] Compilation Error with nested classes
2070<br><a href="">162056</a>
2071[recovery] Confusing errors in editor
2072<br><a href="">154811</a>
2073[compiler] Internal compiler error while parsing/formatting
2074<br><a href="">160823</a>
2075[formatter] Java Conventions [built-in] inserts blank line between field declarations
2076<br><a href="">161412</a>
2077org.eclipse.jdt.internal.core.NamedMember#getFullyQualifiedParameterizedName probably boggus
2079<a name="v_718"></a>
2081Eclipse Platform Build Notes<br>
2082Java development tools core</h1>
2083Eclipse SDK 3.3M3 - 24th October 2006
2084<br>Project org.eclipse.jdt.core v_718
2085(<a href="">cvs</a>).
2086<h2>What's new in this drop</h2>
2088<li>New compiler warning to detect overriding of a method without a super invocation has been added.
2089See bug <a href="">156736</a> for further details.</li>
2090<li>Code Assist propose unresolved names as possible local variable name<br>
2092int f&lt;code assist&gt;
2095In this example foo is proposed as a possible completion.
2097<li>The compiler now tolerates that methods implementing a method declared
2098 in an implemented interface or an extended abstract class bear an @Override
2099 annotation (1.6 mode only - see also bug
2100 <a href="">141931</a>).</li>
2103<h3>Problem Reports Fixed</h3>
2104<a href="">161967</a>
2105Map.keySet() can be replaced with Map.entrySet() when value is used
2106<br><a href="">161214</a>
2107[compiler] Fup on bug 159709: improve deprecation marks propagation
2108<br><a href="">161581</a>
2109Adding a missing folder doesn't remove classpath marker
2110<br><a href="">157996</a>
2111[compiler] ProblemReferenceBinding missing a closestMatch
2112<br><a href="">160337</a>
2113Empty block not detected inside anonymous class
2114<br><a href="">161555</a>
2115org.eclipse.jdt.core.tests.model.ReconcilerTests#testDeleteTwoMethods is failing on IBM 1.5 VM
2116<br><a href="">161557</a>
2117[assist] JavaTypeCompletionProposalComputer throws a runtime exception when using content assist on generics type argument with instance member arrays
2118<br><a href="">150228</a>
2119Code assist for unresolved local variables
2120<br><a href="">161204</a>
2121code assist with unresolved types does not work when using 5.0 rt.jar
2122<br><a href="">161554</a>
2123org.eclipse.jdt.core.tests.compiler.regression.GenericTypeTest#test1050 fails on IBM JDK 1.5 VM
2124<br><a href="">141931</a>
2125[1.5][compiler] @Override: upcoming changes of the reference implementation
2126<br><a href="">161476</a>
2127org.eclipse.jdt.core.tests.compiler.regression.BatchCompilerTest.test024 passes unexpectedly with IBM Java2 5.0
2128<br><a href="">161459</a>
21299 tests in org.eclipse.jdt.core.tests.compiler.regression fail on IBM Java2 5.0
2130<br><a href="">156736</a>
2131[compiler] Add compiler option to warn overriding methods that do not call super
2132<br><a href="">159711</a>
2133[1.5][compiler] wrongly reports ambiguous method error
2135<a name="v_717"></a>
2137Eclipse Platform Build Notes<br>
2138Java development tools core</h1>
2139Eclipse SDK 3.3M3 - 17th October 2006
2140<br>Project org.eclipse.jdt.core v_717
2141(<a href="">cvs</a>).
2142<h2>What's new in this drop</h2>
2144<li><code>TypeNameMatch</code> API has been polished while implementing new <code>searchAllTypeNames(char[][] char[][],...)</code>
2145API method (see next point).<br>
2146This class has been abstracted and clients now need to use added <code>SearchEngine</code> following method
2147to create an instance of it:
2150 * Create a type name match on a given type with specific modifiers.
2151 *
2152 * @param type The java model handle of the type
2153 * @param modifiers Modifiers of the type
2154 * @return A non-null match on the given type.
2155 */
2156public static TypeNameMatch createTypeNameMatch(IType type, int modifiers)
2158Early performance tests using added <code>searchAllTypeNames</code> method with <code>TypeNameMatchRequestor</code>
Stephan Herrmannd5c3cc62010-05-30 17:34:25 +00002159requestor (i.e. a la Open Type dialog) show interesting memory footprint reduction (around 30%). More precise measures of this
Stephan Herrmann7b7062f2010-04-01 19:56:59 +00002160performance improvement will be done later...
2162<li>Added new <code>SearchEngine</code> API method for search all type names with multiple qualifications and type names
2163(see bug <a href="">160324</a>).<br>
2164Only requestor differs from already existing corresponding <code>searchAllTypeNames</code> method:
2167 * Searches for all top-level types and member types in the given scope matching any of the given qualifications
2168 * and type names in a case sensitive way.
2169 *
2170 * Provided {@link TypeNameMatchRequestor} requestor will collect {@link TypeNameMatch}
2171 * matches found during the search.
2173 * @param nameMatchRequestor the {@link TypeNameMatchRequestor requestor} that collects
2174 * {@link TypeNameMatch matches} of the search.
2176 * @since 3.3
2177 */
2178public void searchAllTypeNames(
2179 final char[][] qualifications,
2180 final char[][] typeNames,
2181 IJavaSearchScope scope,
2182 final TypeNameMatchRequestor nameMatchRequestor,
2183 int waitingPolicy,
2184 IProgressMonitor progressMonitor) throws JavaModelException
2186Similarily to previous added <code>searchAllTypeNames</code> new API method, clients have to provide
2187a new requestor: <code>TypeNameMatchRequestor</code> in order to get matches collected during the search.<br>
2189<li>Code Assist can return completion proprosals that required some other completion proposals:<br>
2190To apply a completion proposal the required completion proposals must be applied otherwise the resulting code won't be correct.<br>
2191To manage completion proposalswith required proposals the following API have been added:
2193public class CompletionProposal {
2195 ...
2197 /**
2198 * Returns the required completion proposals.
2199 * The proposal can be apply only if these required completion proposals are also applied.
2200 * If the required proposal aren't applied the completion could create complations problems.
2201 *
2202 * &lt;p&gt;
2203 * This field is available for the following kinds of
2204 * completion proposals:
2205 * &lt;ul&gt;
2206 * &lt;li&gt;&lt;code&gt;FIELD_REF&lt;/code&gt; - The allowed required proposals for this kind are:
2207 * &lt;ul&gt;
2208 * &lt;li&gt;&lt;code&gt;TYPE_REF&lt;/code&gt;&lt;/li&gt;
2209 * &lt;/ul&gt;
2210 * &lt;/li&gt;
2211 * &lt;li&gt;&lt;code&gt;METHOD_REF&lt;/code&gt; - The allowed required proposals for this kind are:
2212 * &lt;ul&gt;
2213 * &lt;li&gt;&lt;code&gt;TYPE_REF&lt;/code&gt;&lt;/li&gt;
2214 * &lt;/ul&gt;
2215 * &lt;/li&gt;
2216 * &lt;/ul&gt;
2217 * &lt;/p&gt;
2218 * &lt;p&gt;
2219 * Other kinds of required proposals will be returned in the future, therefore clients of this
2220 * API must allow with {@link CompletionRequestor#setAllowsRequiredProposals(int, int, boolean)}
2221 * only kinds which are in this list to avoid unexpected results in the future.
2222 * &lt;/p&gt;
2223 * &lt;p&gt;
2224 * A required completion proposal cannot have required completion proposals.
2225 * &lt;/p&gt;
2226 *
2227 * @return the required completion proposals, or &lt;code&gt;null&lt;/code&gt; if none.
2228 *
2229 * @see CompletionRequestor#setAllowsRequiredProposals(int, int,boolean)
2230 *
2231 * @since 3.3
2232 */
2233 public CompletionProposal[] getRequiredProposals() {...}
2235 ...
2240public class CompletionRequestor {
2242 ...
2244 /**
2245 * Returns whether a proposal of a given kind with a required proposal
2246 * of the given kind is allowed.
2247 *
2248 * @param proposalKind one of the kind constants declared
2249 * @param requiredProposalKind)one of the kind constants declared
2250 * on &lt;code&gt;CompletionProposal&lt;/code&gt;
2251 * @return &lt;code&gt;true&lt;/code&gt; if a proposal of a given kind with a required proposal
2252 * of the given kind is allowed by this requestor, and &lt;code&gt;false&lt;/code&gt;
2253 * if it isn't of interest.
2254 * &lt;p&gt;
2255 * By default, all kinds of required proposals aren't allowed.
2256 * &lt;/p&gt;
2257 * @see #setAllowsRequiredProposals(int, int, boolean)
2258 * @see CompletionProposal#getKind()
2259 * @see CompletionProposal#getRequiredProposals()
2260 *
2261 * @since 3.3
2262 */
2263 public boolean isAllowingRequiredProposals(int proposalKind, int requiredProposalKind) {...}
2265 /**
2266 * Sets whether a proposal of a given kind with a required proposal
2267 * of the given kind is allowed.
2268 *
2269 * Currenlty only a subset of kinds support required proposals. To see what combinations
2270 * are supported you must look at {@link CompletionProposal#getRequiredProposals()}
2271 * documentation.
2272 *
2273 * @param proposalKind one of the kind constants declared
2274 * @param requiredProposalKind)one of the kind constants declared
2275 * on &lt;code&gt;CompletionProposal&lt;/code&gt;
2276 * @param allow &lt;code&gt;true&lt;/code&gt; if a proposal of a given kind with a required proposal
2277 * of the given kind is allowed by this requestor, and &lt;code&gt;false&lt;/code&gt;
2278 * if it isn't of interest
2279 * @see #isAllowingRequiredProposals(int, int)
2280 * @see CompletionProposal#getKind()
2281 * @see CompletionProposal#getRequiredProposals()
2282 *
2283 * @since 3.3
2284 */
2285 public void setAllowsRequiredProposals(int proposalKind, int requiredProposalKind)boolean allow) {...}
2287 ...
2292<li>Code Assist propose completion even if the type of a variable or the return type of the method is missing.<br>
2295package p;
2296public class X {
2297 void foo() {
2298 Vector v = null;
2299 v.addEl| // complete at | location
2300 }
2303A completion proposal with required proposals will be returned. The main proposal will be the method <code>addElement()</code>
2304at <code>addEl</code> location with a required proposal of the type <code>java.util.Vector</code> at
2305<code>Vector</code> location.
2306The same kind of completion can be computed with the following examples.
2308package p;
2309public class X {
2310 Vector v = null;
2311 void foo() {
2312 v.addEl| // complete at | location
2313 }
2317package p;
2318public class X {
2319 Vector bar() {return null;}
2320 void foo() {
2321 bar().addEl| // complete at | location
2322 }
2328<h3>Problem Reports Fixed</h3>
2329<a href="">161190</a>
2330[search] All type search doesn't find all types
2331<br><a href="">151756</a>
2332[compiler] unverifiable bytecode created with cvs head compiler
2333<br><a href="">161028</a>
2334[search] NPE on organize imports in TypeNameMatch.equals
2335<br><a href="">160854</a>
2336[search] No type is found using seachAllTypeNames(char[][],char[][],...) methods when no type names is specified
2337<br><a href="">80339</a>
2338Wrong error message "; expected" when writing an interface
2339<br><a href="">159709</a>
2340[compiler] missing warnings for deprecated member types
2341<br><a href="">157170</a>
2342[AST visitor] Unvisited elements
2343<br><a href="">159973</a>
2344[1.5] [compiler] VerifyError due to compiler generating incorrect synthetic methods
2345<br><a href="">160655</a>
2346[assist] Bug with code assist and generics
2347<br><a href="">44984</a>
2348[typing] Automatically optimize class imports
2349<br><a href="">160494</a>
2350[search] searchAllTypeNames(char[][], char[][],...) fails to find types in default package
2351<br><a href="">160328</a>
2352[search] Remove constructor TypeNameMatch(IType)
2353<br><a href="">160327</a>
2354[search] Add specification for TypeNameMatch.getType
2355<br><a href="">160324</a>
2356[search] SearchEngine.searchAllTypeNames(char[][], char[][], TypeNameMatchRequestor
2357<br><a href="">160323</a>
2358[search] TypeNameMatch: support hashCode/equals
2359<br><a href="">160352</a>
2360COMPACT mode doesn't work for exception table in the disassembler
2361<br><a href="">90600</a>
2362[model] CreateElementInCUOperation.apply: should use project options for rewriter
2363<br><a href="">160352</a>
2364COMPACT mode doesn't work for exception table in the disassembler
2366<a name="v_716"></a>
2368Eclipse Platform Build Notes<br>
2369Java development tools core</h1>
2370Eclipse SDK 3.3M3 - 10th October 2006
2371<br>Project org.eclipse.jdt.core v_716
2372(<a href="">cvs</a>).
2373<h2>What's new in this drop</h2>
2375<li>Raw type reference are now reported by default. See bug <a href="">159456</a>.</li>
2376<li>API of <code>TypeNameMatch</code> has been changed to improve memory consumption performance.
2377It now creates IType handle while accepting the type information from indexes and stores their modifiers
2378to avoid java element opening while getting this piece of information.<br>
2379Note that there's no Java Model initialization nor populating while creating handles...<br>
2380Note also that previously added API method on IJavaProject has been removed:
2382IType findType(String packageName,
2383 String typeQualifiedName,
2384 IPackageFragmentRoot root,
2385 ICompilationUnit[] units,
2386 IProgressMonitor progressMonitor) throws JavaModelException;
2389<li>While fixing bug <a href="">157814</a>, new <code>MethodReferenceMatch.isPolymorphic()</code> API method has been renamed to:
2392 * Returns whether the reference is on a message sent from a type
2393 * which is a super type of the searched method declaring type.
2394 * If <code>true</code>, the method called at run-time may or may not be
2395 * the search target, depending on the run-time type of the receiver object.
2396 *
2397 * @return <code>true</code> if the reference is on a message sent from
2398 * a super-type of the search method declaring class, <code>false </code> otherwise
2399 */
2400public boolean isSuperInvocation()
2403<li>Added new API <code>ClasspathContainerInitializer#getFailureContainer(...)</code> that returns the classpath container that
2404 should be used if a container initializer fails to initialize a container.</li>
2407<h3>Problem Reports Fixed</h3>
2408<a href="">95008</a>
2409[assist] Missing completion for field initialization in boolean case
2410<br><a href="">160015</a>
2411[1.5][javadoc] Missing warning on autoboxing compatible methods
2412<br><a href="">160132</a>
2413[1.5][compiler] Compiler fails with indirect reference error message
2414<br><a href="">160005</a>
2415Add protection about misbehaving container initializer
2416<br><a href="">86482</a>
2417ISourceRange implementation does not implements value equals
2418<br><a href="">157814</a>
2419[search] polymorphic matches in supertype hierarchy should be marked as potential
2420<br><a href="">148380</a>
2421[search] get IType from TypeNameRequestor result
2422<br><a href="">160025</a>
2423CharOperation fails with AIOOBE when replaced array contains the same chars
2424<br><a href="">159641</a>
2425patch to refactor Main and add new &quot;GCCMain&quot; driver
2426<br><a href="">134848</a>
2427[compiler][null] false positive after nested loop with break to explicit label
2428<br><a href="">159654</a>
2429[compiler] unverifiable bytecode created by current cvs head compiler
2430<br><a href="">158518</a>
2431Remove dependency of GenericTypeTest#test370 on SUN internal APIs
2432<br><a href="">159607</a>
2433[1.5][compiler] M2: Unnecessary cast is necessary
2434<br><a href="">158267</a>
2435Brace positions line after annotation
2436<br><a href="">158258</a>
2437Double check sorting algorithms
2438<br><a href="">159456</a>
2439[1.5][compiler] Enable compiler warning for raw type reference by default
2441<a name="v_715"></a>
2443Eclipse Platform Build Notes<br>
2444Java development tools core</h1>
2445Eclipse SDK 3.3M3 - 3rd October 2006
2446<br>Project org.eclipse.jdt.core v_715
2447(<a href="">cvs</a>).
2448<h2>What's new in this drop</h2>
2450<li>Added new <code>SearchEngine</code> API method for search all type names (see bug <a href="">148380</a>).<br>
2451Only requestor differs from already existing <code>searchAllTypeNames</code> method:
2454 * Searches for all top-level types and member types in the given scope.
2455 * The search can be selecting specific types (given a package name using specific match mode
2456 * and/or a type name using another specific match mode).
2457 *
2458 * Provided {@link TypeNameMatchRequestor} requestor will collect {@link TypeNameMatch}
2459 * matches found during the search.
2461 * @param nameMatchRequestor the {@link TypeNameMatchRequestor requestor} that collects
2462 * {@link TypeNameMatch matches} of the search.
2464 * @since 3.3
2465 */
2466public void searchAllTypeNames(
2467 final char[] packageName,
2468 final int packageMatchRule,
2469 final char[] typeName,
2470 final int typeMatchRule,
2471 int searchFor,
2472 IJavaSearchScope scope,
2473 final TypeNameMatchRequestor nameMatchRequestor,
2474 int waitingPolicy,
2475 IProgressMonitor progressMonitor) throws JavaModelException
2477Clients have to provide a new requestor: <code>TypeNameMatchRequestor</code> in order to
2478get matches collected during the search.<br>
2479Note that this match (<code>TypeNameMatch</code>) can resolve type and then provide corresponding java model <code>IType</code>:
2482 * Returns the java model type corresponding to fully qualified type name
2483 * (based on package, enclosing types and simple name).
2484 *
2485 * @return the java model type
2486 * @throws JavaModelException happens when type stored information are not valid
2487 */
2488public IType resolvedType() throws JavaModelException
2492Deprecated existing <code>SearchEngine</code> API helper method:
2494 public void searchAllTypeNames(
2495 final char[] packageExactName,
2496 final char[] typeName,
2497 final int matchRule,
2498 int searchFor,
2499 IJavaSearchScope scope,
2500 final TypeNameRequestor nameRequestor,
2501 int waitingPolicy,
2502 IProgressMonitor progressMonitor) throws JavaModelException
2504This should avoid to have too many similar <code>searchAllTypeNames</code> available methods...
2507Added new <code>JavaCore</code> API method to create a java element from an <code>IFile</code>
2508using a specific project:
2511 * Returns the Java element corresponding to the given file, its project being the given
2512 * project.
2513 * Returns <code>null</code> if unable to associate the given file
2514 * with a Java element.
2515 *
2516 * The file must be one of:
2517 * . a file with one of the {@link JavaCore#getJavaLikeExtensions()
2518 * Java-like extensions} - the element returned is the corresponding <code>ICompilationUnit</code>
2519 * . a <code>.class</code> file - the element returned is the corresponding <code>IClassFile</code>
2520 * . a <code>.jar</code> file - the element returned is the corresponding <code>IPackageFragmentRoot</code>
2521 *
2522 * Creating a Java element has the side effect of creating and opening all of the
2523 * element's parents if they are not yet open.
2524 *
2525 * @param file the given file
2526 * @return the Java element corresponding to the given file, or
2527 * <code>null</code> if unable to associate the given file
2528 * with a Java element
2529 * @since 3.3
2530 */
2531public static IJavaElement create(IFile file, IJavaProject project)
2533Existing API method <code>JavaCore.create(IFile)</code> assumed that project to use was the file one
2534but it was not always the case, especially for class files belonging to an external class folder...<br>
2535Note that no other methods was added for <code>IResource</code> and <code>IFolder</code> as default project was
2536always well computed for this kind of resources.
2540<h3>Problem Reports Fixed</h3>
2541<a href="">158506</a>
2542[search] SearchEngine.searchAllTypeNames should spec that null is valid for package
2543<br><a href="">159325</a>
2544Any idea why ClasspathEntry checks for string object reference instead of equals
2545<br><a href="">155824</a>
2546[javadoc] Content assist doesn't suggest Varargs
2547<br><a href="">150289</a>
2548[hierarchy] NPE in hierarchy builder when region is empty
2549<br><a href="">159250</a>
2550[1.5][compiler] Should better locate raw type usage for array qualified type references
2551<br><a href="">159245</a>
2552[1.5][compiler] Missing raw type usage warning for array type ref
2553<br><a href="">159243</a>
2554[compiler] Should better locate deprecation issue for qualified type ref
2555<br><a href="">158951</a>
2556[model] IWorkingCopy should not be referenced in any javadoc comment of JavaModel methods
2557<br><a href="">153133</a>
2558[model] toggle breakpoint in constructor creates a class load breakpoint
2559<br><a href="">159021</a>
2560[compiler] Unused locals initialisation is optimized out when it is a single name reference
2561<br><a href="">158548</a>
2562[1.5][compiler] Compiler should be more resilient with unresolved parameterized type references
2563<br><a href="">154995</a>
2564[compiler][null] false positive in embedded while/while/break code
2566<a name="v_714"></a>
2568Eclipse Platform Build Notes<br>
2569Java development tools core</h1>
2570Eclipse SDK 3.3M3 - 26th September 2006
2571<br>Project org.eclipse.jdt.core v_714
2572(<a href="">cvs</a>).
2573<h2>What's new in this drop</h2>
2575<h3>Problem Reports Fixed</h3>
2576<a href="">147667</a>
2577[1.5][compiler] Illegal compile error: "the method XXX is ambiguous for the type YYY"
2578<br><a href="">158000</a>
2579[compiler][null] Second diagnostic absorbed within finally blocks
2580<br><a href="">150082</a>
2581[compiler][null] Null reference warning ignores try blocks
2582<br><a href="">149665</a>
2583[compiler][null] Unexpected variable might be null warning in finally block
2584<br><a href="">147118</a>
2585[compiler][null] Incorrect null analysis involving do_while loop
2586<br><a href="">142303</a>
2587Right-click, "Open Declaration" fails under 3.2RC4
2588<br><a href="">141518</a>
2589IEvaluationContext.newVariable is not considered when doing codecomplete.
2590<br><a href="">143001</a>
2591Statement recovery doesn't recover broken try statement
2592<br><a href="">123225</a>
2593Code assist suggests overridden method
2595<a name="v_713"></a>
2597Eclipse Platform Build Notes<br>
2598Java development tools core</h1>
2599Eclipse SDK 3.3M2 - 15th September 2006 - 3.3 MILESTONE 2
2600<br>Project org.eclipse.jdt.core v_713
2601(<a href="">cvs</a>).
2602<h2>What's new in this drop</h2>
2604<li>Added <code>isPolymorphic()</code> getter to <code>MethodReferenceMatch</code> (see <a href="">bug 73401</a>
2605and <a href="">bug 156491</a>).
2607When a search requestor (<code>SearchRequestor</code>) accepts this kind of match,
Stephan Herrmannd5c3cc62010-05-30 17:34:25 +00002608it knows if a method reference match is a polymorphic method (i.e. implemented in a super or sub type) or not.
Stephan Herrmann7b7062f2010-04-01 19:56:59 +00002609<p>
2610For example, in example below:</p>
2612class A { public void foo() {} }
2613class B extends A {}
2614class C extends B { public void foo() {} }
2615class D extends C {}
2616public class X {
2617 void foo() {
2618 new B().foo();
2619 new C().foo();
2620 new D().foo();
2621 }
2625Searching for all references to <code></code> method get 3 matches
2626(instance of <code>MethodReferenceMatch</code>). Two of them, <code>new B().foo()</code> and
2627<code>new D().foo()</code> are flagged as polymorphic due to the fact that these are methods
2628respectively of a superclass and of a subclass...
2631Search view has been modified to filter this kind of matches when user wants to focus only
2632on exact references of the searched method.</p>
2636<h3>Problem Reports Fixed</h3>
2637<a href="">157389</a>
2638[1.4][compiler] assertionStatus is not set properly for nested types
2639<br><a href="">157333</a>
2640calling delete on enum constant deletes entire Enum
2641<br><a href="">157403</a>
2642NPE when trying to get the ast for a class with boggus annotations
2643<br><a href="">156491</a>
2644[search] Reference search unusable in some situations
2645<br><a href="">73401</a>
2646[search] Unable to search just for references to overridden method
2647<br><a href="">157247</a>
2648[1.6] [compiler] VerifyError with StackMap frames when no local variable attributes are generated
2649<br><a href="">157086</a>
2650should adopt ICU Collator and use new APIs on StructuredViewer
2651<br><a href="">149751</a>
2652Enum-valued annotation element handles non-enum constant badly
2654<a name="v_712"></a>
2656Eclipse Platform Build Notes<br>
2657Java development tools core</h1>
2658Eclipse SDK 3.3M2 - 12th September 2006
2659<br>Project org.eclipse.jdt.core v_712
2660(<a href="">cvs</a>).
2661<h2>What's new in this drop</h2>
2663<li>Code Assist: Annotation types are proposed even there is no prefix.
2665 public @interface MyAnnot {
2666 int foo();
2667 }
2668 @|
2669 public class AClass {}
2671'MyAnnot' is proposed if you do code assist at '|' location.
2674Added new flag on nature of searched element to specify both interfaces and annotations (see <a href="">bug 156177</a>).
2675This flag is defined on IJavaSearchConstants interface:
2677 /**
2678 * The searched element is an interface or annotation type.
2679 * More selective than using {@link #TYPE}.
2680 * @since 3.3
2681 */
2687<h3>Problem Reports Fixed</h3>
2688<a href="">148859</a>
2689[model][delta] Package Explorer only shows default package after import
2690<br><a href="">156591</a>
2691[1.5][compiler] constant-specific methods in enum cannot be abstract
2692<br><a href="">156540</a>
2693[1.5][compiler] Compiler produces invalid bytecode for certain enum declarations
2694<br><a href="">156177</a>
2695[search] interfaces and annotations could be found with only one requets of searchAllTypeName
2696<br><a href="">156340</a>
2697[search] searchAllTypeNames return nothing for empty prefix
2698<br><a href="">151189</a>
2699[search] Declaration search does not find all matches
2700<br><a href="">153874</a>
2701[1.5][compiler] Compiler fails to consider bridge method with -source 1.4
2702<br><a href="">129983</a>
2703[1.5][assist] Need partial word for annotation autocompletion
2704<br><a href="">156194</a>
2705[codeassist] PROPOSE_MEMBER_TYPES can be removed
2706<br><a href="">155115</a>
2707UnresolvedReferenceBindings surfacing through DOM AST
2708<br><a href="">153128</a>
2709[compiler] Duplicate methods generated (from invalid source, but still :-)
2710<br><a href="">156119</a>
2711No warning for unnecessary semicolon in interface
2712<br><a href="">155255</a>
2713[1.5][compiler] ternary conditional operator returns wrong type
2716<a name="v_711"></a>
2718Eclipse Platform Build Notes<br>
2719Java development tools core</h1>
2720Eclipse SDK 3.3M2 - 5th September 2006
2721<br>Project org.eclipse.jdt.core v_711
2722(<a href="">cvs</a>).
2723<h2>What's new in this drop</h2>
2725<li>Added to the batch compiler the ability to redefine the destination path
2726 on a source folder basis. Directories cited as sources, directly or as
2727 arguments to the <code>-classpath</code> and other classpath related
2728 options, can bear a <code>[-d dir]</code> specification that directs the
2729 generated class files to <code>dir</code> for source files fetched from the
2730 said directories.
2731 For example, given the source files <code>src/</code> and
2732 <code></code>, X depending from Y, the command <code>ecj src[-d bin1]
2733 -d bin2</code> will produce the files <code>bin1/X.class</code> and
2734 <code>bin2/Y.class</code>, while the command <code>ecj src[-d bin] -d
2735 none</code> will only produce the file <code>bin/X.class</code>.
2737<li>Code Assist: Annotation arguments names are proposed even there is no prefix.
2739 public @interface MyAnnot {
2740 int foo();
2741 }
2742 @MyAnnot(|
2743 public class AClass {}
2745'foo' is proposed if you do code assist at '|' location.
2749<h3>Problem Reports Fixed</h3>
2750<a href="">148521</a>
2751[5.0][content assist] Content assist show all members of a full annotation
2752<br><a href="">156108</a>
2753[1.5][compiler] Autoboxing doesnt workt in switch-statement
2754<br><a href="">140123</a>
2755Missing callback in CodeSnippetToCuMapper#getCompletionRequestor()
2756<br><a href="">153130</a>
2757[assist] IOB during content assist in scrapbook
2758<br><a href="">154170</a>
2759Printing warnings breaks in-editor quick fixes
2760<br><a href="">146554</a>
2761[batch][compiler][options] Allow the batch compiler to output compiled files
2762into multiple output folders
2763<br><a href="">155887</a>
2764Breakpoint in 'finally' not hit - test suite failing
2765<br><a href="">155795</a>
2766Patch to fix jface.text.Assert deprecation
2767<br><a href="">154880</a>
2768DeltaProcessor does not set project references if first build is a project build
2770<a name="v_710"></a>
2772Eclipse Platform Build Notes<br>
2773Java development tools core</h1>
2774Eclipse SDK 3.3M2 - 29th August 2006
2775<br>Project org.eclipse.jdt.core v_710
2776(<a href="">cvs</a>).
2777<h2>What's new in this drop</h2>
2779<h3>Problem Reports Fixed</h3>
2780<a href="">155423</a>
2781[compiler] Unoptimal code generation when an initializer contains a statement that returns
2782<br><a href="">151153</a>
2783[1.6][compiler] Invalid Stackmap attribute generated for ternary operator
2784<br><a href="">145397</a>
2785[1.6][compiler] Invalid StackMap attribute
2786<br><a href="">148224</a>
2787AST API request: have binding for int, need int[], int[][] ....
2789<a name="v_709"></a>
2791Eclipse Platform Build Notes<br>
2792Java development tools core</h1>
2793Eclipse SDK 3.3M2 - 15th August 2006
2794<br>Project org.eclipse.jdt.core v_709
2795(<a href="">cvs</a>).
2796<h2>What's new in this drop</h2>
2798<h3>Problem Reports Fixed</h3>
2799<a href="">151756</a>
2800[compiler] unverifiable bytecode created with cvs head compiler
2801<br><a href="">153303</a>
2802IBinding.getAnnotations() returns array with null element
2803<br><a href="">148661</a>
2804[formatter] leverage CombinedBinaryExpression in BinaryExpressionFragmentBuilder#visit(BinaryExpression, BlockScope)
2806<a name="v_708"></a>
2808Eclipse Platform Build Notes<br>
2809Java development tools core</h1>
2810Eclipse SDK 3.3M1 - 6th August 2006 - 3.3 MILESTONE 1
2811<br>Project org.eclipse.jdt.core v_708
2812(<a href="">cvs</a>).
2813<h2>What's new in this drop</h2>
2815<li>New fix for <a href="">bug 95152</a> required the index version to be incremented.
2816 Indexes will be automatically regenerated upon subsequent search queries (accounting for indexing notification in search progress dialogs).
2820<h3>Problem Reports Fixed</h3>
2821<a href="">95152</a>
2822[search] F3 can't find synthetic constructor
2823<br><a href="">152725</a>
2824[1.6][formatter] Code formatter does not format 1.5 code when source level is 1.6
2826<a name="v_707"></a>
2828Eclipse Platform Build Notes<br>
2829Java development tools core</h1>
2830Eclipse SDK 3.3M1 - 3rd August 2006
2831<br>Project org.eclipse.jdt.core v_707
2832(<a href="">cvs</a>).
2833<h2>What's new in this drop</h2>
2836SearchPattern API method <code>createPattern(IJavaElement, int, int)</code> behavior has been modified for generic searches.<br>
2837It now returns erasure matches instead of exact ones (see bug <a href="">124489</a> for detailed discussion on this topic).
2841<h3>Problem Reports Fixed</h3>
2842<a href="">116459</a>
2843[1.5][search] Generic type reference should return exact match on parameterized type with its own variables
2844<br><a href="">124489</a>
2845[1.5][search] &quot;Find unused dependencies&quot; misses references to generic types
2847<a name="v_706"></a>
2849Eclipse Platform Build Notes<br>
2850Java development tools core</h1>
2851Eclipse SDK 3.3M1 - 1st August 2006
2852<br>Project org.eclipse.jdt.core v_706
2853(<a href="">cvs</a>).
2854<h2>What's new in this drop</h2>
2856<h3>Problem Reports Fixed</h3>
2857<a href="">133024</a>
2858[ast rewrite] ASTRewrite does not honor forced line splits
2860<a name="v_705"></a>
2862Eclipse Platform Build Notes<br>
2863Java development tools core</h1>
2864Eclipse SDK 3.3M1 - 25th July 2006
2865<br>Project org.eclipse.jdt.core v_705
2866(<a href="">cvs</a>).
2867<h2>What's new in this drop</h2>
2869<h3>Problem Reports Fixed</h3>
2870<a href="">151118</a>
2871verifier errors occur when running osgi tests
2873<a name="v_704"></a>
2875Eclipse Platform Build Notes<br>
2876Java development tools core</h1>
2877Eclipse SDK 3.3M1 - 18th July 2006
2878<br>Project org.eclipse.jdt.core v_704
2879(<a href="">cvs</a>).
2880<h2>What's new in this drop</h2>
2882<li>Wildcard captures are now indicating some ID to better address ambiguities in error messages
2883<br>e.g. now telling: <code>capture#2-of ? extends Number</code> is not compatible with <code>capture#1-of ? extends Number</code>
2884<br>as opposed to: <code>capture-of ? extends Number</code> is not compatible with <code>capture-of ? extends Number</code>
2885(also see bug <a href="">149573</a>).</li>
2888<h3>Problem Reports Fixed</h3>
2889<a href="">129317</a>
2890Outline view inconsistent with code
2891<br><a href="">102875</a>
2892code assist should propose types even if there's no initial character(s)
2893<br><a href="">129584</a>
2894Java model gives different results
2895<br><a href="">150758</a>
2896[1.5][compiler] NullPointerException in internal compiler
2897<br><a href="">150074</a>
2898[compiler] init part of for each loop with empty body is not executed
2899<br><a href="">149028</a>
2900Limiting number of characters to read with the file size is invalid.
2901<br><a href="">149893</a>
2902[1.5] Compilation error: The method is ambiguous for the type
2903<br><a href="">149376</a>
2904Internal compiler error on "import static"
2905<br><a href="">149573</a>
2906[1.5][compiler] Improve readable name of wildcard captures
2907<br><a href="">128073</a>
2908Content Assist should give static fields and methods declared in target type higher relevance
2909<br><a href="">149043</a>
2910Unresolvable classpath container leads to lots of scheduled jobs
2912<a name="v_703"></a>
2914Eclipse Platform Build Notes<br>
2915Java development tools core</h1>
2916Eclipse SDK 3.3M1 - 4th July 2006
2917<br>Project org.eclipse.jdt.core v_703
2918(<a href="">cvs</a>).
2919<h2>What's new in this drop</h2>
2921<h3>Problem Reports Fixed</h3>
2922<a href="">149013</a>
2923[javadoc] In latest 3.3 build, there is a javadoc error in org.eclipse.core.resources
2924<br><a href="">119857</a>
2925[javadoc] Some inner class references should be flagged as unresolved
2926<br><a href="">103304</a>
2927[Javadoc] Wrong reference proposal for inner classes.
2928<br><a href="">148797</a>
2929Syntax error in java class results in AST=null-error on "organize imports"
2930<br><a href="">148742</a>
2931[5.0][content assist] Annotation content assist not working in all cases for parameters
2932<br><a href="">117302</a>
2933Clean build of large project gives unresolved type errors
2934<br><a href="">147875</a>
2935[1.5][compiler] NPE when initializing annotations of a binary field
2936<br><a href="">146012</a>
2937No F_CONTENT flag on delta when reverting to old annotations
2938<br><a href="">148970</a>