<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<head>
   <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
   <meta name="Author" content="IBM">
   <meta name="GENERATOR" content="Mozilla/4.75 [en] (Windows NT 5.0; U) [Netscape]">
   <title>JDT/Core Release Notes</title>
   <link rel="stylesheet" href="../jdt_core_style.css" charset="iso-8859-1" type="text/css">
</head>

<body text="#000000" bgcolor="#FFFFFF">
<table border=0 cellspacing=5 cellpadding=2 width="100%" >
  <tr> 
    <td align="left" width="72%" class="title1">
      <font size="+3"><b>jdt core - build notes R2.0</b></font>
	</td>
  </tr>
  <tr>
  <td align="left" width="72%" class="title1">
      <font size="-2" color="#8080ff">Java development tools core</font></td>
  </tr>
	<tr><td>&nbsp;</td></tr>
  <tr>
  	<td align="left" width="72%" class="title3">
	  <font size="-1">
	  Here are the build notes for the Eclipse JDT/Core plug-in project 
	  <a href="http://dev.eclipse.org/viewcvs/index.cgi/%7Echeckout%7E/jdt-core-home/main.html"><b>org.eclipse.jdt.core</b></a>, 
	  describing bug resolution and substantial changes in the <a href="http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.jdt.core"><b>HEAD</b></a> branch. 
	  Most recent information is listed first.
	  <br>
	  This present document covers all changes up to Release 2.0, changes which occurred since then in 2.1
	  stream are described in <a href="http://dev.eclipse.org/viewcvs/index.cgi/%7Echeckout%7E/org.eclipse.jdt.core/notes/R21_buildnotes_jdt-core.html">build notes R2.1</a>.
	  
	  </font>
	</td>
  </tr>
</table>

<p><hr><h1>
Eclipse Platform Build Notes&nbsp;<br>
Java development tools core</h1>
Eclipse SDK Build GM5 - 27th June 2002 - RELEASE 2.0 (R2_0)
<br>Project org.eclipse.jdt.core v_264
<h2>
What's new in this drop</h2>
<ul>
<li>Changed ASCII/binary property for 'about.html' file to ASCII.</li>
</ul> 

<h3>Problem Reports Fixed</h3>

<h3>Problem Reports Closed</h3>

<p><hr><h1>
Eclipse Platform Build Notes&nbsp;<br>
Java development tools core</h1>
Eclipse SDK Build GM4 - 26th June 2002
<br>Project org.eclipse.jdt.core v_263
<h2>
What's new in this drop</h2>
<ul>
</ul> 

<h3>Problem Reports Fixed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=20553">20553</a>  
Doc - Javadocs of 2.0 classes must specify if the class is intended to be instantiated or subclassed by client.  
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=20442">20442</a>  
Doc - Javadoc missing in ICodeSnippetRequestor  
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=20550">20550</a> 
Doc - fields of CorrectionEngine should not be API
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=20872">20872</a>  
Doc - the javadoc is not correct for ICodeAssist#codeSelect
<br>

<h3>Problem Reports Closed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=20936">20936</a>  
nullpointer exception in org.eclipse.jdt.internal.core.builder.JavaBuilder

<p><hr><h1>
Eclipse Platform Build Notes&nbsp;<br>
Java development tools core</h1>
Eclipse SDK Build 20020624 - 24th June 2002
<br>Project org.eclipse.jdt.core v_262
<h2>
What's new in this drop</h2>
<ul>
<li>Updated about.html file.
</li>
</ul> 

<h3>Problem Reports Fixed</h3>

<h3>Problem Reports Closed</h3>

<p><hr><h1>
Eclipse Platform Build Notes&nbsp;<br>
Java development tools core</h1>
Eclipse SDK Build 20020621 - 21st June 2002
<br>Project org.eclipse.jdt.core v_261
<h2>
What's new in this drop</h2>
<ul>
</ul> 

<h3>Problem Reports Fixed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=20693">20693</a>  
Finding references to variables does not find all occurances
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=20011">20011</a>  
Searching for Inner Classes gives bad search results
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=20520">20520</a>  
Refactor - expression detection incorrect

<h3>Problem Reports Closed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=20643">20643</a>  
Java Projects disappear

<p><hr><h1>
Eclipse Platform Build Notes&nbsp;<br>
Java development tools core</h1>
Eclipse SDK Build 20020620 - 20th June 2002
<br>Project org.eclipse.jdt.core v_260
<h2>
What's new in this drop</h2>
<ul>
</ul> 

<h3>Problem Reports Fixed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=20532">20532</a>  
Declaration of member binary type not found  
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=19799">19799</a>  
More problems with importing.  
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=16140">16140</a>
Non-java project gets .classpath

<h3>Problem Reports Closed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=20659">20659</a>  
Compile/rebuild analysis: white space causes large rebuild

<p><hr><h1>
Eclipse Platform Build Notes&nbsp;<br>
Java development tools core</h1>
Eclipse SDK Build 20020618 - 18th June 2002
<br>Project org.eclipse.jdt.core v_259
<h2>
What's new in this drop</h2>
<ul>
<li>Updated about.html file with reference to CPL 1.0.
</li>
</ul> 

<h3>Problem Reports Fixed</h3>

<h3>Problem Reports Closed</h3>

<p><hr><h1>
Eclipse Platform Build Notes&nbsp;<br>
Java development tools core</h1>
Eclipse SDK Build 20020617 - 17th June 2002
<br>Project org.eclipse.jdt.core v_258
<h2>
What's new in this drop</h2>
<ul>
<li>Removed deprecated 2.0 temporary API: <code>IWorkingCopy#findSharedWorkingCopy()</code> which was no longer used anyway. Proper API is taking 
a <code>IBufferFactory</code> in argument.</li>
</ul> 

<h3>Problem Reports Fixed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=20427">20427</a>
J9c needs internal batch compiler methods to be public
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=20309">20309</a>
cannot code resolve on binary method with member type arguments
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=20158">20158</a>
Close and reopen a project does not remove errors
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=20325">20325</a>
CP Variable - should not persist "initialization in progress" value
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=20173">20173</a>
Open type from a jar located inside a closed project.
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=20135">20135</a>
2.0 deprecated method

<h3>Problem Reports Closed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=20359">20359</a>
classpath variable ECLIPSE_HOME not initialized on startup
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=20261">20261</a>
cycle in classpath detection seems overzealous
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=19826">19826</a>
livelock during indexing?
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=20048">20048</a>
Minimize recompilation
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=20053">20053</a>
interface with same-named method generates compile error

<p><hr><h1>
Eclipse Platform Build Notes&nbsp;<br>
Java development tools core</h1>
Eclipse SDK Build 20020612 - 12th June 2002 - FREEZE 3
<br>Project org.eclipse.jdt.core v_257
<h2>
What's new in this drop</h2>
<ul>
</ul> 

<h3>Problem Reports Fixed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=19537">19537</a>
Internal error saving file (jzentry == 0)
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=19917">19917</a>
Code Assist incorrect for hidden interface fields

<h3>Problem Reports Closed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=19916">19916</a>
Error accessing value from uninitialized localvariable
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=19566">19566</a>
Invalid ClassCastException thrown at runtime
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=3306">3306</a>
Can't compile JDK src
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=19851">19851</a>
IllegalArgumentException in refactor-extract method 
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7272">7272</a>
Open on selection not working in external JARs
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=14219">14219</a>
EOF exception after building in imported plugin with extracted source
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=18290">18290</a>
Incorrect errors reported during reconciling

<p><hr><h1>
Eclipse Platform Build Notes&nbsp;<br>
Java development tools core</h1>
Eclipse SDK Build 20020611 - 11th June 2002 
<br>Project org.eclipse.jdt.core v_256
<h2>
What's new in this drop</h2>
<ul>
<li> Added protection around listener callback invocations (using <code>ISafeRunnable</code>). </li>
<li> Removed 2 unused deprecated constants on <code>IJavaSearchConstants</code>: READ_REFERENCES and WRITE_REFERENCES.
They were annoted with intention to discard before 2.0 since were temporarily introduced and deprecated (due to bad naming).
<pre>
	/** 
	 * @deprecated - use WRITE_ACCESSES instead (will be discarded before 2.0)
	 * @since 2.0
	 */
	int WRITE_REFERENCES = WRITE_ACCESSES;
	</pre></li>
</ul> 

<h3>Problem Reports Fixed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=19714">19714</a>
Eclipse crashes: Drag &amp; Drop
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=19794">19794</a>
Method body change may result in massive recompilation
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=18983">18983</a>
Replacing binary project doesn't trigger build
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=18953">18953</a>
Package disapears when disconnected from CVS repopsitory
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=19638">19638</a>
Open Type Hierarchy can start infinite progress monitor
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=19687">19687</a>
Preferences not working with import/export
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=19512">19512</a>
ArrayIndexOutOfBound during incremental build
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=18922">18922</a>
Scrapbook does not come back when errors in snippet  

<h3>Problem Reports Closed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=19808">19808</a>
core ClassCastException exception in log
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=19882">19882</a>
maybe a cu's single type can be its proimary type too
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=19586">19586</a>
Java project removed from Projects view
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=15972">15972</a>
JAR file from classpath not indexed
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=18680">18680</a>
Classpath Loop

<p><hr><h1>
Eclipse Platform Build Notes&nbsp;<br>
Java development tools core</h1>
Eclipse SDK Build 20020606 - 6th June 2002 
<br>Project org.eclipse.jdt.core v_255
<h2>
What's new in this drop</h2>
<ul>
<li>Removed deprecated API on <code>IJavaProject</code>. These were not in 1.0, and shouldn't have been
introduced (incorrectly resurrected from 0.9).
  <ul>
	<li><code>IJavaProject#getClasspath(...) --&gt; IJavaProject#getRawClasspath(...) </code></li>
	<li><code>IJavaProject#setClasspath(...) --&gt; IJavaProject#setRawClasspath(...) </code></li>
	<li><code>IJavaProject#newProjectEntry(...) --&gt; JavaCore#newProjectEntry(...) </code></li>
	<li><code>IJavaProject#newLibraryEntry(...) --&gt; JavaCore#newLibraryEntry(...) </code></li>
	<li><code>IJavaProject#newSourceEntry(...) --&gt; JavaCore#newSourceEntry(...) </code></li>
  </ul>
</li>
</ul> 

<h3>Problem Reports Fixed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=19303">19303</a>  
Open type does not show all type.
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=14109">14109</a>  
Deadlock between ProblemTreeViewer refresh and reconciler
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=19254">19254</a>  
Some local variable completion proposals are missed
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=19131">19131</a>  
NPE when removing a project containing missing classfile folder
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=19058">19058</a>  
Closing non-java project doesn't remove root from java project  
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=18584">18584</a>  
New 2.0 APIs marked as deprecated should be removed
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=18698">18698</a>  
Seeing non-java projects in package view
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=18920">18920</a>  
NPE searching for references to a message  
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=18749">18749</a>
Missing java doc for IConstantPoolEntry
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=18583">18583</a>  
New constants not tagged with @since 2.0  
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=18708">18708</a>
DOM AST - IllegalArgumentException organizing imports
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=18039">18039</a>
Opening .class file fails
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=18621">18621</a>
Query all types when project is closed prevents reindexing when project is open  

<h3>Problem Reports Closed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=19271">19271</a>    
IOException when searching for packages  
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7916">7916</a>  
Code assist does not find class
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=19424">19424</a>  
JDT processing deltas for non-java files in non-java projects
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=18633">18633</a>  
Build failed: Can not find the class file for org.eclipse.jdt.core.jdom.IDOMInitializer
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=18175">18175</a>  
Quickfix false positives for non-public classes
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=19293">19293</a>  
cancelling compiling does not always cancel
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=18539">18539</a>  
unable to run JDBC program, class not found
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=3292">3292</a>  
Adding new class takes very long (&gt;20s) (1GEUGFQ)
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=3333">3333</a>  
JavaCore does not recognize dot notation for inner classes (1GI7GZG)  
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=18507">18507</a>
overwritting exiting file does not work
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=18414">18414</a>
NLS Tools: Find strings and compiler warning out of synch 
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=5605">5605</a>    
NPE restarting workspace
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=3252">3252</a>    
Code assist list could be narrower in throws completion (1GD074C)
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=18724">18724</a>    
Code for the static initializer is exceeding the 65535 bytes limit
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=3272">3272</a>    
CodeCompletion - should only resolve interfaces (1GE5B8X)
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=6259">6259</a>    
DCR: IClasspathEntry with JavaDoc location
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=10007">10007</a>    
NPE and ClassCastException when renaming class name
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=3222">3222</a>    
JM - Reminder - re-enable transient reconciling marker  (1GAJ9FQ)
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=3267">3267</a>    
Deadlock while refreshing form local (1GDTUSD)
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=5583">5583</a>    
getNonJavaResources does not return .class files for source folders
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=16371">16371</a>    
Java Model Exception using code assist
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=17626">17626</a>    
Auto-format source removed newline at end of range
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=8863">8863</a>    
.classpath gets overwritten if there's an XML error
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=3335">3335</a>    
Java Element Deltas: Performance issues with deltas from Working Copy (1GIE36J)
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=3253">3253</a>    
SEVERE: Not all external JARs show up in packages view (1GD0JZO)
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=1834">1834</a>    
Cancel build with 10000+ problems takes forever to update (1G2Q9YZ)

<p><hr><h1>
Eclipse Platform Build Notes&nbsp;<br>
Java development tools core</h1>
Eclipse SDK Build 20020601 - 1st June 2002 - FREEZE 2
<br>Project org.eclipse.jdt.core v_254
<h2>
What's new in this drop</h2>
<ul>
<li>The resource copy exclusion filter now tolerates whitespaces inside the filter pattern, they will be trimmed
when used. e.g. "  .*   ,  foo/ " is now accepted.</li>
</ul>

<h3>Problem Reports Fixed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=18446">18446</a>  
JavaCore.getClasspathContainer on not yest created project
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=18411">18411</a>  
External JAR refresh - caching problem
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=18453">18453</a>  
Deleting project doesn't remove pkg fragment root in another project  
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=18331">18331</a>    
Java Model not flushed when upgrading binary projects  

<h3>Problem Reports Closed</h3>

<p><hr><h1>
Eclipse Platform Build Notes&nbsp;<br>
Java development tools core</h1>
Eclipse SDK Build 20020531 - 31st May 2002 
<br>Project org.eclipse.jdt.core v_253
<h2>
What's new in this drop</h2>
<ul>
<li>Changing 2.0 API for refreshing external JARs so as to pass in a collection of *elements* to restrain the scope
of the update (see <code>IJavaModel#refreshExternalArchives(IJavaElement[],IProgressMonitor)</code>. Elements 
can either be package fragment roots, projects or Java model.</li>
</ul>

<h3>Problem Reports Fixed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=18418">18418</a>  
 search: searchDeclarationsOfReferencedTypes reports import declarations  
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=18287">18287</a>  
&lt;Clinit&gt; change is treated as a structural change by incremental builder

<h3>Problem Reports Closed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=17766">17766</a>
Strange error when launching Eclipse from inside Eclipse 
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=18396">18396</a>
ant javac target ignores source="1.4" setting inside eclipse 
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=14187">14187</a>  
error rebuilding project
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=14607">14607</a>  
Refactor: rename isn't updating references
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=16172">16172</a>  
Namelookup slow to retrieve package fragments 
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=18157">18157</a>    
Internal Error when deleting project  
 <br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=18259">18259</a>  
changing classpath causes significant recompilation
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=10394">10394</a>  
symbolic links upset JRE path  
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=9302">9302</a>
An unexpected exception has been detected in native code outside the VM

<p><hr><h1>
Eclipse Platform Build Notes&nbsp;<br>
Java development tools core</h1>
Eclipse SDK Build 20020530 - 30th May 2002 
<br>Project org.eclipse.jdt.core v_252
<h2>
What's new in this drop</h2>
<ul>
<li>Compiler can now optionally report unused imports. See option named "" on <code>JavaCore#getDefaultOptions</code> comment
<pre>
	 * COMPILER / Reporting Unused Import
	 *    When enabled, the compiler will issue an error or a warning for unused import 
	 *    reference 
	 *     - option id:		"org.eclipse.jdt.core.compiler.problem.unusedImport"
	 *     - possible values:	{ "error", "warning", "ignore" }
	 *     - default:		"ignore"
</pre>
Note that if import problems (separate settings) are disabled, unused imports will not be reported either.
This option is also available to the batch compiler ("-warn:unusedImports"). Implementations of <code>IProblemRequestor</code>
can identify this new problem through its ID <code>IProblem#UnusedImport</code>.
</li>
<li>Added API on IType so as to tell whether a type is anonymous, local or member.</li>
<li>Changing 2.0 API for refreshing external JARs so as to pass in a collection of projects to restrain the scope
of the update (see <code>IJavaModel#refreshExternalJARs(IJavaProject[],IProgressMonitor)</code>. </li>
</ul>

<h3>Problem Reports Fixed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=17906">17906</a>
Rename package fails when inner classes are imported  
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=18255">18255</a>
NPE during Organize imports.... See test5 in UI tests 
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=18169">18169</a>
ast: incorrect length of SingleVariableDeclaration for some array declarations 
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=18138">18138</a>
Resolving failure in variable declaration 
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=18135">18135</a>
importing plugins resulted in 9MB of errors added to log
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=18190">18190</a>
add a new PackageFragmentRoot does not update the name lookup of dependent projects
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=15441">15441</a>
Important: Problem highlight is out of sync with compiler
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12649">12649</a>
Missing import after move  
   
<h3>Problem Reports Closed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=18042">18042</a>
AST: Resolving failes with semicolon while loop body 

<p><hr><h1>
Eclipse Platform Build Notes&nbsp;<br>
Java development tools core</h1>
Eclipse SDK Build 20020529 - 29th May 2002 
<br>Project org.eclipse.jdt.core v_251
<h2>
What's new in this drop</h2>
<ul>
</ul>

<h3>Problem Reports Fixed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=18078">18078</a>
memory leak - destroy a WorkingCopy remove and re-add his buffer
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=16187">16187</a>
Problems occured building seleted resources. MemberTypeBinding
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=18029">18029</a>
disassembled code viewer handles \n incorrectly 
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=17922">17922</a>
ClassCastException on rename temp 
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=18054">18054</a>
JDT/Core is using the platform encoding instead of the encoding set in the UI
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=17923">17923</a>
Can't find refs to binary fields  
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11823">11823</a>
npe when trying to set source to rt.jar
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=17609">17609</a>
deleting a resource results does not change local history
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=16120">16120</a>
SelectionParser build wrong AST for instanceof statement
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=14468">14468</a>
F3 doesn't work on DefaultExceptionHandler

<h3>Problem Reports Closed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=14373">14373</a>
Number of spaces representing a tab is alway 4 
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=6169">6169</a>
Creating the tasks view hangs the UI thread
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=18070">18070</a>
NullPointerException during build
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=9173">9173</a>
Exception about missing org.eclipse.core.boot\.classpath file?
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=15602">15602</a>
OutOfMemoryError
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=15311">15311</a>
Importing external plug-ins from file system fails
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13852">13852</a>
Cannot generate EJB inheritance deployed code without debug info
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=17046">17046</a>
Inner class reference to Outer class method not recognized
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=17953">17953</a>
NullPointerException when compiling cocoon2
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=17930">17930</a>
Moving secondary types is fooling the java incremental builder
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=17873">17873</a>
Synchronize Comparison does poor job on .classpath files
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=16736">16736</a>
Comment before package statement not associated with it 
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12551">12551</a>
Search finds some but not all method refs  
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=17254">17254</a>
Could not find .classpath.

<p><hr><h1>
Eclipse Platform Build Notes&nbsp;<br>
Java development tools core</h1>
Eclipse SDK Build 20020527 - 27th May 2002 
<br>Project org.eclipse.jdt.core v_250
<h2>
What's new in this drop</h2>
<ul>
<li>Added API to retrieve cached flags on type hierarchies (see <code>ITypeHierarchy#getCachedFlags(IType)</code>). Note that these
flags can help answering both isClass/isInterface queries as well (see <code>Flags.isInterface(int)</code></li>
<li>Added API to trigger a Java model refresh with respect to external JARs: <code>IJavaModel#refreshExternalJARs</code>.
<pre>
/**
 * Triggers an update of the JavaModel with respect to the referenced external JARs.
 * This operation will issue a JavaModel delta describing the discovered changes, in term
 * of Java element package fragment roots added, removed or changed.
 * 
 * @param monitor - a progress monitor used to report progress
 * @exception JavaModelException in one of the corresponding situation:
 *    - an exception occurs while accessing project resources 
 * 
 * @see IJavaElementDelta
 * @since 2.0
 */
void refreshExternalJARs(IProgressMonitor monitor) throws JavaModelException;
</pre>
 </li><li>Added flag for notifying a JAR content change during Java delta notification: <code>IJavaElementDelta#F_ARCHIVE_CONTENT_CHANGED</code></li>
</ul>

<h3>Problem Reports Fixed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=17097">17097</a>
Searching for "*" in java gives a cryptic error message dialog.  
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=15162">15162</a>
Assertion failure during shutdown  
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=17145">17145</a>
NPE  while compiling
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=17807">17807</a>
Incremental build problems deleting secondary types
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=17564">17564</a>
Register java file types with the team plugin
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=17422">17422</a>
JDT Compiler Adapter and compatibility with Ant 1.5 
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=17101">17101</a>
Assertion failure during shutdown  
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=17562">17562</a>
Race condition on startup leads to 2 JavaModel instances
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=15395">15395</a>
AssertionFailedException when creating new Java project  
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=17797">17797</a>
NullPointerException while building
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=17827">17827</a>
NullPointerException at  CompilationResult.computePriority
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=16761">16761</a>
NPE when doing Project -&gt; Rebuild All
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=3329">3329</a>
Specification for IJavaElementDelta needed (1GHVW5M)  
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=16753">16753</a>
Exception while building
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12159">12159</a>
Code Format is generating bogus output 
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=16751">16751</a>
Renaming a class doesn't update all references  
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=16789">16789</a>
Incomplete project element if .classpath file isn't readable
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=16279">16279</a>
compiler creates code that causes verifier error
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=14113">14113</a>
Should listen to F_SOURCEATTACHED and F_SOURCEDETACHED java deltas  
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=15250">15250</a>
Need a better mapping for the method free return opcode 
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=16091">16091</a>
Need way to refresh JAR files

<h3>Problem Reports Closed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=16354">16354</a>
Code Assist has too many items after throws
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=16863">16863</a>
type hierarchy misses types  
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=14892">14892</a>
Failed package import leads to OutOfMemory errors at compile time  
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=17197">17197</a>
F1 - "Add Jars" to build path locks up eclipse - win2k
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=15211">15211</a>
NPE while searching for a field  
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=16494">16494</a>
newSuperTypeHierarchy on binary type returns empty hierarchy  
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=17127">17127</a>
IllegalArgumentException in SimpleName.setIdentifier(SimpleName.java:136) in M5 
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=16857">16857</a>
Empty folder creation
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=16209">16209</a>
Support declared packages that are different from directory location
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=6068">6068</a>
Walkback during plugin import
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12985">12985</a>
Unexpected full build in incremental mode
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11022">11022</a>
Unexpected full build
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=16436">16436</a>
CoreException importing org.eclipse.ui.win32
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12520">12520</a>
JDTCompilerAdapter does not understand -extdirs
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=10047">10047</a>
JDTCompilerAdapter  ignores -nowarn and deprecation off.

<p><hr><h1>
Eclipse Platform Build Notes&nbsp;<br>
Java development tools core</h1>
Eclipse SDK Build 20020521 - 21st May 2002 
<br>Project org.eclipse.jdt.core v_249 - MILESTONE 6 / FREEZE 1
<h2>
What's new in this drop</h2>
<ul>
<li>'.classpath' file is now written using platform line delimiters (used to be only using LFs). It is recommanded to convert it to 'text' format
so as to avoid surfacing delimiter differences in between incompatible platforms. </li>
<li>The setting allowing for filtering resource copy now also supports folder filtering. Folder names are
recognized by their '/' suffix, e.g. "META-INF/" specifies filtering out all folder named 'META-INF' (and their contents)</li>
</ul>

<h3>Problem Reports Fixed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=3244">3244</a>
Classpath is not saved using UTF8 (1GCV467)
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13878">13878</a>
Request to support folders for resource copy filters
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=16135">16135</a>
Unexpected errors while reconciling

<h3>Problem Reports Closed</h3>

<p><hr><h1>
Eclipse Platform Build Notes&nbsp;<br>
Java development tools core</h1>
Eclipse SDK Build 20020518 - 18th May 2002 
<br>Project org.eclipse.jdt.core v_248
<h2>
What's new in this drop</h2>
<ul><li>Added <code>ToolFactory.createDefaultClassFileReader(IClassFile classfile, int decodingFlag)</code> as an helper method to
	create a classfile reader for classfile elements.</li>
</ul>

<h3>Problem Reports Fixed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=16130">16130</a>
build xerces/plugin.properties slow
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=16175">16175</a>
NPE in IndexManager#checkIndexConsistency  
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=15563">15563</a>
CompletionEngine does not report type packages of local variables
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12374">12374</a>
NPE in ResultCollector
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=15977">15977</a>
NPE in Code Assist
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=14037">14037</a>
Internal Error doing java search 
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=16126">16126</a>
ArrayIndexOutOfBoundsException during compilation 
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=16132">16132</a>
Error on Extract Method Refactoring 
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=16052">16052</a>
NPE when search reference of a constructor  
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=15945">15945</a>
Creating new class causes most projects to be recompiled

<h3>Problem Reports Closed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=9244">9244</a>
Search Generates OutOfMemoryError  
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=15423">15423</a>
JRE_LIB source attachment via properties does not work
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=15931">15931</a>
Proposed results to limited/invalid
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=16131">16131</a>
Java search fails to find all references to static final MB_ADDITIONS
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=15192">15192</a>
PackageFragment::copy never overwrites

<p><hr><h1>
Eclipse Platform Build Notes&nbsp;<br>
Java development tools core</h1>
Eclipse SDK Build 20020515 - 15th May 2002 
<br>Project org.eclipse.jdt.core v_247
<h2>
What's new in this drop</h2>
<ul>
    <li> New compiler option added to control max number of problems reported on a unit. Default is 100. See <code>JavaCore#getDefaultOptions()</code>
    <pre>
	 * COMPILER / Maximum number of problems reported per compilation unit
	 *    Specify the maximum number of problems reported on each compilation unit.
	 *     - option id:			"org.eclipse.jdt.core.compiler.maxProblemPerUnit"
	 *     - possible values:	"&lt;n&gt;" where &lt;n&gt; is zero or a positive integer (if zero then all problems are reported).
	 *     - default:			"100"
    </pre> </li>
    <li>By default, the Java builder is now aborting build process on projects with classpath problems. This option can be disabled through the Java preferences:
    Window&gt;Preferences&gt;Java&gt;Builder&gt;</li>
</ul>

<h3>Problem Reports Fixed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=16051">16051</a>
DOM/AST: wrong position in if statement 
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=15788">15788</a>
Walkbacks at startup  
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=16021">16021</a>
Infinite loop in JavaCore.isReferencedBy(...)
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=14467">14467</a>
Outliner doesn't highlight method
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=16017">16017</a>
JavaBuilder reports  build failures on dependencies onto internal JARs
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=15568">15568</a>
Watchpoints, method breakpoints in interesting locations not showing in editor ruler

<h3>Problem Reports Closed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=16801">16801</a>
Compiler problem when */ appears in commented String.
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12955">12955</a>
Problem with Type Dialog and HierarchyScopes - build 20020214  
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=16016">16016</a>
Opening a project after starting Eclipse misses project indexes (or other internal stuff)
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=15190">15190</a>
Java Build errors after save
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=16008">16008</a>
Hang during shutdown
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12392">12392</a>
Problems to add Project from repository
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=15103">15103</a>
Search results are missing qualification

<p><hr><h1>
Eclipse Platform Build Notes&nbsp;<br>
Java development tools core</h1>
Eclipse SDK Build 20020514 - 14th May 2002 
<br>Project org.eclipse.jdt.core v_246
<h2>
What's new in this drop</h2>
<ul>
    <li>Java compiler never record more than 100 markers for compilation problems. All APIs using IProblemRequestor still
    	see them all. This change is intended to prevent the task list from being overhelmed with tons of secondary problems. </li>
	<li>Added APIs that allow to create a type hierarchy with a set of working copies that take precendence
	      over their original compilation unit:
	      <ul>
	      	<li><code>IType.newSuperTypeHierarchy(IWorkingCopy[], IProgressMonitor)</code></li>
	      	<li><code>IType.newTypeHierarchy(IWorkingCopy[], IProgressMonitor)</code></li>
	      </ul>
	      Note that change notification and refreshing is not supported on these hierarchies.
	</li>
</ul>

<h3>Problem Reports Fixed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=14051">14051</a>
The implementation for IType.resolveType(String) is not implemented as noted in the JavaDoc specs
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=15322">15322</a>
need a way to create a type hierarchy that considers working copies  
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=15142">15142</a>
CCE in SourceConstructorDeclaration 
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=15349">15349</a>
JavaModelException out of Content assist  
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=15677">15677</a>
Exception calling sourceType.getFields on working copy of new class  
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=15657">15657</a>
IDOMMethod.getReturnType returns null for all methods 
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=15804">15804</a>
DOM/AST: wrong Length in cascading if/then/else 
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=15400">15400</a>
Compiler generates way too many errors
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=15857">15857</a>
Deadlock in the indexer.shutdown()
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=15756">15756</a>
Organizing imports doesn't pick up the right type 
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=15430">15430</a>
hang up eclipse
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=14965">14965</a>
Search results in .class files don't select reference
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=15690">15690</a>
Classpath being set in wrong notification lifecycle
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=15810">15810</a>
ClasspathContainer question
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=15717">15717</a>
I cant hold JDK Compiler Compliance level setting.
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=15448">15448</a>
i keep loosing preferences
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=15113">15113</a>
extract method: assertion failure 

<h3>Problem Reports Closed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=8137">8137</a>
Code assist for anonymous inner type too late
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=15761">15761</a>
Log message after importing plugins fails
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=15852">15852</a>
need set api on IClasspathEntry
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=15579">15579</a>
Incomplete Java Error Message
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13756">13756</a>
Code Completion + Type Introspection  
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=3198">3198</a>
Caller of Signature.toString(String) should be aware that it won't work for '$' separated top-level types (1G4QB2S) 
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=15332">15332</a>
Problem with "\\" in editor/compiler 

<p><hr><h1>
Eclipse Platform Build Notes&nbsp;<br>
Java development tools core</h1>
Eclipse SDK Build 20020507 - 7th May 2002 
<br>Project org.eclipse.jdt.core v_245
<h2>
What's new in this drop</h2>
<ul>
	<li>Added org.eclipse.jdt.core.dom.Message#Message(String, int, int). This new constructor allows to set the length field. The constructor
	org.eclipse.jdt.core.dom.Message#Message(String, int) still exists and set the length to 0. There is no need to use the new constructor if the length
	is never used.</li>
	<li>Renamed org.eclipse.jdt.core.dom.Message#getSourcePosition() to org.eclipse.jdt.core.dom.Message#getStartPosition(). This
	is more consistent with the DOM/AST API. The old method has been deprecated and will be removed in a close future.</li>
	<li>Added org.eclipse.jdt.core.dom.Message#getLength() allowing to retrieve the length of the node on which
	the message has been reported.</li>
	<li> Added <code>JavaCore#getSharedWorkingCopies(IBufferFactory)</code> allowing to retrieve all registered working
		copies for a given buffer factory. </li>
	<li> JavaBuilder no longer build projects for which prerequisite projects aborted the build process. This considerably
		reduces the number of secondary errors when dealing with workspace setup problems.</li>
	<li> Added <code>IWorkingCopy#reconcile(boolean forceProblemDetection, IProgressMonitor monitor)</code> allowing to force
		problem refresh even if working copy was already consistent.
    <li> Added <code>IClasspathContainer</code> new kind constant <code>K_DEFAULT_SYSTEM</code> to denote system libraries implicitely contributed
    	by a runtime. </li>
    <li> Classpath container path can have more than 2 segments. First one is still the container ID, the remaining ones are forming the hints
    	passed to the resolution phase (<code>ClasspathContainerInitializer</code> </li>
    <li> Classpath containers can no longer contain variable entries </li>
	<li>JavaCore now persists its options (<code>JavaCore#getOptions</code>) using its plugin property store. Clients no longer need to save them. </li>
	<li>JavaCore now provides constants for all supported option IDs and values.</li>
	<li>JavaCore option added, to allow build to abort in presence of invalid classpath. 
	<li>Leveraged new encoding support from Platform/Core. The JavaCore option "org.eclipse.jdt.core.encoding" is now equivalent to <code>ResourcesPlugin.getEncoding()</code>.
	<pre>
	 * BUILDER / Abort if Invalid Classpath
	 *    Allow to toggle the builder to abort if the classpath is invalid
	 *     - option id:        "org.eclipse.jdt.core.builder.invalidClasspath"
	 *     - possible values:  { "abort", "ignore" }
	 *     - default:          "ignore"
	</pre>
</ul>

<h3>Problem Reports Fixed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=15416">15416</a>
Classpath container - need to set value even if not referenced
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=15418">15418</a>
Classpath container - may get the init-in-progress value back
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=15334">15334</a>
ast: Message should have length 
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=15364">15364</a>
search for references of DebugUIPlugin.setAttributes(...) fails  
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=15175">15175</a>
Need API to retrieve all shared working copies for a buffer factory
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=15254">15254</a>
JavaModelManager thinks JavaProject is closed when it is open  
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=3356">3356</a>
API - should provide API for running batch compiler (1GJIWDP)
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=15244">15244</a>
NPE in JDTCompilerAdapter 
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=15289">15289</a>
Why is an incorrect package declaration not reported during reconciling
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13225">13225</a>
quick fix: shows up only after I save
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=15081">15081</a>
JavaConventions.validateClasspath allows nesting source folders
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=15044">15044</a>
Unable to view some non-java files in external jars  
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=15177">15177</a>
Classpath markers not correctly updated  
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=15168">15168</a>
circular errors not reported
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13957">13957</a>
LaunchingPlugin specification of resourceCopyExclusionFilter
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12977">12977</a>
Adding Java nature to a project does not bring it to like in package view  
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=15107">15107</a>
Internal Error organizing imports 
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=15030">15030</a>
NPE trying to open or edit source files that reference jbuilder.jar 
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=14838">14838</a>
Scrapbook editor: bad handling of // comment 
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12543">12543</a>
Code assist to insert method does not work when there are extra top-level statements
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=15061">15061</a>
IllegalArgumentException in ASTNode.setSourceRange 
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=15036">15036</a>
ASTVisitor.preVisit and ASTVisitor.postVisit not called correctly 
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=3193">3193</a>
JM - ISourceManipulation.delete send replace-BufferChangedEvent (1FYE8XI)  
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=15091">15091</a>
Too many cycle markers generated when cycle is detected  
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=14754">14754</a>
CodeAssist - Duplicate method declaration proposal inside anonymous type
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=15051">15051</a>
Synthetic access methods are not reported to be synthetic
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=3059">3059</a>
JRE_LIB not appended to buildPath (1GF7TAZ)
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=15050">15050</a>
Cleanup Javadoc @exception tags in DOM/AST
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=14151">14151</a>
The code formatter does not respect the "maximum line length" property when the indentation is set to tabulation. 
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=14974">14974</a>
Bad generated code for '+=' and '-=' operators

<h3>Problem Reports Closed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=15719">15719</a>
Errors during build
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=15087">15087</a>
NPE when methods from the outermost enclosing class is invoked in a anonymous class
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13057">13057</a>
NPE in JavaElementRequestor
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11155">11155</a>
ArrayIndexOutOfBounds exception that caused workbench to freeze
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12921">12921</a>
Build sometimes builds files that have not changed
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=14962">14962</a>
JDT Search returning improper type
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=14929">14929</a>
External Locations for Output Files

<p><hr><h1>
Eclipse Platform Build Notes&nbsp;<br>
Java development tools core</h1>
Eclipse SDK Build 20020430 - 30th April 2002 
<br>Project org.eclipse.jdt.core v_243
<h2>
What's new in this drop</h2>
<ul>
	<li>Priority of the background indexer has been lowered so that
	    it doesn't interfer with other threads (e.g. when switching JRE
	    the indexing will not start before the switch has completed)
	</li>
	<li>Revised Classpath Container proposal (also see <a href="http://dev.eclipse.org/viewcvs/index.cgi/~checkout~/org.eclipse.jdt.core/notes/r2.0/classpath%20container/classpathContainer.html">notes</a>):
	<ul>
	<li><code>classpathContainerChanged()</code> got replaced with setter method <code>JavaCore.setClasspathContainer(IPath containerPath, IJavaProject[] affectedProjects, IClasspathContainer respectiveContainers) </code></li>
	<li><code>ClasspathContainerResolver</code> got renamed into <code>ClasspathContainerInitializer</code></li>
	<li> Container can no longer contain any <code>CPE_SOURCE</code> entry.
	<li> added container interface <code> IClasspathContainer </code> in order to allow containers to be presented in a UI.
		  <ul>
		  <li>IClasspathEntry[] getClasspathEntries() </li>
		  <li>String getDescription() </li>
		  <li>int getKind() </li>
		  <li>Path getPath() </li>
		 </ul>
	</ul>
	</li>
	<li>If the completion is inside a super type in type declaration header then the relevance grow
		when the type have the correct nature :
		<ul>
			<li> After <code>extends</code> keyword of a class header the relevance grow if the type is a class.
			</li>
			<li> After <code>implements</code> keyword of a class header the relevance grow if the type is an interface.
			</li>
			<li> After <code>extends</code> keyword of an interface header the relevance grow if the type is an interface.
			</li>
		</ul>
	</li>
	<li> If the completion is inside a type in a catch or throws clause the relevance grow when the type is an exception
		(if the name of the type contain <code>exception</code> or <code>error</code>).
	</li>
	<li> If the completion is inside a throw statement the relevance grow when the proposal is an exception.
	</li>
	<li>The background indexer now recovers from internal crash. If this happens, 
	    a new thread is created and a consistency check is done on all indexes.
	</li>
	<li>An internal buffer factory is now used to create buffers when
	    clients don't provide one.
	</li>
	<li>Special handling in the formatter for //$NON-NLS- comments in the source. When a line contains such comments
	it is not formatted anymore. The user will need to manually format it. See <a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=14387">14387</a> and
	<a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=12540">12540</a>.
	</li>
</ul>

<h3>Problem Reports Fixed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=14933">14933</a>
AST: No error message generated for unreachable code 
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=14921">14921</a>
No error message from inner type instantiation in static context
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13919">13919</a>
Declaration for package not found if scope is not project  
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=14852">14852</a>
Organize Import: missing import 
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13531">13531</a>
Java indexing thread finds "Bonjour, le monde!" too interesting
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=14878">14878</a>
static final char NegThree= (char)-3, -3 == NegThree returns true
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=14331">14331</a>
ICompilationUnit.getElementAt dos not find import decl  
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=14038">14038</a>
ClassCastException during JavaReconciling
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=14011">14011</a>
ASTNode.checkNewChild(ASTNode, ASTNode, boolean, Class) 
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13577">13577</a>
Problem highlighter is unable to import from Java3D library.
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=14831">14831</a>
NPE with hierarchy search of a local variable  
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=14243">14243</a>
Applet Viewer Integration
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=14140">14140</a>
ClassCastException when trying to open Java editor
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=14834">14834</a>
smalltalk-ish error message
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11651">11651</a>
Auto-complete shows all Object subclasses after "throws" keyword
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=4970">4970</a>
Automatic Code Assist needs to be smarter #6
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=8651">8651</a>
Code assist should offer exception instead of any class
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=14767">14767</a>
bug in IJavaProject.findType(String, String)
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=14642">14642</a>
StringIndexOutOfBoundsException when attempting to view some classes 
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=14558">14558</a>
Adding binary project doesn't fix classpath problems.  
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=14588">14588</a>
NullPointerException in Util.equalArraysOrNull  
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13492">13492</a>
Should handle JavaModelExceptions that contains CoreException more gracefully  
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12540">12540</a>
Code formatter should leave comments at end of line 
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=14387">14387</a>
Formatter isn't //$NON-NLS-1$ aware
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=14313">14313</a>
DCR: AST in methods with missing return type 
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=14094">14094</a>
Indexer: Deadlock on delete project  
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=14594">14594</a>
"Open type" doesn't find types in project with Java nature added  
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=14602">14602</a>
ast: length of variable declaration fragment 
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=14592">14592</a>
IType#getTypes and IType#getDeclaringType are not coherent with Hastable 
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13868">13868</a>
Java Model not updated properly  
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13234">13234</a>
Can't open type
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=9296">9296</a>
Hang on open type during indexing
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13916">13916</a>
api: IScanner - Scanner.linePtr
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=14526">14526</a>
NPE when resolving a SimpleName 
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11529">11529</a>
ast: missing (?) binding on simpleName in VariableDeclaration 
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=14453">14453</a>
Remove InfixExpression.Operator.INSTANCEOF operator 
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=14490">14490</a>
Possible concurrency hole when saving index before query  

<h3>Problem Reports Closed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=14844">14844</a>
NPE creating binary projects
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=14908">14908</a>
100% CPU utilization, hang
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=14733">14733</a>
NPE setting marker attributes
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13743">13743</a>
(NPE) Eclipse froze during "open type"
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=14074">14074</a>
Search: Not all refs to TwoPaneElementSelector constructor found  
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=14889">14889</a>
bug in IJavaProject.findType(String, String)
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12439">12439</a>
auto completion doesn't consistently work
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=14818">14818</a>
no message for uncaught exception in try block when return in finally
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13810">13810</a>
ClassCastException in indexer
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13527">13527</a>
NPE + GP switching JRE
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=14096">14096</a>
IWorkingCopy.findElements should not return null  
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13943">13943</a>
Eclipse crashes when doing a "rebuild all"
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=14440">14440</a>
Possible bug in compiling inner classes

<p><hr><h1>
Eclipse Platform Build Notes&nbsp;<br>
Java development tools core</h1>
Eclipse SDK Build 20020508-M5patch" - 8th May 2002 
<br>Project org.eclipse.jdt.core v_242b
<h2>
What's new in this drop</h2>
<ul>
	<li>Java builder is logging its internal errors </li>
</ul>
<h3>Problem Reports Fixed</h3>

<h3>Problem Reports Closed</h3>

<p><hr><h1>
Eclipse Platform Build Notes&nbsp;<br>
Java development tools core</h1>
Eclipse SDK Build 20020423 - 23rd April 2002 
<br>Project org.eclipse.jdt.core v_242a
<h2>
What's new in this drop</h2>
<ul>
	<li>Java model API additions:
		<ul>
			<li><code>IJavaProject.findType(String)</code></li>
			<li><code>IJavaProject.findType(String, String)</code></li>
			<li><code>IMethod.isMainMethod()</code></li>
			<li><code>IMethod.isSimilar(IMethod)</code></li>
			<li><code>IType.getFullyQualifiedName(char)</code></li>
			<li><code>IType.getTypeQualifiedName(char)</code></li>
		</ul>
	</li>
	<li>API change: <code>IWorkingCopy.findSharedWorkingCopy()</code> is now taking an extra argument: the buffer factory it is associated with. This ensures that
		working copies can only be reused for the same buffer factories.
	</li>
	<li> JavaModelOperations now guarantee the JavaModel is up to date when notifying the Java model change listeners. In particular,
	a builder running after the Java builder will be able to query the Java model with respect to the changes introduced through Java model
	operations (except for index queries). This was never guaranteed in 1.0, but indirectly occurred due to the fact that the previous Java
	builder implementation did force to refresh the Java model while building. </li>
	<li>Classpath Container Enhancement (also see <a href="http://dev.eclipse.org/viewcvs/index.cgi/~checkout~/org.eclipse.jdt.core/notes/r2.0/classpath%20container/classpathContainer.html">notes</a>):
	<br>Added new type of classpath entry (<code>CPE_CONTAINER</code>), (see proposal here) so as to better encapsulate client defined libraries.
	Typically, VM installs would use classpath containers instead of classpath variables (<code>JRE_LIB</code>) so as to better describe the corresponding
	set of libraries (including extension dirs) to be placed on the build path. 
	<p>New APIs added to reflect this addition:
	<ul>
	<li><code>JavaCore.newContainerEntry(IPath containerPath)</code></li>
	<li><code>JavaCore.newContainerEntry(IPath containerPath, boolean isExported)</code></li>
	<li><code>JavaCore.classpathContainerChanged(IPath containerPath, IJavaElement scope) </code></li>
	<li><code>ClasspathContainerResolver </code></li>
	</ul>
	</li>
	<li>DOM/AST:<br>A new type of node has been added to handle properly the instanceof expression. So the new InstanceofExpression node 
	replaced the usage of InfixExpression with the operator InfixExpression.Operator.INSTANCEOF. This operator has been
	deprecated and is expected to be removed for the next integration build. See bug <A HREF="http://dev.eclipse.org/bugs/show_bug.cgi?id=14453">14453</a>.</li>
</ul>

<h3>Problem Reports Fixed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13807">13807</a>
null binding returned for fully qualified array declaration 
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=14403">14403</a>
ast: exception on creation 
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=14229">14229</a>
Failure writing to a read only .project
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13905">13905</a>
changes to read-only .classpath file are not thrown out
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=6165">6165</a>
handle read-only class path file in a graceful way
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=14322">14322</a>
AST/DOM : IVariableBinding.getDeclaringClass() for 'length' field of an array return null 
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=14343">14343</a>
ClassFileReader.getEnclosingTypeName() should return null for anonymous types  
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12363">12363</a>
Better integration of the batch compiler with ant javac task option -extdirs 
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=14217">14217</a>
DOM/AST: wrong start position for expression statement 
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=14106">14106</a>
Declarations in Hierarchy does not find declarations in hierarchy  
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13060">13060</a> 
Type hierarchy on region populates Java Model cache for types in the region  
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=14117">14117</a>
NPE importing binary projects
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=14172">14172</a>
Builder is setting source resources as derived!
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=3266">3266</a>
Changing kind of classpath entry reports 1 delta (1GDTRTP)  
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13231">13231</a>
Quick Fix: wrong proposal 

<h3>Problem Reports Closed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=14141">14141</a>
NullPointerException during search  
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13831">13831</a>
NPE in RegionBasedTypeHierarchy  
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12914">12914</a>
Compiler cannot resolve javax.net
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13964">13964</a>
Exception on startup
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=14198">14198</a>
AST: CastExpression.getType().resolveBinding() is null
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13939">13939</a>
DBCS: no error message to invalid character in java source 
<p><hr><h1>
Eclipse Platform Build Notes&nbsp;<br>
Java development tools core</h1>
Eclipse SDK Build 20020418 - 18th April 2002 
<br>Project org.eclipse.jdt.core v_241a
<h2>
What's new in this drop</h2>
<ul>
	<li>Changing the source attachement of a jar will now correctly fire source
		attachment java deltas. The flags of these deltas are:
		<ul>
			<li><code>IJavaElementDelta.F_SOURCEATTACHED</code> if a source
				has been attached to a jar and no source previously existed.
			</li>
			<li><code>IJavaElementDelta.F_SOURCEDETACHED</code> if a source
				has been detached from a jar and no other source has been attached.
			</li>
			<li><code>IJavaElementDelta.F_SOURCEDETACHED | JavaElementDelta.F_SOURCEATTACHED</code> 
				if an attached source has been changed.
			</li>
		</ul>
	</li>
</ul>

<h3>
Problem Reports Fixed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=14023">14023</a>
NPE in build notifier
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=14115">14115</a>
Changing source attachment should not fire a F_REMOVED_FROM_CLASSPATH delta  
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=14055">14055</a>
NPE in JavaModelManager.getVariableAsXMLString
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=14007">14007</a>
StringLiteral.setLiteralValue does not do Unicode escaping 
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=14013">14013</a>
Compiler should not consider 'this.CONST' as constant expression
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=14008">14008</a>
VariableBinding.getVariableId contains suspicious code 
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13989">13989 </a>
Package view doesn't refresh after JRE switching
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12588">12588</a>
Good match marked as potential  
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13143">13143</a>
Binary constructor search does not work (ref &amp; decl)  
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13807">13807</a>
null binding returned for fully qualified array declaration
<h3>
Problem Reports Closed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=14103">14103</a>
Too many dependents found when incrementally recompiling
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=4384">4384</a>
Setting classpath variables does two builds  
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=3285">3285</a>
Why does change the source attachment trigger a build (1GEHXW3)  
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13906">13906</a>
Compiler did not detect uncaught exception
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=14019">14019</a>
NPE with code assist working in an anonymous inner class
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=9263">9263</a>
Code assist can't see other project's class folders  

<p><hr><h1>
Eclipse Platform Build Notes&nbsp;<br>
Java development tools core</h1>
Eclipse SDK Build 20020416 - 16th April 2002 - MILESTONE 5
<br>Project org.eclipse.jdt.core v_240
<h2>
What's new in this drop</h2>
<ul>
<li> Changed the package fragment caching policy so as to accomodate large workspaces. It used to be an overflowing LRU cache of size 1000
package fragments. It now is a simple table, which is never emptied implicitly any longer. Memory overhead looks negligeable, and it allows to
deal much better with very large workspaces. Other similar improvements were made on the same front so as to improve JRE switching with such
workspaces.

</li>
<li> ElementChangedEvent got added notion of type (similar to IResourceChangeEvent), so as to better
allow clients to react to JavaModel changes: 
	<ul> 
		<li> ElementChangedEvent.POST_CHANGE :  
<pre>
	/**
	 * Event type constant (bit mask) indicating an after-the-fact 
	 * report of creations, deletions, and modifications
	 * to one or more Java element(s) expressed as a hierarchical
	 * java element delta as returned by <code>getDelta</code>.
	 *
	 * Note: this notification occurs during the corresponding POST_CHANGE
	 * resource change notification, and contains a full delta accounting for
	 * any JavaModel operation  and/or resource change.
	 *
	 * @see IJavaElementDelta
	 * @see IResourceChangeEvent
	 * @see #getDelta
	 * @since 2.0
	 */
	public static final int POST_CHANGE = 1;
</pre>
		</li>

		<li> ElementChangedEvent.PRE_AUTO_BUILD 
<pre>
	/**
	 * Event type constant (bit mask) indicating an after-the-fact 
	 * report of creations, deletions, and modifications
	 * to one or more Java element(s) expressed as a hierarchical
	 * java element delta as returned by <code>getDelta</code>.
	 *
	 * Note: this notification occurs during the corresponding PRE_AUTO_BUILD
	 * resource change notification. The delta which is notified here only contains
	 * information relative to the previous JavaModel operations (i.e. ignores the
	 * possible resources which have changed outside Java operations). In
	 * particular, it is possible that the JavaModel be inconsistent with respect to
	 * resources which got modified outside JavaModel operations (it will only be
	 * fully consistent once the POST_CHANGE notification has occured).
	 * 
	 * @see IJavaElementDelta
	 * @see IResourceChangeEvent
	 * @see #getDelta
	 * @since 2.0
	 */
	public static final int PRE_AUTO_BUILD = 2;
</pre>
		</li>

		<li> ElementChangedEvent.RECONCILE 
<pre>
	/**
	 * Event type constant (bit mask) indicating an after-the-fact 
	 * report of creations, deletions, and modifications
	 * to one or more Java element(s) expressed as a hierarchical
	 * java element delta as returned by <code>getDelta</code>.
	 *
	 * Note: this notification occurs as a result of a working copy reconcile
	 * operation.
	 *
	 * @see IJavaElementDelta
	 * @see IResourceChangeEvent
	 * @see #getDelta
	 * @since 2.0
	 */
	public static final int POST_RECONCILE = 4;	
</pre>
		</li>
	</ul>
</li>	
<li>	
	Also added a corresponding API on JavaCore so as to allow registering a listener for a given type of event.
	<pre>
	/**
	 * Adds the given listener for changes to Java elements.
	 * Has no effect if an identical listener is already registered.
	 * After completion of this method, the given listener will be registered for exactly the
	 * the specified events.  If they were previously registered for other events, they
	 * will be deregistered.  
	 *
	 * Once registered, a listener starts receiving notification of changes to
	 * java elements in the model. The listener continues to receive 
	 * notifications until it is replaced or removed. 
	 * 
	 * Listeners can listen for several types of event as defined in <code>ElementChangeEvent</code>.
	 * Clients are free to register for any number of event types however if they register
	 * for more than one, it is their responsibility to ensure they correctly handle the
	 * case where the same java element change shows up in multiple notifications.  
	 * Clients are guaranteed to receive only the events for which they are registered.
	 *
	 * 
	 * @param listener the listener
	 * @param eventMask the bit-wise OR of all event types of interest to the listener
	 * @see IElementChangeListener
	 * @see ElementChangeEvent
	 * @see #removeElementChangeListener
	 *	@since 2.0
	 */
	public static void addElementChangedListener(IElementChangedListener listener, int eventMask)
	</pre>

</li>	
</ul>

<h3>
Problem Reports Fixed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12353">12353</a>
DocumentAdapter can never be closed
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=9628">9628</a>
Switching JRE is slow
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11585">11585</a>
Large # of projects lock essential operations in the Workspace
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13393">13393</a>
Extremely poor java editor performance in 2002040x
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13233">13233</a>
IllegalArgumentException on variable declaration in evaluation 
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13625">13625</a>
Remove deprecated method from AST/DOM 
<h3>
Problem Reports Closed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13593">13593</a>
Code Formatter formats synchronized incorrectly. 
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12921">12921</a>
Build sometimes builds files that have not changed
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13522">13522</a>
NPE on anonymous class code assist.


<p><hr><h1>
Eclipse Platform Build Notes&nbsp;<br>
Java development tools core</h1>
Eclipse SDK Build 20020411 - 11th April 2002 
<br>Project org.eclipse.jdt.core v_239
<h2>
What's new in this drop</h2>
<ul>
<li>Added a first proposal for .class file reading APIs. This is still experimental and might change slightly.
See new API in org.eclipse.jdt.core.util.
<ul>
<li>ByteCodeVisitorAdapter</li>
<li>ClassFormatException</li>
<li>DecodingFlag</li>
<li>IAttributeNamesConstants</li>
<li>IBytecodeVisitor</li>
<li>IClassFileAttribute</li>
<li>IClassFileDisassembler and ToolFactory#createDefaultClassFileDisassembler</li> 
<li>IClassFileReader</li>
<li>ICodeAttribute</li>
<li>IConstantPool</li>
<li>IConstantPoolConstant</li>
<li>IConstantPoolEntry</li>
<li>IConstantValueAttribute</li>
<li>IExceptionAttribute</li>
<li>IExceptionTableEntry</li>
<li>IFieldInfo</li>
<li>IInnerClassesAttribute</li>
<li>IInnerClassesAttributeEntry</li>
<li>ILineNumberAttribute</li>
<li>ILocalVariableAttribute</li>
<li>ILocalVariableTableEntry</li>
<li>IMethodInfo</li>
<li>IModifierConstants</li>
<li>IOpcodeMnemonics</li>
<li>ISourceAttribute</li>
<li>OpcodeStringValues</li>
</ul>
The default implementations are in org.eclipse.jdt.internal.core.util. Any comment is welcome and related bugs 
should be entered in JDT/Core.
<li>Added char array based APIs on Signature. This APIs avoid creating needless Strings and
	are thus much more performant than their String based equivalent.
	<ul>
		<li><code>createArraySignature(char[], int arrayCount)</code></li>
		<li><code>createCharArrayTypeSignature(char[], boolean)</code></li>
		<li><code>createMethodSignature(char[][], char[]) </code></li>
		<li><code>getArrayCount(char[])</code></li>
		<li><code>getElementType(char[])</code></li>
		<li><code>getParameterCount(char[])</code></li>
		<li><code>getParameterTypes(char[])</code></li>
		<li><code>getQualifier(char[])</code></li>
		<li><code>getReturnType(char[])</code></li>
		<li><code>getSimpleName(char[])</code></li>
		<li><code>getSimpleNames(char[])</code></li>
		<li><code>toCharArray(char[], char[], char[][], boolean, boolean)</code></li>
		<li><code>toCharArray(char[])</code></li>
		<li><code>toQualifiedName(char[][])</code></li>
	</ul>
</li>
<li>Removed temporary 2.0 API which were deprecated in previous builds:
	<ul>
		<li><code>IWorkingCopy#getSharedWorkingCopy(IProgressMonitor, IBufferFactory)</code>, use API with extra <code>IProblemRequestor</code></li>
		<li><code>IWorkingCopy#getWorkingCopy(IProgressMonitor, IBufferFactory)</code>, use API with extra <code>IProblemRequestor</code></li>
		<li><code>IWorkingCopy#reconcile(IProblemRequestor)</code>, use API with no <code>IProblemRequestor</code></li>
	</ul>
</li>	
</ul>

<h3>
Problem Reports Fixed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12762">12762</a>
Performance - Signature#createTypeSignature should be implemented in term of char[]  
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12688">12688</a>
NPE with code assist
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13408">13408</a>
Subfolders of build folder are not marked as derived
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13355">13355</a>
NPE during code completion
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13391">13391</a>
NPE doing code assist
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13487">13487</a>
NPE in CompletionEnige
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13395">13395</a>
loading swt+examples with auto-build on causes deadlock (or takes a very long time)
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13063">13063</a>
NPE in extract method 
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13247">13247</a>
IllegalArgumentException while creating AST 
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13386">13386</a>
'not implemented yet' surfaced on Display in debug 
<h3>
Problem Reports Closed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12617">12617</a>
code assist: Proposals inside method parameters
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12338">12338</a>
Unnecessary recompilation when adding packages
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12262">12262</a>
Compiler Bug with import Statement
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7082">7082</a>
NPE during build

<p><hr><h1>
Eclipse Platform Build Notes&nbsp;<br>
Java development tools core</h1>
Eclipse SDK Build 20020409 - 9th April 2002 
<br>Project org.eclipse.jdt.core v_238a
<h2>
What's new in this drop</h2>
<ul>
<li>Adding a new empty source folder no longer causes a full build. Only an incremental build is needed now.
</li>
<li>Java model API additions:
	<ul>
		<li><code>IJavaElement.getAncestor(int)</code></li>
		<li><code>IJavaElement.getOpenable()</code></li>
		<li><code>IJavaElement.getPath()</code></li>
		<li><code>IJavaElement.getResource()</code></li>
		<li><code>IJavaProject.isOnClasspath(IJavaElement)</code></li>
		<li><code>IPackageFragmentRoot.getRawClasspathEntry()</code></li>
		<li><code>IType.findMethods(IMethod)</code></li>
		<li><code>IWorkingCopy.findElements(IJavaElement)</code></li>
		<li><code>IWorkingCopy.findPrimaryType()</code></li>
	</ul>
</li>
<li>ICompletionRequestor API change :
	<ul>
		<li> Added #beginReporting() and #endReporting() API on <code>IProblemRequestor</code>. #beginReporting is always called before restarting error detection. #endReporting is always called at the
				end of detection.
		</li>
		<li> Added API for setting multiple classpath variables at once (<code>JavaCore#setClasspathVariables</code>, this allows to update
			all affected projects exactly once, instead of iterating multiple times on each project (if it references the variable). This can improve performance
			when setting JRE variables.
		</li>
		<li> Added a new parameter <code>relevance</code> to be able to sort proposal by degree of relevance.
		<code>relevance</code> is a positive integer which are used for determine if this proposal is more relevant than another proposal.
		This value can only be used for compare relevance. A proposal is more relevant than another if his relevance
		value is higher.
		<br>
		<br><tt>ICompletionRequestor{</tt>
		<br><tt>&nbsp;&nbsp;void acceptAnonymousType(..., <b>int relevance</b>);</tt>
		<br><tt>&nbsp;&nbsp;void acceptClass(..., <b>int relevance</b>);</tt>
		<br><tt>&nbsp;&nbsp;void acceptError(...);</tt>
		<br><tt>&nbsp;&nbsp;void acceptField(..., <b>int relevance</b>);</tt>
		<br><tt>&nbsp;&nbsp;void acceptInterface(..., <b>int relevance</b>);</tt>
		<br><tt>&nbsp;&nbsp;void acceptKeyword(..., <b>int relevance</b>);</tt>
		<br><tt>&nbsp;&nbsp;void acceptLabel(..., <b>int relevance</b>);</tt>
		<br><tt>&nbsp;&nbsp;void acceptLocalVariable(..., <b>int relevance</b>);</tt>
		<br><tt>&nbsp;&nbsp;void acceptMethod(..., <b>int relevance</b>);</tt>
		<br><tt>&nbsp;&nbsp;void acceptMethodDeclaration(..., <b>int relevance</b>);</tt>
		<br><tt>&nbsp;&nbsp;void acceptModifier(..., <b>int relevance</b>);</tt>
		<br><tt>&nbsp;&nbsp;void acceptPackage(..., <b>int relevance</b>);</tt>
		<br><tt>&nbsp;&nbsp;void acceptType(..., <b>int relevance</b>);</tt>
		<br><tt>&nbsp;&nbsp;void acceptVariableName(..., <b>int relevance</b>);</tt>
		<br><tt>}</tt>
		<br>
		<br>
		</li>
		<li>
		If the completion identifier and proposal are equal and the case match then the proposal relevance grow. Note that this isn't a 1.0 breaking API change, it
		only affects the 2.0 new code assist API (i.e. still backward compatible with 1.0 clients) which hasn't yet reached stability, though it should be close to now.
		</li>
	</ul>
</li>	
</ul>

<h3>
Problem Reports Fixed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12614">12614</a>
Initializing JRE variables slow on plug-in activation
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12986">12986</a>
Creating a working copy does not involve the problem requestor
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12858">12858</a>
Compiler Bug : Invalid Byte Code: 
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11739">11739</a>
Dead branches in package/project Hierarchy View  
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12873">12873</a>
CodeAssist : missing  proposal of method declaration
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12007">12007</a>
Source folder ending with .jar considered as JAR archive  
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12908">12908</a>
Build and save attempt fail with NPE and trying it many times crashs Eclipse
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12246">12246</a>
Packages view shows .class and .java files when JAR has source  
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=3349">3349</a>
Need a IJavaElement.getUnderlyingResource that does not do the exists test (1GJ69GP)
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12975">12975</a>
jacks - qualified assignment to final field should be rejected
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12969">12969</a>
jacks - synchronized (void expression) should be rejected
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12705">12705</a>
Progress monitor cuts off package name
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12767">12767</a>
AST MethodBinding question
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=9179">9179</a>
DCR: Need IJavaSearchScope equals or encloses  
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12444">12444</a>
strange types names in ReorderParameters error dialog 
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12781">12781</a>
AST instanceof-InfixExpression: Cant resolve type 
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12778">12778</a>
Typo in comment: InfixExpression.RIGHT_SHIFT_UNSIGNED 
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12768">12768</a>
IScanner doesn't let user state whether line separators are to be recorded
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12651">12651</a>
NPE out of the CompletionEngine
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12761">12761</a>
Closing a top level binary type doesn't close the class files of its inner types  
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12760">12760</a>
Type hierarchy missing anonymous binary type if closed  
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12674">12674</a>
Too many problems while reconciling
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12373">12373</a>
Assert$AssertionFailedException error while reconciling

<h3>
Problem Reports Closed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=13059">13059</a>
incorrect (?) code compiles
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12880">12880</a>
SQLJ Support
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12603">12603</a>
Could not delete empty java file  
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=9600">9600</a>
Field reference in working copy not found  
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12995">12995</a>
ToolFactory::createScanner - incorrect javadoc
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12933">12933</a>
"Never used" variable warnings can't detect across scope
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=5135">5135</a>
Open Java editor on IResource.class do an error  
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12809">12809</a>
Unimplemented methods should not prevent class from running 
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=10421">10421</a>
WSAD hang while setting buildpath  
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12590">12590</a>
Returning the type when local var is selected breaks refactoring
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12710">12710</a>
Inconsistent behavior for the method IType.createField()

<p><hr><h1>
Eclipse Platform Build Notes&nbsp;<br>
Java development tools core</h1>
Eclipse SDK Build 20020402 - 2nd April 2002 
<br>Project org.eclipse.jdt.core v_237
<h2>
What's new in this drop</h2>
<ul>
<li>Improved specification of <code>IBuffer</code> by saying that:
	<ul>
		<li> Java model operations that manipulate an <code>IBuffer</code> (e.g. 
			<code>IType.createMethod(...)</code>) ensures that the same line delimiter 
			(i.e. either <code>"\n"</code> or <code>"\r"</code> or <code>"\r\n"</code>) is 
			used accross the whole buffer. Thus these operations may change the line delimiter(s) 
			included in the string to be append, or replaced.
			However implementors of this interface should be aware that other clients of <code>IBuffer</code>
			might not do such transformations beforehand.</li>
		<li> <code>addBufferChangedListener</code> and <code>removeBufferChangedListener</code>
			have no effect if the buffer is already closed.</li>
		<li> Other operations that manipulate the buffer (like <code>setContent</code>
			might throw a <code>RuntimeException</code> if called after the buffer
			has been closed.</li>
	</ul>
</li>
<li> IScanner API :
	<ul>
		<li> added <code>IScanner#getSource</code> so as to retrieve the scanner original source
		<li> renamed <code>IScanner#setSourceBuffer</code> into <code>IScanner#setSource</code>
	</ul>
</li>	
</ul>

<h3>
Problem Reports Fixed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12454">12454</a>
AST/DOM: IllegalArgumentException generated by bad source
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12431">12431</a>
Unclear compiler error
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12416">12416</a>
Separate caching of project and pkg fragment root from caching of openables  
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12457">12457</a>
Need to synchronize JobManager.discardJobs(...)  
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12445">12445</a>
Compiler Failure on reference to abstract interface method
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12417">12417</a>
api: IScanner, ITerminalSymbols - no way to get some tokens
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12419">12419</a>
Weird secondary error in constructor reconciliation
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12419">12419</a>
api: IScanner - missing (?) getSourceBuffer
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12380">12380</a>
AST/DOM: resolveTypeBinding() on the second operand of a instanceof expression return null 
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=9790">9790</a>
Add constructors from superclass inserts in wrong place 
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12387">12387</a>
Out Of Memory error importing file
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=3423">3423</a>
Need IConstants (1GKM51O)
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11583">11583</a>
Infinite loop in OverflowingLRUCache
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12346">12346</a>
Leaking closed buffers
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11431">11431</a>
Stepping from one case statement's break ends up in next case 
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12326">12326</a>
Bad line number information returned from CompilationUnit with no trailing newline
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=3313">3313</a>
Severe - Performance - Java Model redundancies (1GFKTUN)  

<h3>
Problem Reports Closed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12470">12470</a>
0214 - Walkback during encapsulate method 
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=9179">9179</a>
DCR: Need IJavaSearchScope equals or encloses
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=10307">10307</a>
Code assist failed to search whole class path
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7079">7079</a>
Code formatting fails with java.lang.Error 
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=3255">3255</a>
Reminder - re-enable transient marker generation during code-assist (1GDCXLB)

<p><hr><h1>
Eclipse Platform Build Notes&nbsp;<br>
Java development tools core</h1>
Eclipse SDK Build 20020426 - 26th April 2002 
<br>Project org.eclipse.jdt.core v_236
<h2>
What's new in this drop</h2>
<ul>
<li> Reconciling with errors provide type errors in addition to syntax ones. This is still experimental,
	and can be disabled by unchecking the editor preference for transient problems.
</li>	
<li>Performance improvement of index queries with the <code>WaitUntilReady</code> policy. 
	The background indexer now takes all the CPU when another thread is waiting for it to 
	finish indexing.
    User will notice this improvement when doing a search or opening a type and there are 
    still files to index.
</li>
<li>Scanner API
	<ul>
		<li>defined scanner API (see <code>org.eclipse.jdt.core.compiler.IScanner</code>). </li>
		<li>added tool factory API (see <code>org.eclipse.jdt.core.ToolFactory#createScanner</code>), allowing to obtain
			a scanner (implementing <code>IScanner</code> API). </li>
	</ul>
</li>
<li> Code formatter API
	<ul>
		<li>defined code formatter API (see <code>org.eclipse.jdt.core.ICodeFormatter</code>). </li>
		<li>added tool factory API (see <code>org.eclipse.jdt.core.ToolFactory#createCodeFormatter</code>), allowing to obtain
			a code formatter (implementing <code>ICodeFormatter</code> API). Note that an extension point was also added
			to allow client code to contribute a code formatter implementation. The code formatter extension point is named
			<code>org.eclipse.jdt.core.codeFormatter</code>, also see associate comment in plugin.xml.</li>
		<li>added tool factory API (see <code>org.eclipse.jdt.core.ToolFactory#createDefaultCodeFormatter</code>), allowing to obtain
			a default code formatter (implementing <code>ICodeFormatter</code> API). </li>
	</ul>
</li>
<li> Working Copy API : instead of passing a problem requestor (<code>org.eclipse.jdt.core.IProblemRequestor</code>) to working copy #reconcile(...)
operation. The problem requestor is passed along at creation time. 
	<ul>
	<li>added IWorkingCopy.getWorkingCopy(IProgressMonitor, IBufferFactory, IProblemRequestor)</li>
	<li>added IWorkingCopy.getSharedWorkingCopy(IProgressMonitor, IBufferFactory, IProblemRequestor)</li>
	</ul>
	Previous API taking <code>IBufferFactory</code> got deprecated, they will be removed in a subsequent build.
</li>	
<li>Some internal classes got deprecated (as client code relies on them), since being surfaced:
	<ul>
		<li> <code>org.eclipse.jdt.internal.core.parser.InvalidInputException</code> <br>==&gt; <code>org.eclipse.jdt.core.compiler.InvalidInputException</code> </li>
		<li> <code>org.eclipse.jdt.internal.core.parser.TerminalSymbols</code> <br>==&gt; <code>org.eclipse.jdt.core.compiler.ITerminalSymbols</code> </li>
	</ul>
	They will be removed in a subsequent build.
</ul>

<h3>
Problem Reports Fixed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=3353">3353</a>
API - Should provide api for formatting source (1GJIWCF)
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=3179">3179</a>
Compiler - LF cannot run classes that miss implementations of an interface (1FNFVY8) 
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12199">12199</a>
Generated classfiles should be tagged as derived resources
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11640">11640</a>
Bug in the code formatter 
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=10544">10544</a>
Internal error creating long package name 
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12140">12140</a>
typo in IPackageFragmentRoot::createPackageFragment javadoc 
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11422">11422</a>
Attaching source when using variables to point to jars very unintuitive
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12000">12000</a>
Main.compile does not close log file 
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=6558">6558</a>
Missing class path entries should be displayed as an error
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=3354">3354</a>
API - should provide api for Scanning (1GJIWCT)
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7496">7496</a>
Interface shows as class under content assist
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11475">11475</a>
Code resolve reports types in security package
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=10899">10899</a>
Can't open on selection for member type in binary class
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12013">12013</a>
JavaCore.getClasspathVariable fails on empty variables
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11845">11845</a>
Internal Compiler Error
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11922">11922</a>
is this code reachable or not?

<h3>
Problem Reports Closed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12119">12119</a>
Eclipse build slow on network
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7881">7881</a>
IType.move() clobbers editing buffer of destination element
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=10703">10703</a>
ast: no API to figure out the source range of 'super' keywords
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=10983">10983</a>
NullPointerException in JavaBuilder during Save
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=3355">3355</a>
API - should provide API for source element parsing (1GJIWD8)
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=10955">10955</a>
DCR - search: too limiting api of IJavaSearchScope  
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=8819">8819</a>
Self hosting tool doesn't update search index
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11497">11497</a>
Renaming project failed with Java Model Exception: Java Model Status [Name collision.]
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12059">12059</a>
api: JavaCore::getOptions should return Map, not Hashtable
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12044">12044</a>
Search for field reference broken
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11905">11905</a>
DCR - provide scanning API

<p><hr><h1>
Eclipse Platform Build Notes&nbsp;<br>
Java development tools core</h1>
Eclipse SDK Build 20020321 - 21st March 2002 - MILESTONE 4
<br>Project org.eclipse.jdt.core v_235a
<h2>
What's new in this drop</h2>

<h3>
Problem Reports Fixed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=12014">12014</a>
No delta when adding package where src=bin and src!=proj  
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11755">11755</a>
resource copy filter and duplicated resource error
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11640">11640</a>
Bug in the code formatter
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11860">11860</a>
Cannot move a compilation unit
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11627">11627</a>
Refactoring: CCE in Pullup method
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11735">11735</a>
NPE selecting F3 in editor
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11854">11854</a>
NPE on save
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11805">11805</a>
build output filter is ignored
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11568">11568</a>
Code resolve does not work for changed constructor
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11656">11656</a>
Please add a ICompletionRequestorAdapter
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=9271">9271</a>
NPE inspecting "null" in the expressions view 
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11638">11638</a>
ast: CompilationUnit::findDeclaringNode fails 
<h3>
Problem Reports Closed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11272">11272</a>
slow context assist on method/field-rich classes
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11340">11340</a>
open on selection does not work for binary types
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11654">11654</a>
NPE during build
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11659">11659</a>
ast: CompilationUnit::findDeclaringNode fails #2 
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11086">11086</a>
ClassFileCompilationUnit should implement IClassFile

<p><hr><h1>
Eclipse Platform Build Notes&nbsp;<br>
Java development tools core</h1>
Eclipse SDK Build 20020319 - 19th March 2002
<br>Project org.eclipse.jdt.core v_234
<h2>
What's new in this drop</h2>
<ul>
<li> New API on IType for complete snippet in current type context. Code complete is performed against
 source (if available) or against type structure
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <tt>void codeComplete(</tt>
<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; char[] snippet,</tt>
<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int insertion,</tt>
<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int position,</tt>
<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; char[][] localVariableTypeNames,</tt>
<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; char[][] localVariableNames,</tt>
<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int[] localVariableModifiers,</tt>
<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; boolean isStatic,</tt>
<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ICompletionRequestor requestor) throws JavaModelException;</tt>
<br>&nbsp;
</li>
</ul>

<h3>
Problem Reports Fixed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=10318">10318</a>
Feature Request: new Code Assist API required

<h3>
Problem Reports Closed</h3>

<p><hr><h1>
Eclipse Platform Build Notes&nbsp;<br>
Java development tools core</h1>
Eclipse SDK Build 20020318 - 18th March 2002
<br>Project org.eclipse.jdt.core v_233
<h2>
What's new in this drop</h2>
<ul>
<li> Added option to trace java search activity.
    To enable it, see the following line in the org.eclipse.jdt.core/.options file:
    <code>org.eclipse.jdt.core/debug/search=true</code>
</li>
<li>Added API <code>CorrectionEngine#computeCorrections(IProblem, ICompilationUnit, ICorrectionRequestor)</code>, allowing.
to compute replacement corrections for IProblem(s) detected while reconciling.</li>
<li>Added API <code>ISourceReference#exists()</code>, allowing.
to check existency before invoking <code>ISourceReference</code> behavior. All implementations did already provide
an <code>exists()</code> method since they also are implementing <code>IJavaElement</code>.</li>
</ul>

<h3>
Problem Reports Fixed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11524">11524</a>
api: IWorkingCopy:: getWorkingCopy() javadoc
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11511">11511</a>
Compiler 1.4 fooled by extra interface methods
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11389">11389</a>
Unused parameters not showing up as compiler warnings 
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11410">11410</a>
Exception in Java Builder when debug options turned off 
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11285">11285</a>
Potential NPE in CopyResourceElementsOperation.processPackageFragmentResource 
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11440">11440</a>
npe in rename temp 
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11468">11468</a>
NPE deleting project  
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11435">11435</a>
compiler bug: overwriting implicitely abstract method in anonymous inner class
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11250">11250</a>
NPE in log after importing plugins  
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11271">11271</a>
Unable to delete a binary project in Java perspective  
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11210">11210</a>
ResourceDeltas are lost when merging deltas  
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11371">11380</a>
ast: missing binding for ConditionalExpression 
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11371">11371</a>
DOM/AST: node missing for super constructor call 
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=6243">6243</a>
an ISourceReference API issue
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11296">11296</a>
NPE during build
<h3>
Problem Reports Closed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=3438">3438</a>
OpenOnSelection - should be able to locate missing method by guessing (1GL186P)
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11406">11406</a>
ActionPerformed() method in AbstractAction not found 
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=3221">3221</a>
JM - Deadlock while saving in Editor (1GAJ67W)
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11201">11201</a>
ClassCastException during build process

<p><hr><h1>
Eclipse Platform Build Notes&nbsp;<br>
Java development tools core</h1>
Eclipse SDK Build 20020314 - 14th March 2002
<br>Project org.eclipse.jdt.core v_232
<h2>
What's new in this drop</h2>
<ul>
<li>Added API <code>IDOMFactory.createInterface()</code> and <code>IDOMFactory.createClass()</code>.
See <a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=10980">10980</a> for details.</li>
</ul>
<h3>
Problem Reports Fixed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11355">11355</a>
OpenOnSelection unable to perform in single-type import
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=9232">9232</a>
ICompilationUnit.delete() fails  
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11176">11176</a>
Organize imports misses org.eclipse.core.resources  
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=3224">3224</a>
Tests - Re-enable reconciler tests (1GAKXZM)
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=10980">10980</a>
JDT / factory for new interfaces would be nice 
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=10996">10996</a>
createCompilationUnit doesn't behave as described in the documentation 
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11125">11125</a>
DOM/AST: API request <br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11277">11277</a>
Difference in between outliner content and unit content
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=10833">10833</a>
Open type doesn't propose all type after a checkout  
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11067">11067</a>
Adding useful toString() method for each new DOM/AST nodes 
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=9933">9933</a>
Format does not handle synchronized keyword correctly 
<h3>
Problem Reports Closed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=8675">8675</a>
DCR - Code correction could suggest new element creation
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11341">11341</a>
incorrect outline (i see only imports)
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11217">11217</a>
is double "; " on a return statement an error?
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=10031">10031</a>
SEF ClassCastException 

<p><hr><h1>
Eclipse Platform Build Notes&nbsp;<br>
Java development tools core</h1>
Eclipse SDK Build 20020312 - 12th March 2002
<br>Project org.eclipse.jdt.core v_231
<h2>
What's new in this drop</h2>
<ul>
<li> Performance improvement:
     <ul>
     	<li> Search doesn't populate the Java Model any longer. Thus the memory
     	    used by a search operation can be reclaimed at the end. </li>
     	<li> Access to zip and jar files has been improved, which should result
     	     in better performance on a slow network. </li>
     </ul>
     </li>
<li> Added flag <code>IJavaElementDelta.F_FINE_GRAINED</code> that indicates
     that a fine-grained delta was computed for a given delta.
     Clients can use this flag to find out if a compilation unit 
     that have a <code>F_CONTENT</code> change should assume that there are 
     no finer grained changes (<code>F_FINE_GRAINED</code> is set) or if 
     finer grained changes were not considered (<code>F_FINE_GRAINED</code> 
     is not set). 
     </li>
<li> Surfacing IProblem (<code>org.eclipse.jdt.core.compiler.IProblem</code>) 
	<br>This allows some Java API to report failures in a lighter way than generating markers. Marker based API have been
	deprecated (note that due to some deadlock in client code, some of these API did not even produce markers, e.g. reconciling). In addition to
	surfacing problem descriptions, IProblem exposes all the IDs for the Java problem markers (attribute "id" on markers of type "org.eclipse.jdt.core.problem")</li>
<li> Changed error reporting method for <code>ICompletionRequestor</code> to surface IProblems instead of IMarkers.</li>
</ul>
<h3>
Problem Reports Fixed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11191">11191</a>
Strange anonymous types in outline structure
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11151">11151</a>
ast: IllegalArgumentException on AST creation 
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=10538">10538</a>
Possible memory leak?
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=10616">10616</a>
StringIndexOutOfBoundsException opening type selection dialog
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11152">11152</a>
Code Select - does not work with empty selection
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11129">11129</a>
DOM/AST: Call resolveTypeBinding() on a CastExpression object throws a NullPoitnerException 
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=3256">3256</a>
SearchableEnvironment - converts char[] to String, which affects performance
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=10984">10984</a>
DOM/AST: CU with syntax errors 
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11106">11106</a>
DOM/AST: do statement doesn't contain trailing semicolon 
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11104">11104</a>
DOM/AST: NumberLiteral contains leading and trailing comments 
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=10213">10213</a>
SearchEngine.createJavaSearchScope((IJavaElement[]) does not work for binary elements  
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=9240">9240</a>
Search finds deleted classes  
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11011">11011</a>
incorrect 'variable never used' warning
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11025">11025</a>
extract method: incorrectly disallowed on some boolean expressions 
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=10697">10697</a>
Performance - Binary model should not cache the classfile bytes 
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11037">11037</a>
DOM/AST: IllegalArgumentException when creatin AST 
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=10635">10635</a>
Override methods not showing missing methods  
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7930">7930</a>
Code Assist - No completion in switch statement
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=10979">10979</a>
JDOM/add superinterface format problem 
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=10986">10986</a>
DOM/AST: NPE when trying to resolve a binding 
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=10580">10580</a>
type hierarchy incorrect for nested types  
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=10935">10935</a>
DOM/AST: wrong length of variable declaration fragment 
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=6111">6111</a>
Missing completion 
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=10898">10898</a>
DOM/AST: NullPointerException 
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=3261">3261</a>
Search - Memory peak during search (1GEN17L)  
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=6667">6667</a>
Search: OutOfMemoryError searching wildcarded field ref  
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=10874">10874</a>
DOM/AST: ClassInstanceCreation contains trailing comment 
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=10881">10881</a>
DOM/AST: SwitchCase.isDefault always returns false 
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=10865">10865</a>
DOM/AST; AST.resolveWellKnownType("void") returns null 
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=10861">10861</a>
DOM/AST: TypeLiteral.resolveTypeBinding doesn't return class Class 
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=10819">10819</a>
Incomplete task description after build with incomplete classpath
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=10468">10468</a>
DOM/AST: TypeDeclaration#isLocalTypeDeclaration doesn't consider anonymous types 
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=10499">10499</a>
DOM/AST: need a way to access the IMethodBinding of a ClassInstanceCreation 
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=10496">10496</a>
DOM/AST: need for a node that holds the body statements of a ClassInstanceCreation 
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=10781">10781</a>
ast: incorrect position and length for AnonymousClassDeclaration 
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=10843">10843</a>
DOM/AST: wrong structure for for statements 
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=10663">10663</a>
ast: exception in AST converter 
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=10759">10759</a>
ast: incorrect length of SimpleName (subsubnode of ArrayType) 
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=10500">10500</a>
Shouldn't ignore inherited method with wrong argument types
<h3>
Problem Reports Closed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=10627">10627</a>
Rebuild Deletes non-Class Resources
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=3233">3233</a>
JM - CreateElementInCuOperation should not save working copy (1GBEKAW)  
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=3445">3445</a>
search: type hierarchy scope incorrect (1GLC8VS)  
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=10954">10954</a>
IMember::getFlags semantics on interface members
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=3195">3195</a>
Unnecessary proposals in Open on selection whith syntax error (1G0EIBB)
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=10933">10933</a>
DOM/AST: position of AnonymousTypeDeclaration is [-1,0] 
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=10815">10815</a>
Error message for "incomplete path" lacks details
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=10913">10913</a>
DOM/AST: resolveBinding() for static field access 
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=10698">10698</a>
DOM/AST: exception when creating AST 
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=4946">4946</a>
Cross-project builder efficiency issues
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=3213">3213</a>
No compile error for bad interface (1G7G6M1)
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=10667">10667</a>
NPE in self encapsulate field 
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=10389">10389</a>
Editing non-Java files causes a recompile
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=10313">10313</a>
Can not create Java project from existing source (1000+ Java files)
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=10794">10794</a>
NPE from search during refactor, pull up method
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=10699">10699</a>
ast: nothing in anonymous inner classes is created 

<p><hr><h1>
Eclipse Platform Build Notes&nbsp;<br>
Java development tools core</h1>
Eclipse SDK Build 20020305 - 5th March 2002
<br>Project org.eclipse.jdt.core v_230
<h2>
What's new in this drop</h2>
<ul>
<li> Added API <code>IClassFile.getWorkingCopy(IProgressMonitor, IBufferFactory)</code>
	 for consistence with <code>IWorkingCopy</code>.
     The returned working copy is just a wrapper on the class file's buffer.
     Thus only the <code>getBuffer()</code> operation is valid on this working
     copy.
</li>
<li> Added the notion of shared working copies. This allows clients to always
     get the same <code>IWorkingCopy</code> instance when asking for a working copy.
     See <code>IWorkingCopy.getSharedWorkingCopy(IProgressMonitor, IBufferFactory)</code>,
     <code>IWorkingCopy.findSharedWorkingCopy()</code>
     and <code>IWorkingCopy.destroy()</code> for more detail.
</li>
<li> Added option to trace use of shared working copies.
    To enable it, see the following line in the org.eclipse.jdt.core/.options file:
    <code>org.eclipse.jdt.core/debug/sharedworkingcopy=true</code>
</li>
<li> Added extension point to jdtcore so as to allow client plugins to register classpath variable initializers.
  Extension point is "org.eclipse.jdt.core.classpathVariableInitializer".
  (also see <a href="http://dev.eclipse.org/viewcvs/index.cgi/~checkout~/org.eclipse.jdt.core/notes/r2.0/variable%20init/uninit-classpath-vars.html">design notes</a>)
  Note that each classpath variable, if unbound, will trigger its registered initializer exactly once per session. If unsuccessful, it will stay unbound.

</li>
<li> Added option to trace classpath variable initializations.
    To enable it, see the following line in the org.eclipse.jdt.core/.options file:
    <code>org.eclipse.jdt.core/debug/cpvariable=true</code>
</li>
<li>Added option to trace access to zip and jar files from the Java model.
    To enable it, see the following line in the org.eclipse.jdt.core/.options file:
    <code>org.eclipse.jdt.core/debug/zipaccess=true</code>
</li>
<li>Resurrect some code for backport 1.0 internal functionality
	<ul>
	<li> org.eclipse.jdt.internal.compiler.ConfigurableOption (all the class).
	<li> org.eclipse.jdt.internal.formatter.CodeFormatter (some methods) :
		<ul>
		<li> public CodeFormatter(ConfigurableOption[] settings)
		<li> private static Map convertConfigurableOptions(ConfigurableOption[] settings)
		<li> public static ConfigurableOption[] getDefaultOptions(Locale locale)
		<li> public static String format(String sourceString, int initialIndentationLevel, ConfigurableOption[] options)
		</ul>
	<li> org.eclipse.jdt.internal.formatter.Options.properties (all the file)
	</ul>
</li>
</ul>
<h3>
Problem Reports Fixed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=3303">3303</a>
Many errors when adding projects from repository in a fresh install (1GF5PU7)
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=5285">5285</a>
Compile errors on load when Java Perspective not open
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7085">7085</a>
Build errors when adding the JUnit example project
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=10700">10700</a>
ast: resolveBinding returns null on parameter reference 
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=10676">10676</a>
StringLiteral.resolveTypeBinding() return null 
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=10679">10679</a>
ClassCastException when calling resolveTypeBinding() with an error 
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=10634">10634</a>
Problem with compiling some java classes; class not visible
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=10340">10340</a>
NPE when selecting multiple methods to "Pull up"  
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=10662">10662</a>
Casting to Buffer makes it impossible for clients to implement IBuffer  
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=10592">10592</a> 
ast: NPE in SingleVariableDeclaration::resolveBinding 
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=9583">9583</a>
DOM : Self encapsulate field: NPE 
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=10570">10570</a>
ast: CatchClause has incorrect startingPoint 
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=10587">10587</a>
ast: missing node for a variable binding 
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=9588">9588</a>
Invalid delta when replacing jar and proj=src=bin  
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=10495">10495</a>
typo in ASTNode::MALFORMED javadoc 
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=10472">10472</a>
CodeAssist - No completion between dot and number
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=3323">3323</a>
OpenOnSelection - no selection inside CodeFormatterPreferencePage.fTextListener initializer (1GGND3S)
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=10466">10466</a>
"Cannot reference a field before it is defined" - compiler bug?
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=10386">10386</a>
NPE in MatchLocator.lookupType  
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=10378">10378</a>
perf problem with external JARs  
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=9593">9593</a>
SelectionEngine give more results than expected
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=9969">9969</a>
CodeFormatter: Bug when formatting try/catch Block 
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=3231">3231</a>
1.4 - target is now 1.2 (1GHW0DF)
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=9998">9998</a>
Performance - Better pruning meaningless AST nodes upon completion
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=10240">10240</a>
JDTCompilerAdapter doesn't understand "deprecation" from Ant 
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=10274">10274</a>
DOM/AST: wrong implementation of TypeDeclaration.getFields 
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=10241">10241</a>
Remaining references to com.ibm 
<h3> 
Problem Reports Closed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=10753">10753</a>
Compiler barfs on c:\ubizen with invalid unicode 
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=10749">10749</a>
Bug is code formatter 
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=10701">10701</a>
Undefined method when compiling using JDK 1.4
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=10674">10674</a>
AST API request : method binding for ClassInstanceCreation 
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=10583">10583</a>
Can not save any java file
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=10275">10275</a>
Search: reference to class not found  
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=3437">3437</a>
Code Assist fails when method has unknown return type (1GL12EG)
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=9579">9579</a>
Search: declaration in hierarchy - wrong matches  
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=10460">10460</a>
The Compiler can not resolve package level class
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=10244">10244</a>
DOM/AST: MethodInvocation should have resolveBinding() method 
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=9157">9157</a>
My existing .class files are deleted!
 
<p><hr><h1>
Eclipse Platform Build Notes&nbsp;<br>
Java development tools core</h1>
Eclipse SDK Build 20020226 - 26th February 2002
<br>Project org.eclipse.jdt.core v_229
<h2>
What's new in this drop</h2>
<ul>
<li>Java tooling now performs normally inside method bodies whose signature could not
be resolved.
</li>
<li> Specified that when an <code>IBuffer</code> is created through an 
     <code>IBufferFactory</code>, its content is set with the original
     element's content.
</ul>
<h3>
Problem Reports Fixed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=10110">10110</a>
Project not build since it was inconsistent
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=9642">9642</a>
Search - missing inaccurate type matches  
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=9992">9992</a>
Member class declaration not found  
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=10221">10221</a>
No variable name suggestion on array type
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=10166">10166</a>
Interface hides Object methods
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7934">7934</a>
Builder always rebuilds when workbench restarted
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7456">7456</a>
Error message with overloaded methods is confusing
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=10152">10152</a>
Computing hierarchy of IResource is slow  
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=8809">8809</a>
Code assist with class folders does not work
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=9763">9763</a>
Code assist failure due to error in method signature:1GRVN5R
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=9985">9985</a>
Built in compiler will sometimes not allow Object method calls on Interfaces
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=10008">10008</a>
Internal compiler error when compiling switch statement
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=9912">9912</a>
Batch compiler doesn't put binaries in the right folder when -d is missing 
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=6059">6059</a>
NPE in JavaModelStatus 
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=9351">9351</a>
Copying a compilation unit onto itself destroys compilation unit 
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=9813">9813</a>
VerifyError with Inner Class having private constructor
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=9492">9492</a>
Walkback while searching  
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=9837">9837</a>
Inconsistent behavior when compiling from source or using binaries for constant expressions

<h3> 
Problem Reports Closed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=6951">6951</a>
DCR - Builder should ignore filtered out resources
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=5809">5809</a>
Duplicate class names in separate package imports cause compile error
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=9888">9888</a>
JAR exorter problems with META-INF in projects with no source folder  
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=10104">10104</a>
Calculated serialVersionID's are incompatible with Sun's JDK

<p><hr><h1>
Eclipse Platform Build Notes&nbsp;<br>
Java development tools core</h1>
Eclipse SDK Build 20020214 - 14th February 2002 - MILESTONE 3
<br>Project org.eclipse.jdt.core v_228
<h2>
What's new in this drop</h2>

<h3>
Problem Reports Fixed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=9479">9479</a>
exception on package creation (discouraged name)  
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=5999">5999</a>
IType.resolveType returns multiple matches also the type is unambigious
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7485">7485</a>
IType resolve fails
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=9785">9785</a>  
Problem in IType.resolveType()
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=9239">9239</a>
search for method declaration - strange behavior  

<h3> 
Problem Reports Closed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=5647">5647</a>
Search results differ when using outliner context menu vs. dialog  
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=5239">5239</a>
outliner gets out of synch  
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=5029">5029</a>
Internal Error saving java file  
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=9586">9586</a>  
Java 1.4 feature assert does not throw any exception
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=9504">9504</a>  
1GRU1L3:Search reference works only in outline view and not in editor
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=9476">9476</a>  
ArrayIndexOutOfBounds in JavaBuilder  
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=3262">3262</a>
Strange output file deletion (1GDS2IX)

<p><hr><h1>
Eclipse Platform Build Notes&nbsp;<br>
Java development tools core</h1>
Eclipse SDK Build 20020212 - 12th February 200
<br>Project org.eclipse.jdt.core v_227
<h2>
What's new in this drop</h2>
<ul>
<li>Resource copy filters : A new setting allows to specify exclusion filters for resource being copied to the output folder..
	<ul>
	<li>option id:			"org.eclipse.jdt.core.builder.resourceCopyExclusionFilters"
	<li>possible values:	{ "&lt;name&gt;[,&lt;name&gt;]* } where &lt;name&gt; is a file name pattern (only * wild-cards allowed)
	<li>default:			"" 
	</ul>
</li>
<li>Encoding support : Batch compiler can be specified the source encoding format using '-encoding myEncoding' command line option.
In case of necessity, each individual file specified on the command line can be associated with a custom encoding
by suffixing its name with '[myEncoding]' (if applied to a folder, then all files in it will be sharing the custom
encoding). When no encoding is specified, then the platform default is used (as before). Similarily, a JavaCore option got added to
control the default encoding (no support yet for per file custom encoding).
	<ul>
	<li>option id:			"org.eclipse.jdt.core.encoding"
	<li>possible values:	{ "" for platform default, or any of the supported encoding name }.
	<li>default:			"" 
	</ul>
</li>
<li> Fix for <a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=9183">9183</a> required to increment the index signature 
version so as to trigger automatic reindexing on workspace startup (and thus add somme type references that were previously
missing from the binary index files). Subsequent startups will not reindex any further (only if inconsistency is detected, 
e.g. signature version is different).
</li>
<li> The <code>IBufferFactory</code> used when creating an <code>IWorkingCopy</code>
(see <code>ICompilationUnit.getWorkingCopy(IProgressMonitor monitor, IBufferFactory factory)</code>)
is now remembered and will be reused if the working copy is closed then reopen.
</li>
<li>Old Java builder implementation got removed</li>
<li>Project dependency cycle detection reenabled</li>
<li> Open on selection no longer need a non-empty selection to perform (when empty it will use the token
in which the selection start position is located).
<li>Improved progress reporting while searching all types in the workspace.</li>
</ul>

<h3>
Problem Reports Fixed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=9452">9452</a>  
IllegalArgumentException when creating an AST for TestCase.java  
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7390">7390</a>
Editing and saving read-only .java source file may cause lost of data
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7926">7926</a>
Code Assist - No completion for class instance creation after inner class
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7636">7636</a>
Can't do code assist after field with local class
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=8369">8369</a>
Code assist stops to work after anonymous class
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=9398">9398</a>
Compiler error with double array
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=9395">9395</a>
ClassCastException during build
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=9185">9185</a>
Severe shutdown performance problem  
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=6167">6167</a>
Indexer not stoped on exit
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7362">7362</a>
Override Methods doesn't handle unicodes 
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7295">7295</a>
Indendation in generated getters/setters of inner classes 
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=6678">6678</a>
Incorrect output after Add Unimplemented Method 
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=8758">8758</a>
null pointer exception in eclipse core while compiling Java code
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=6236">6236</a>
Renamed file is not excluded from project build  
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=8696">8696</a>
Code assist doesn't work in initializer of anonymous inner class
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=6064">6064</a>
Open on selection shouldn't require selection.
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=9223">9223</a>
CodeAssist failure in inner type from class file.
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=6847">6847</a>
DCR - Filtering output to build directory
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=9309">9309</a>
DOM/AST: NPE when trying to resolve a binding 
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=9308">9308</a>
DOM/AST: two equal hash table accesses 
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=9101">9101</a>
Parse error while typing in Java editor  
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=9031">9031</a>
NPE in AbstractMethodDeclaration.compilationResult during search  
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=9084">9084</a>
NPE in parser during build 
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=9008">9008</a>
Code assist on method declaration gives wrong throw exception
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=8878">8878</a>
Code assist provides arbitrary, invalid choice after a space
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=9198">9128</a>
NegativeArraySizeException starting workbench  
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=9035">9035</a>
I got an NPE 
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=9183">9183</a>
BinaryIndexer doesn't index all type references 
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=3321">3321</a>
Adding missing source folder doesn't remove warning (1GGCC4P)
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=3219">3219</a>
JM - 'Cycle detected' should not be a marker attribute (1G8VTSA)
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=9169">9169</a>
Wrong code generation for comparison of string constants 
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=8685">8685</a>
Exception while deleting a method  
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=4021">4021</a>
jdt: Java elements and resources: error in source code (1GG87S9)  
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7878">7878</a>
On Package creation: No warning for unconventional names  
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=9041">9041</a>
search: cannot create a sub-cu scope  
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=9088">9088</a>
Unreachable catch block when error in referenced class's fields 
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=3299">3299</a>
Autobuild produces errors when renaming source folders
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=9009">9009</a>
ClassCastException creating an invalid method 

<h3>
Problem Reports Closed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=3190">3190</a>
JM - use of "open" in java model inconsistent with core (1FW2EYQ)
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=3268">3268</a>
create(IProject) strange for normal projects (1GDVTER)
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=8527">8527</a>
Delete inner class
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=3037">3037</a>
Core error compiling a java class (1GEJK8Q)
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=9386">9386</a>
cannot import jar files into project
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7976">7976</a>
JDT misses the new Java files created by PDE  
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=5713">5713</a>
NPE when searching for references in a JAR  
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=9177">9177</a>
Builder treats build errors as JavaErrors
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=8040">8040</a>
java source with $ in reference won't compile
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=5036">5036</a>
assertion fails on build
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=8498">8498</a>
deprecated methods are not displayed in the task console  
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=3371">3371</a>
Assertion failed exception during build (1GK183O)
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=3419">3419</a>
asserion failed in build (1GKB9CH)
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7895">7895</a>
Wierd state: Project not built because inconsistent.
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7830">7830</a>
Deleting more than one method consecutively from the hierarchy view causes unexpected corruption of othe methods 
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=9190">9190</a>
Removing a library from classpath gives not a remove delta  
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=9104">9104</a>
copy package progress dialog has missing string 
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=5706">5706</a>  
Cannot add two folders w/ same name but diff projects to build path of Java project  
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=9103">9103</a>
Search reports no references to SWT.Help  
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=6418">6418</a>
Scrapbook: "Unexpected End Of File" expected  
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=3191">3191</a>
JM - non-existing external jars will not come to life when created (1FWI5C4)  
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=8980">8980</a>
Unpredictable error catching on overridden methods with less visibility
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=9024">9024</a>
Do not find reference to an interface in JAR 
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=9040">9040</a>
DOM/AST: why is the left hand side of an assignment an expression 

<p><hr><h1>
Eclipse Platform Build Notes&nbsp;<br>
Java development tools core</h1>
Eclipse SDK Build 20020205 - 5th February 2002
<br>Project org.eclipse.jdt.core v_226
<h2>
What's new in this drop</h2>
<ul>
<li> The JavaModel no longer notifies changes for generated classfiles in the output folder, these 
were never supposed to be signaled. </li>
</ul>

<h3>
Problem Reports Fixed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=3448">3448</a>
No error for package and type collision in default package
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=9016">9016</a>
DOM/AST: Problems with array.length access 
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=9014">9014</a>
DOM/AST: NullPointerException when resolving System.err.println 
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=9018">9018</a>
DOM/AST: why does the key of a variable binding include the type 
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=5355">5355</a>
search: NPE in searchDeclarationsOfReferencedTypes  
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=8928">8928</a>
Unable to find references or declarations of methods that use static inner classes in the signature  
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=3291">3291</a>
Exception adding .class file to folder in package view (1GEUF3I)  
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=8900">8900</a>
Search causing internal error  
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=8812">8812</a>
Changing export state not propagated
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=8856">8856</a>
DOM AST: positions and bindings missing on QualifiedName 
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=3446">3446</a>
type hierarchy: incorrect behavior wrt working copies (1GLDHOA)  
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=3210">3210</a>
Search - method declarations within TypeHierarchy gives no matches (1G54BMR)  
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=8145">8145</a>
TypeDeclaration sourceEnd contains trailing comment 
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=8832">8832</a>
Sanity check error (internal error) when unused variables inside initializers  
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=8078">8078</a>
Missing resource in copy CU dialog  
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=8764">8764</a>
NPE while closing projects  
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=8359">8359</a>
Index out of date when replacing a JAR  
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=8773">8773</a> 
VerifyError : A .class file exported from VAJ does not run in JDK 1.2.2 (1GPPET0)
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=8697">8697</a> 
2 compiler bugs: the operator unkown operator is undefined and defined in an inherited type and an enclosing scope
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=8706">8706</a> 
Compile error when compiling an anonymous class which extends java.awt.Frame
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=8709">8709</a> 
Error compiling JDK1.4 classes
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=8340">8340</a>
inaccurate error message when dependent project is closed  
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=3344">3344</a>
JavaElementDelta reports changed class files (1GIV8IK)  
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=8384">8384</a> 
Unexpected compile errors when abstract method missing return type
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=8789">8789</a> 
Compiler incorrectly reports that abstract method has a body  

<h3>
Problem Reports Closed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7987">7987</a>
Field reference search should do lookup in 1.4 mode  
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=8863">8863</a>
.classpath gets overwritten if there's an XML error  
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7162">7162</a>
Java Model Exceptions in log from TypeHierarchyLifeCycle  
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=8699">8699</a> 
Compiler error message incomplete: Syntax error on token ''
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=3324">3324</a> 
Bad compiler error (1GHF25P) 
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=3441">3441</a>  
Internal error renaming a class (1GL2XCW) 
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7841">7841</a> 
Overriden methods inserted past the end of source
<p><hr><h1>
Eclipse Platform Build Notes&nbsp;<br>
Java development tools core</h1>
Eclipse SDK Build 20020129 - 29th January 2002
<br>Project org.eclipse.jdt.core v_225
<h2>
What's new in this drop</h2>
<ul>
<li> Java compiler is JCK 1.4 compliant. When toggled in 1.4 mode (batch: -1.4 -source 1.4), the Java compiler is fully JCK 1.4 compliant 
as of JCK 1.4 2001-10-01 update. When in 1.3 mode (default), it is JCK 1.3a compliant.
</li>
<li> By default, when toggled into 1.4 mode, the batch compiler will enable assertion support (e.g. -source 1.4). It can still manually
be toggled for 1.3 source level compatibility (-source 1.3).
</li>
<li> Added constructor <code>SearchEngine(IWorkingCopy[])</code>
     which takes a list of working copies that will take precedence 
     over their original compilation units in the subsequent search 
     operations on this search engine.
     <br>
     Note that this functionality is still under development and some
     parts may not work as expected. Feedback is welcome.
</li>
<li> New feature to achieve problems corrections : org.eclipse.jdt.core.CorrectionEngine.
     Correction results are answered through a requestor (org.eclipse.jdt.core.ICorrectionRequestor).
</li>
<li> JavaCore will no longer add indirectly prereq'ed project amongst project references.
</li>
<li> New JDOM AST API available (also see <a href="http://dev.eclipse.org/viewcvs/index.cgi/~checkout~/org.eclipse.jdt.core/notes/r2.0/dom%20ast/ast.html?rev=1.1&content-type=text/html">design
note</a>). This API has not yet reached full stability, and feedback is very welcome.
</li>
</ul>

<h3>
Problem Reports Fixed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=8641">8641</a>
Can't find references in hierarchy in binary projects  
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=8659">8659</a>  
Unexpected changes in project references (.vcm-meta)  
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=8358">8358</a>
Search: doesn't find reference although there are  
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=6799">6799</a>
Duplicate type collisions
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=8414">8414</a>
Incorrect "unused variable" warning?
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=8484">8484</a>
Internal error searching for write access to a variable  
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=8536">8536</a>
Bug on "Open type hierarchy"  
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=8575">8575</a>
Variable name code completion should handle arrays
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=8530">8530</a>
Internal error using assertions (1.4 feature)
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=8531">8531</a>
VerifyError in code containing assertions

<h3>
Problem Reports Closed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7509">7509</a>
1GQ6DUC: WSWB:WIN2000 - Ctrl-space Code Completion does not work
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=8060">8060</a>
Hierarchy only shows Object when opening type in binary project  
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=3408">3408</a>
JCK 1.4 - NAME - qualified AmbiguousName and an ExpressionName (1GK7M9B)
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=8584">8584</a>
Invalid syntax error generated by compiler

<p><hr><h1>
Eclipse Platform Build Notes&nbsp;<br>
Java development tools core</h1>
Eclipse SDK Build 20020124 - 24th January 2002 - MILESTONE 2
<br>Project org.eclipse.jdt.core v_224
<h2>
What's new in this drop</h2>

<h3>
Problem Reports Fixed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=11354">11354</a>
Unable to edit Java code
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=8016">8016</a>
getter/setter outliner reconciling broken  
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=8352">8352</a>
No hierarchy when using HierachyType  
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=8042">8042</a>
ClassCastException hovering in java editor
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=8216">8216</a>
Incomplete super type hierarchy for binaries  
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=8125">8125</a>
'Could not uniquely map the type name' message opening type  

<h3>
Problem Reports Closed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7221">7221</a>
IllegalArgumentException renaming package  
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=5341">5341</a>
Error message shouldn't expose exception class  
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=8038">8038</a>
Null Pointer Exception Adding Unimplemented  


<p><hr><h1>
Eclipse Platform Build Notes&nbsp;<br>
Java development tools core</h1>
Eclipse SDK Build 20020123 - 23rd January 2002
<br>Project org.eclipse.jdt.core v_223
<h2>
What's new in this drop</h2>
<ul>
<li>Added workaround for <a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7764">7764</a>
UI Dead Lock - IDE frozen  
</ul>

<h3>
Problem Reports Fixed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=3200">3200</a>
JavaBuilder - Build progress message could be shortened
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=8087">8087</a>
NPE when hierarchy verbose on and hierarchy on a region  

<h3>
Problem Reports Closed</h3>


<p><hr><h1>
Eclipse Platform Build Notes&nbsp;<br>
Java development tools core</h1>
Eclipse SDK Build 20020122 - 22nd January 2002
<br>Project org.eclipse.jdt.core v_222
<h2>
What's new in this drop</h2>
<ul>
<li> The selection engine now only selects identifier between selection start and selection end.
Previous behaviour was to select identifier between selection start and identifier end.
(e.g. if you select <b>File</b> in <b>File</b>Input, now the selection engine select the class File and not FileInput)
<li> Fix for <a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=6839">6839</a> required to increment the index signature 
version so as to trigger automatic reindexing on workspace startup (and thus get rid of undesired anonymous type entries
in the index files). Subsequent startups will not reindex any further (only if inconsistency is detected, e.g. signature version
is different).
</ul>

<h3>
Problem Reports Fixed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7993">7993</a>
NPE when creating type hierarchy  
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=3417">3417</a> 
JCK 1.4 - BINC - the new method is a static (respectively instance) method. (1GK7WCP)
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=3416">3416</a> 
JCK 1.4 - BINC - the new method is less accessible than the old one (1GK7VXD)
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=3415">3415</a> 
JCK 1.4 - BINC - the new field is a static (respectively instance) field (1GK7VSN)
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=3414">3414</a> 
JCK 1.4 - BINC - the new field is less accessible than the old one (1GK7VMD)
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=3413">3413</a> 
JCK 1.4 - BINC - detection of an IncompatibleClassChangeError (1GK7VCA)
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=3412">3412</a> 
JCK 1.4 - BINC - Invoke overriding class methods (1GK7UGQ)
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=3410">3410</a> 
JCK 1.4 - BINC - Adding a String field that has the same name as a String field of a superclass (1GK7MHO)
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7920">7920</a>
JavaProject.canonicalizedPath  
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7597">7597</a>
PackageFragmentRoot which are archives loose associated resource  
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7827">7827</a>
null returned from getOriginal(IJavaElement workingCopyElement) for IMPORT_CONTAINER  
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7144">7144</a>
Hierarchy incorrect when using binary projects  
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=3411">3411</a>
JCK 1.4 - BINC - Overriding instance and class methods (1GK7U6C)  
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=3418">3418</a>
JCK 1.4 - EXPR - a NullPointerException is raised in run time (1GK7WHA)  <br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7441">7441</a>
Open a type is extremely slow  
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7616">7616</a>
Unnecessary indexing when project is opened  
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=3229">3229</a>
OpenOnSelection - strange behaviour of code resolve (1GAVL08)
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=6953">6953</a>
No code assist proposals for interface constructor
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7583">7583</a>
DOMNode#getChild(String) needs to handle children with null names 
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7584">7584</a>
Comments on IDOMMethod#getReturnType() 
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=3247">3247</a> 
SelectionEngine moves selection to enclosing token (1GCSD8D)

<h3>
Problem Reports Closed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7956">7956</a>
No reference found to BlockScope.analysisIndex  
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=3283">3283</a> 
OpenOnSelection - Code resolve doesn't work in some situations (1GEI5QT)
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=5453">5453</a> 
DCR: Code Assist for anonymous types
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7617">7617</a> 
NPE in Builder with duplicated type names
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=6466">6466</a> 
Code Formatter  

<p><hr><h1>
Eclipse Platform Build Notes&nbsp;<br>
Java development tools core</h1>
Eclipse SDK Build 20020115 - 15th January 2002
<br>Project org.eclipse.jdt.core v_221
<h2>
What's new in this drop</h2>
<ul>
<li> The compiler will now follow JLS 8.6 with respect to anonymous class 
constructors (i.e. allow them to throw any exceptions).
<li> The compiler now enforces that interface methods be compatible with Object ones.
<li> The batch compiler will no longer create package directory structure anymore when the command line
argument '-d' <tt>&lt;destination&gt;</tt> is omitted (compliant with standard batch compilers).
<li> A type hierarchy that misses a super type is not rooted at Object any longer,
     but the subtype (of the missing type) will be a root (this is the behavior of
     VA/Java and VAME.)
<li> Adding a type that was missing from a hierarchy will update the hierarchy correctly.
<li> New API on ICompletionRequestor for suggest anonymous type declaration:
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <tt>void acceptAnonymousType(</tt>
<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; char[] superTypePackageName,</tt>
<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; char[] superTypeName,</tt>
<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; char[][] parameterPackageNames,</tt>
<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; char[][] parameterNames,</tt>
<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; char[][] parameterNames,</tt>
<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; char[] completionName,</tt>
<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int modifiers,</tt>
<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int completionStart,</tt>
<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int completionEnd);</tt>
<br>&nbsp;
</li>
</ul>

<h3>
Problem Reports Fixed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7625">7625</a>
No typehierarchy in working copy  
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7595">7595</a>
New builder performs intempestive full build on method body changes
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7528">7528</a>
IlegalArgumentException in path canonicalisation  
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7034">7034</a>
code assist performance problem in scrapbook
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7119">7119</a>
Content Assist does not complete some code
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7000">7000</a>
Switch and Try statement doesn't include trailing } 
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=6932">6932</a>
Increment statement in for loop contains trailing comments 
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=6342">6342</a>
Code assist on Intreface-'Constructors' incomplete
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7344">7344</a>
Search - write acces give wrong result  
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7455">7455</a>  
Build problems when instance variable name matches constructor parameter name and assignment to this.name in try block  
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=6839">6839</a>
AllTypesSearchEngine returns anonymous classes 
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7445">7445</a>
char/string concat bug  
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=3192">3192</a>
Invalid type hierarchy when missing type(s) in hierarchy (1GF5RN4)  
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=3304">3304</a>
Hierarchy not updated when changing classpath (1GF5QSW)  
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7422">7422</a>
Missing project references on some imported Java projects
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=5067">5067</a>
CodeAssist - no variable name suggestion for base type
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7363">7363</a>
Rebuild Project action is not compiling all Java source files
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7325">7325</a>
Build collisions should be non-fatal?
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7324">7324</a>
Ambiguous multiple problem descriptions when collision of build files
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=3385">3385</a>
JCK 1.4 - INTF - illegal method declaration for interface (1GK2AWS)
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=3318">3318</a>
JDOM - IDomNode redefines clone() with different signature (1GFVU2V)
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=6101">6101</a>
Unexpected error in inner class 
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7333">7333</a>
typo in type name: ResetSateForCodeGenerationVisitor 
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7354">7354</a>
Compatibility with javac when no output directory is specified 
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=6473">6473</a>
JavaConventions should use IWorkspace validate methods  
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7129">7129</a>
Problems with replacing a project
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=3386">3386</a>
JCK 1.4 - EXCP - checked exception in variable initializer of anonymous class (1GK7B5L)
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=3367">3367</a>
JCK 1.4 - ICLS - An instance initializer in an anonymous class may throw any exception (1GK7LYF)
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7184">7184</a>
Built in compiler does not allow anonymous class initializers to throw exceptions 
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=6504">6504</a>
Type hierarchy: Subtypes in jar of another project not found  
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=3334">3334</a>
Types hierarchy view does not show all subclasses. (1GI901Q)  
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=6866">6866</a>  
Code-Assist (ctrl+space) to slow with jre-src
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7071">7071</a>  
ArrayStoreException getting hoverhelp in Java editor
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7165">7165</a>  
erroneous warning of unused variables  

<h3>
Problem Reports Closed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=3217">3217</a>
JM - deleting default package (1G8417Z)  
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7375">7375</a>
new classes with funny names don't appear in package view  
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7302">7302</a>
Need visibility in search results 
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7305">7305</a>
interface methods are marked abstract
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7290">7290</a>
Project size limitation
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=6232">6232</a>
Build problems: Internal error: null when compiling JDK source code
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7380">7380</a>
Wrong scope for traverse methods
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7137">7137</a>
Invalid type not flagged by compiler
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=6924">6924</a>
ArrayIndexOutOfBoundsException when setting the build path.

<p><hr><h1>
Eclipse Platform Build Notes&nbsp;<br>
Java development tools core</h1>
Eclipse SDK Build 20020108 - 8th January 2002
<br>Project org.eclipse.jdt.core v_220a
<h2>
What's new in this drop</h2>
<ul>
<li>
Added new compiler option to toggle compliance level (can be either
"1.3" or "1.4" - 1.3 being the default), and it will affect the behavior
of the compiler with respect to JLS 8.1.5 (inherited member shadows enclosing
one). Option is located on <tt>JavaCore#getOptions()</tt> and named <tt>"org.eclipse.jdt.core.compiler.compliance"</tt>
Accordingly, the batch compiler accepts an extra command line argument
"-1.3" or "-1.4" (1.3 compliance being the default).</li>
</ul>
<h3>
Problem Reports Fixed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=3330">3330</a>  
JCK 1.4 - illegal simple name imports (1GHW0G1)  
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7070">7070</a>
moved classes lost!  
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=6785">6785</a>
NPE in IType.resolve
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=6779">6779</a>
searchDeclarationsOfReferencedTyped - missing exception types  
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7035">7035</a> 
New builder - builder does not close all JARs
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7033">7033</a>
Stale packages view after moving compilation units  
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=6927">6927</a>
Static inner class won't compile (doesn't match JDK behavior)
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7030">7030</a>
IllegalArgumentException renaming project  
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7029">7029</a>
Renaming a Java project doesn't refresh the packages view  
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7027">7027</a>
project gone after renaming in the navigator  
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=7026">7026</a>
walkback on rename project - could not reproduce  
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=6889">6889</a>
No typehierarchy for inner types  
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=3343">3343</a>
Missing java.lang.Object should produce a more prominent compiler error
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=6948">6948</a>
New builder - builder does not reuse opened JARs
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=3314">3314</a>
Resources not appearing in Java perspective or Jar export wizard (1GFL0QT)  
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=6890">6890</a>
META-INF hidden  
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=6993">6993</a>
JavaModel inconsistencies with units outside classpath  
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=3360">3360</a> 
Code assist does not work in inner classes (1GJOVT6)
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=6893">6893</a> 
LocalTypeDeclaration includes preceeding comment even if there are statements in between
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=3372">3372</a> 
Markers for build path not updated on (re-) build
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=5413">5413</a> 
incorrect class source range
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=6429">6429</a>
declaration source start incorrect on local variable
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=6433">6433</a>
declaration source start incorrect on local variable #2
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=3235">3235</a>
PackageFragmentRoot existency check need to be revisited (1GCUNO7)
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=6865">6865</a>
open on selection in BuildNotifier only finds contents of rt.jar  
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=6037">6037</a>
JarPackageFragmentRoot.getUnderlyingResource() always returns null
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=6750">6750</a>
Batch compiler - Classpath handling is too strict  
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=3409">3409</a>
JCK 1.4 - STMT - null literal in throw statement (1GK7MEQ)
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=4915">4915</a>
JCK 1.4 - need a major compiler switch for 1.3 / 1.4 mode
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=6678">6678</a>
Incorrect output after Add Unimplemented Method
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=3361">3361</a>
JCK 1.4 - ICLS - field from outer class and inherited public field in nested class (1GK7LAA) 
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=3350">3350</a>
JCK 1.4 - ICLS - static class from outer and class from superclass in top-level nested class (1GK7DVJ)  
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=3351">3351</a>
JCK 1.4 - ICLS - static class from outer and protected static class from superclass in nested class (1GK7DZV)  
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=3352">3352</a>
JCK 1.4 - ICLS - static class from outer and public static class from superclass in nested class (1GK7EB9) 
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=3362">3362</a>
JCK 1.4 - ICLS - field from outer class and inherited field in nested class (1GK7LCX)   
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=3363">3363</a>
JCK 1.4 - ICLS - An inherited variable that shadows a name from an enclosing non-package scope (1GK7LHR)  
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=3364">3364</a>
JCK 1.4 - ICLS - An inherited method that shadows a name from an enclosing non-package scope (1GK7LKV)  
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=3365">3365</a>
JCK 1.4 - ICLS - An inherited class that shadows a name from an enclosing non-package scope (1GK7LTA)  
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=3366">3366</a>
JCK 1.4 - ICLS - An inherited interface that shadows a name from an enclosing non-package scope (1GK7LW2)
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=3375">3375</a>
JCK 1.4 - ICLS - class from outer and protected class from superclass in top-level nested class (1GK7FLC)
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=3376">3376</a>
JCK 1.4 - ICLS - class from outer and public class from superclass in top-level nested class (1GK7FOT)
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=3377">3377</a>
JCK 1.4 - ICLS - class from outer and class from superclass in top-level nested class (1GK7FTA)
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=3378">3378</a>
JCK 1.4 - ICLS - class from outer and protected static class from superclass in nested class (1GK7FX7)
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=3379">3379</a>
JCK 1.4 - ICLS - class from outer and public static class from superclass in nested class (1GK7G2A)
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=3380">3380</a>
JCK 1.4 - ICLS - class from outer and static class from superclass in nested class (1GK7G5A)
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=3381">3381</a>
JCK 1.4 - ICLS - class from outer and protected class from superclass in nested class (1GK7G8E)
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=3382">3382</a>
JCK 1.4 - ICLS - class from outer and public class from superclass in nested class (1GK7GC1)
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=3383">3383</a>
JCK 1.4 - ICLS - class from outer and class from superclass in nested class (1GK7GQA)
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=3384">3384</a>
JCK 1.4 - ICLS - static class from outer and public static class from superclass in top-level nested class. (1GK7CTV)
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=3387">3387</a>
JCK 1.4 - ICLS - static field from outer class and inherited public field in top-level nested class (1GK7H0B)
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=3388">3388</a>
JCK 1.4 - ICLS - static class from outer and protected static class from superclass in top-level nested class (1GK7BGP)
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=3389">3389</a>
JCK 1.4 - ICLS - static class from outer and static class from superclass in top-level nested class (1GK7D2P)
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=3390">3390</a>
JCK 1.4 - ICLS - static class from outer and protected class from superclass in top-level nested class (1GK7D7Q) 
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=3391">3391</a>
JCK 1.4 - ICLS - static class from outer and public class from superclass in top-level nested class (1GK7DBD)
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=3392">3392</a>
JCK 1.4 - ICLS - static class from outer and static class from superclass in nested class (1GK7ERE)
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=3393">3393</a>
JCK 1.4 - ICLS - static class from outer and protected class from superclass in nested class (1GK7EVB)
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=3394">3394</a>
JCK 1.4 - ICLS - static class from outer and public class from superclass in nested class (1GK7EZB)
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=3395">3395</a>
JCK 1.4 - ICLS - static class from outer and class from superclass in nested class (1GK7F4S)
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=3396">3396</a>
JCK 1.4 - ICLS - class from outer and protected static class from superclass in top-level nested class (1GK7F8L)
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=3397">3397</a>
JCK 1.4 - ICLS - class from outer and public static class from superclass in top-level nested class (1GK7FCN)
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=3398">3398</a>
JCK 1.4 - ICLS - class from outer and static class from superclass in top-level nested class (1GK7FHB)
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=3399">3399</a>
JCK 1.4 - ICLS - static field from outer class and inherited field in top-level nested class (1GK7H2Z)
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=3400">3400</a>
JCK 1.4 - ICLS - static field from outer class and inherited protected field in top-level nested class (1GK7GW6)
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=3401">3401</a>
JCK 1.4 - ICLS - field from outer class and inherited field in top-level nested class (1GK7HEF)
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=3402">3402</a>
JCK 1.4 - ICLS - static field from outer class and inherited protected field in nested class (1GK7HH1)
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=3403">3403</a>
JCK 1.4 - ICLS - field from outer class and inherited protected field in top-level nested class (1GK7H5X)
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=3404">3404</a>
JCK 1.4 - ICLS - field from outer class and inherited public field in top-level nested class (1GK7HBJ)
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=3405">3405</a>
JCK 1.4 - ICLS - static field from outer class and inherited public field in nested class (1GK7HKE)
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=3406">3406</a>
JCK 1.4 - ICLS - static field from outer class and inherited field in nested class (1GK7HMN)
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=3407">3407</a>
JCK 1.4 - ICLS - field from outer class and inherited protected field in nested class (1GK7L79)
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=6061">6061</a>
unreachable code/unused temp ? 
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=6443">6443</a>
Incremental java builder doesn't handle folder create/delete nicely
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=5317">5317</a>
Reparenting class should refresh hierarchy  
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=6740">6740</a>
Problems with deleting project
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=6491">6491</a>
Non-java resource folder doesn't appear under pkg fragment root  
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=3245">3245</a>
sub folders with dot not visible in packages view (1GCOH17)  
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=6806">6806</a>
NullPointerException moving enpty cu out of default package  

<h3>
Problem Reports Closed</h3>
<a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=7065">7065</a>
NPE when saving a Java source
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=6956">6956</a>
incorrect compiler error reported on extract method
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=7072">7072</a>
Protected member in superclass not visible in subclass
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=7066">7066</a>
Subclass can't see protected inner class of superclass  
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=3284">3284</a>
Project doesn't always rebuild after changing the Java build path
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=6957">6957</a>
CCE in AnonymousLocalTypeDeclaration::traverse 
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=6958">6958</a>
NPE in DeltaProcessor  
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=6900">6900</a>
Rebuild project fails with error "1000 
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=4382">4382</a>
NullPointerException in JavaBuilder
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=3199">3199</a>
Missing classpath variables
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=6848">6848</a>
Index out of range exception with New builder
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=4913">4913</a>
null argument in IncrementalImageBuilder.getBuilderType
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=6760">6760</a>
package names truncated in compilation dialog
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=3295">3295</a>
Errors from missing reference to a jar do not go away
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=3450">3450</a>
Bug in JavaSearchScope (1GLE1GC)

<p><hr><h1>
Eclipse Platform Build Notes&nbsp;<br>
Java development tools core</h1>
Eclipse SDK Build 20011218 - 18th December 2001 - MILESTONE 1
<br>Project org.eclipse.jdt.core v_219a
<h2>
What's new in this drop</h2>

<h3>
Problem Reports Fixed</h3>

<a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=6117">6117</a>
CodeFormatter - impossible to set indentation level and position mapping w/o deprecated methods
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=6719">6719</a>
LocalTypeDeclaration::traverse

<h3>
Problem Reports Closed</h3>
<a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=5432">5432</a>
compiler syntax error is incorrect

<p><hr><h1>
Eclipse Platform Build Notes&nbsp;<br>
Java development tools core</h1>
Eclipse SDK Build 20011211 - 11th December 2001
<br>Project org.eclipse.jdt.core v_218
<h2>
What's new in this drop</h2>

<ul>
<li> Java element deltas are batched. If the java model operation modifies
	 a resource, then the java element deltas are merged and fired during 
	 the resource delta processing. If the java model operation doesn't 
	 modify any resource (e.g. IWorkingCopy.reconcile()), then the java
	 element delta is fired right away.
</ul>
<h3>
Problem Reports Fixed</h3>

<a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=3215">3215</a>
JM - Creating a new class sends out many notifications (1GD2GT0)  
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=6695">6695</a>
Changing Java preference in build 20011206 throws a NullPointerException in org.eclipse.jdt.internal.core.DeltaProcessor.initializeRoots  
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=6761">6761</a>
NullPointerException during replace  
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=3290">3290</a>
JavaBuilder - Old class files remain after change of output location
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=3188">3188</a>
JavaBuilder - Deleting source doesn't delete binary folders (1FVPTTK)  
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=3185">3185</a>
JavaBuilder - Errors don't disappear
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=3189">3189</a>
JavaBuilder - Missing libraries results in insufficient dependency info
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=3204">3204</a>
ImageBuilder should show error count in the progress
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=3227">3227</a>
JCL dev - Builder did not refresh problems in exception hierarchy
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=3228">3228</a>
Discarding rt.jar from build path triggers too many recompilation
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=3232">3232</a>
Incremental builder unable to handle efficiently missing rt.jar scenario
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=3234">3234</a>
Incremental builder does not notice addition of java.lang.Object inside same project
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=3241">3241</a>
Build doesn't honor cancel
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=3260">3260</a>
NPE when doing incremental project build
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=3278">3278</a>
JavaBuilder - Problem Count rarely updated
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=3287">3287</a>
Built state does not remember old pkg fragment roots
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=3301">3301</a>
Incremental build doesn't detect disappearance of field
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=3305">3305</a>
Incremental build doesn't detect abstract method to implements
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=3311">3311</a>
performance: task list still does not scale at all
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=3312">3312</a>
Internal errors in image builder due to duplicate package fragment
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=3317">3317</a>
Fullbuild after startup
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=3322">3322</a>
NullPointerException during build in StateImpl.getSourceElementEntries
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=3326">3326</a>
Incremental build doesn't work if bin deleted
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=3370">3370</a>
Incremental compiler is compiling project when it should not
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=3422">3422</a>
NPE in Java builder during catchup
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=3429">3429</a>
Incremental compilation bug on namespace change in private local class
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=3444">3444</a>
Build problems: Marker set on Folder?
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=5007">5007</a>
Project classpath references do not follow class folders
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=5109">5109</a>
Adding project doesn't fix build errors
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=5320">5320</a>
NPE during catchup
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=5641">5641</a>
NPE on rebuild when replacing internal jar
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=6538">6538</a>
searchDeclarationsOf* incorrect 
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=6690">6690</a>
CodeAssist finds types outside the classpath 
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=6687">6687</a>
Wrong JavaModel refresh after drag and drop outside folder with dot in name  
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=6693">6693</a>
AbstractImageBuilder.compile throws an ArrayIndexOutOfBoundsException on line 166 in build 20011206
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=6670">6670</a>
Code Assist: Cannot resolve in method body
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=6674">6674</a>
Cannot add unimplemented methods
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=6629">6629</a>
Open On Selection does not work on Linux
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=5542">5542</a>
Too many deltas are fired on each JavaModel operation  
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=3269">3269</a> 
Updating the Java packages view on project creation (1GDW0U9)  
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=3202">3202</a>
DCR - JM - Merge Java Element Deltas with Resource Deltas (1G2B60Z)  
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=6621">6621</a>
NPE in Delta Processor  
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=3368">3368</a>
JCK 1.4 - INTF - The field of protected interface is used in other package (1GK7M25)  
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=6596">6596</a>
Java compiler can generate invalid bytecode
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=6586">6586</a>
NullPointerException when resource modification done before java model is open
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=6542">6542</a>
extract method: incorrect error message  

<h3>
Problem Reports Closed</h3>
<a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=6645">6645</a>
Build/Rebuild does not recompile code  
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=6669">6669</a>
Search doesn't find reference to a field that is only used in an initialization  
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=5385">5385</a>
search: name searchDeclarationsOfSentMessages is not good  
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=3183">3183</a>
JM - Builders and nested operations using Java model can get inconsistent results (1FUBV90)  
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=3250">3250</a>
JavaProject.retrieveResource picks first removed child delta (1GCV7PQ)  
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=6378">6378</a>
ClassCastException in inner class emulation  
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=6677">6677</a>
\u in comment gives Invalid unicode error
   
<p><hr><h1>
Eclipse Platform Build Notes&nbsp;<br>
Java development tools core</h1>
Eclipse SDK Build 20011206 - 06th December 2001
<br>Project org.eclipse.jdt.core v_217
<h2>
What's new in this drop</h2>

<h3>
Problem Reports Fixed</h3>
<a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=6564">6564</a>
New builder - Incremental recompilation detected package problems incorrectly  
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=6563">6563</a>
Package view does not refresh ok when adding both package and unit at once  

<h3>
Problem Reports Closed</h3>
<a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=3242">3242</a>
TypeRef.getType does not work for inner types (1GCFUNT)

<p><hr><h1>
Eclipse Platform Build Notes&nbsp;<br>
Java development tools core</h1>
Eclipse SDK Build 20011204 - 4th December 2001
<br>Project org.eclipse.jdt.core v_216c
<h2>
What's new in this drop</h2>
<ul>
<li> New incremental builder implementation enabled by default (can reenable the 
old implementation by changing the builder extension in the plugin.xml)
<li> Delta processing improvement:
	<ul>
	<li> No longer creates unnecessary Java elements when traversing the resource delta.
	<li> Handles changes in binary folder libraries.
	<li> Projects that share libraries are notified individually.
	<li> Doesn't notify empty deltas any longer.
	</ul>
<li> Source folder resource copying no longer perfom any copies as soon as
one source folder coincidates with the output location.
<li> Open on selection is more fault-tolerant: will now try to locate a
selected method for which argument types are incorrect.
<li> Compiler no longer rejects correct code with respect to access to protected
members defined in enclosing types (was only accepting a subset of correct scenarii).
</ul>
<h3>
Problem Reports Fixed</h3>

<a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=6528">6528</a>:
InvocationTargetException trying to search 
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=6494">6494</a>:
New builder: Invalid error found (The declared package does not match the expected package) 
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=6461">6461</a>:
NewBuilder - doesn't detect incorrectly located compilation units  
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=6456">6456</a>:
Invalid error when compiling access to protected member inside innerclass 
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=3358">3358</a>:
Performance: indexer doing too much work? (1GJLDN7)  
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=5471">5471</a>: 
CodeFormatter mapped positions broken for multi-line comments
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=6431">6431</a>:
ArrayIndexOutOfBoundsException in the SourceIndexer requestor
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=6422">6422</a>:
Resource copy should not occur as soon as one source folder overlap the
binary output
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=6416">6416</a>:
Code resolve doesn't work on message send when parameters are not correct
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=5705">5705</a>:
Wrong positions for ClassCastLiteral
<h3>
Problem Reports Closed</h3>
<a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=6423">6423</a>:  
Search - does not find declarations of method "to*String"  
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=3246">3246</a>: 
CodeCompletion - No completion on member access on anonymous class (1GD3OGA)
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=5454">5454</a>:
Code Assist adds qualified code inside inner classes
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=5837">5837</a>:
ArrayIndexOutOfBoundsException in index merging
<p><hr><h1>
Eclipse Platform Build Notes&nbsp;<br>
Java development tools core</h1>
Eclipse SDK Build 20011127 - 27th November 2001
<br>Project org.eclipse.jdt.core v_215a
<h2>
What's new in this drop</h2>

<ul>
<li>
Better highlighting of multi-line message sending</li>

<li>
Code assist only qualifies implicit members when necessary</li>

<li>
New API for setting both classpath and output location at the same time
(allowing to avoid classpath validation failures in case there is no way
to change both independantly):

<br><tt>IJavaProject.setRawClasspath(IClasspathEntry[] newClasspath, IPath
newOutputLocation, IProgressMonitor monitor)</tt></li></ul>

<h3>
Problem Reports Fixed</h3>
<a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=6339">6339</a> Assertion
failed in SourceType
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=5618">5618</a>
Uncaught CompletionNodeFound exception doing code assist
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=6294">6294</a>
Exception during setting the classpath
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=6302">6302</a>
AssertionFailure in open on selection
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=6094">6094</a>
Search - does not find references to JavaProject.setProject(...)
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=3320">3320</a>"
Search - Match through super type not found if in different project (1GGAOFT)
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=6158">6158</a>"
Search - Prefix and postfix expression not found as write reference
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=4974">4974</a>:
Set classpath / output location should be one operation
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=6176">6176</a>:
Eclipse tools index out of bounds
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=6160">6160</a>:
Index out of bounds in update references
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=6151">6151</a>:
ArrayIndexOutOfBoundsException in ObjectSet
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=5943">5943</a>:
internal error in setting buildpath (name collsion)
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=5471">5471</a>:
CodeFormatter mapped positions broken for multi-line comments
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=5907">5907</a>:
Indexer errors when disk full
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=5884">5884</a>:
Code assist should only fully qualify if needed
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=5514">5514</a>:
Select a declaration does not work in unsaved working copies
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=5414">5414</a>:
ArrayIndexOutOfBoundsException in Signature
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=5384">5384</a>:
search engine: behavior different than expected
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=6104">6104</a>:
Unoptimal debugger highlight for multi-line message expression
<h3>
Problem Reports Closed</h3>
<a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=6210">6210</a>: Creation
failed error when creating a source folder
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=3425">3425</a>:
JavaCore.create(String handle) looses information (1GLA0QG)
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=6127">6127</a>:
Reference by local class not found when searching for interface refs
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=4990">4990</a>:
Error starting Eclipse
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=3471">3471</a>:
Leading '/' in src page of Java wizard is misleading (1G842TH)
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=3619">3619</a>:
inconsistent search for method declarations (1GCZZS1)
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=5557">5557</a>:
Incorrect hierarchy shown (not rooted at Object)
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=6100">6100</a>:
Bug in ObjectSet.Enumeration.nextElement
<p><hr><h1>
Eclipse Platform Build Notes&nbsp;<br>
Java development tools core</h1>
Eclipse SDK Build 20011120 - 20th November 2001
<br>Project org.eclipse.jdt.core v_213
<h2>
What's new in this drop</h2>

<ul>
<li>
CodeAssist no longer find synthetic completions.</li>

<li>
Reduced startup time of Java perspective</li>

<li>
CodeAssist option added to force full qualification of implicit field/method
references (see JavaCore option: "org.eclipse.jdt.core.codeComplete.forceImplicitQualification").</li>
</ul>

<h3>
Problem Reports Fixed</h3>
<a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=5982">5982</a>: content
assist displays accessors
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=5955">5955</a>:
NPE in LookupEnvironment
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=5923">5923</a>:
Search for "length" field refs finds [].length
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=5916">5916</a>:
Search - too many matches for refs to NameLookup.findPackageFragmentRoot
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=5957">5957</a>:
Internal error in RecoveredMethod.add
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=5972">5972</a>:
Incremental builder (new) recompiling dependents of Parser for no apparent
reason
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=5940">5940</a>:
Instance initializer in anon inner class generates errors
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=5913">5913</a>:
Performance - creating tons of classfile elements at startup
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=5862">5862</a>:
search : too many matches on search with OrPattern
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=6070">6070</a>:
New Builder: Builder order problem
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=5852">5852</a>:
Project references not updated according to buildpath
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=5471">5471</a>:
CodeFormatter mapped positions broken for multi-line comments
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=5563">5563</a>:
Write reference on declaration not reported
<h3>
Problem Reports Closed</h3>
<a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=3257">3257</a>: IMethod.getParameterNames
for ClassFiles should use names from source (1GDGN3G)
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=3245">3245</a>:
sub folders with dot not visible in packages view (1GCOH17)
<p><hr><h1>
Eclipse Platform Build Notes&nbsp;<br>
Java development tools core</h1>
Eclipse SDK Build 20011113 - 13th November 2001
<br>Project org.eclipse.jdt.core v_211b
<h2>
What's new in this drop</h2>

<h3>
Problem Reports Fixed</h3>
<a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=5821">5821</a>: Refactor
Rename renames local variable instead of member in case of name clash
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=5003">5003</a>:
Review JavaBuilder cancelation handling
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=5790">5790</a>:
IJavaProject.hasBuildState() fails with new builder
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=5794">5794</a>:
Polymorphic search doesn't work in dependent projects
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=5781">5781</a>:
NPE using new image builder
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=5834">5834</a>:
Incremental build recompiled unrelated project
<h3>
Problem Reports Closed</h3>
<a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=5215">5215</a>: search:
missing field reference
<p><hr><h1>
Eclipse Platform Build Notes&nbsp;<br>
Java development tools core</h1>
Eclipse SDK Build 20011112 - 12th November 2001
<br>Project org.eclipse.jdt.core v_210_01
<h2>
What's new in this drop</h2>

<ul>
<li>
Project references are maintained by the JavaCore, in parallel with build
path.</li>

<li>
Resurrected deprecated APIs from 0.9 which were discarded previously.</li>

<li>
ICodeCompletion reverted to 1.0 version, and got deprecated. Use ICompletionRequestor
instead.</li>

<li>
Cross-project incremental recompilation in presence of structural changes
in produced binaries.</li>
</ul>

<h3>
Problem Reports Fixed</h3>
<a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=5362">5362</a>: Deeper
than necessary JavaElementDelta when package added
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=5525">5525</a>:
ICodeCompletionRequestor isn't 1.0 compatible
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=5616">5616</a>:
NPE when compiling invalid code defining a array of strings
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=5217">5217</a>:
java search scope: missing enclosing project
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=5527">5527</a>:
Unexpected inaccurate matches for #close() declarations
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=5522">5522</a>:
Type hierarchy - missing subtypes of JavaElement
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=5508">5508</a>:
JDT cannot support periods in the folders above the package name
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=5541">5541</a>:
No refresh when adding a compilation unit inside a dot named source folder
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=5532">5532</a>:
Incremental compile missed a return type change
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=5515">5515</a>:
AbortCompilation during polymorphic search
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=5275">5275</a>:
Cross-project recompilation Defect 186249 - OTI PR# 1GLEYT1
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=5267">5267</a>:
Dependent Projects not compiled when project is saved
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=5425">5425</a>:
Exception on CodeAssist
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=3194">3194</a>:
DCR - JM - Buffer contents is duplicated (1G03HCP)
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=5430">5430</a>:
Must resurrect 0.9 deprecated APIs
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=4923">4923</a>:
IJavaProject.getPackageFragmentRoots returns roots from other projects
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=3308">3308</a>:
Projects not build in correct order after load (1GF60TN)
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=3435">3435</a>:
keeping the project references and required project in synch (1GL0L34)
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=5203">5203</a>:
Project indexing does not restrain to source files on the classpath
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=3293">3293</a>:
search does not work in inner class (1GEUQHJ)
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=3249">3249</a>:
Error message is confusing: using token instead of identifier (1GCTDYM)
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=5214">5214</a>:
TVT: Apostrophe shows up multiple times in Java error messages in some
translations (italian)
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=5263">5263</a>:
TVT: Compiler error messages are hard for translators to understand
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=3251">3251</a>:
Types not included in code assist list for import (1GD06W9)
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=5277">5277</a>:
Code assist on assert method do an AbortException
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=5070">5070</a>:
search: missing interface method reference
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=5069">5069</a>:
search: method reference in super missing
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=5068">5068</a>:
search: missing method reference
<h3>
Problem Reports Closed</h3>
<a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=5526">5526</a>: NullPointerException
searching declarations of #close()
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=5498">5498</a>:
Java Compile - code does not compile correctly in JDT, but does with javac
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=5493">5493</a>:
Adding project references doesn't update the classpath
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=5426">5426</a>:
CodeAssist returns empty completion
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=1690">1690</a>:
Local variables not always displayed when in scope (1GJ8PX4)
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=4368">4368</a>:
Wrong match in Java Search
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=3238">3238</a>:
CodeAssist - no completion if cursor at string beginning (1GI3BYO)
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=3271">3271</a>:
Unable to delete attached internal source jar (1GDX215)
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=3209">3209</a>:
DCR - JM -Invalid references to IPath.getDevice() potentially breaking
on Linux (1G4U1R7)
<br>&nbsp;
<p><hr><h1>
Eclipse Platform Build Notes&nbsp;<br>
Java development tools core</h1>
Eclipse SDK Build 20011025 - 25th October 2001
<br>Project org.eclipse.jdt.core v_206
<h2>
What's new in this drop</h2>

<ul>
<li>
JavaModel is no longer performing smart classpath updates when Java package
fragment roots are either moved or removed.</li>
</ul>

<h3>
Problem Reports Fixed</h3>
<a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=3568">3568</a>: no
hoverhelp over constructor referrences (1GAJ0KP)
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=5218">5218</a>:
AccSuper is not set properly
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=5200">5200</a>:
SetClasspathOperation must close root only when root is removed
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=3449">3449</a>:
CodeAssist - two type with same name must be qualified (1GLDN3Z)
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=4973">4973</a>:
Rename package removes first letter of import statements
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=3279">3279</a>:
Severe - JM - Source found, even though sourcepath is false (1GELAVB)
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=3434">3434</a>:
Deleting a project from the ws removes it from the buildpath! (1GKZNBS)
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=5021">5021</a>:
Refactoring trashed my code
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=5136">5136</a>:
ArrayIndexOutOfBoundsException when a field declaration is an anonymous
class
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=3440">3440</a>:
Classfile comparator should be able to ignore order (1GL2I7E)
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=3439">3439</a>:
Classfile comparator should be able to ignore synthetics (1GL2I3N)
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=3442">3442</a>:
NPE in SourceElementParser (1GL496I)
<h3>
Problem Reports Closed</h3>
<a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=3369">3369</a>: Classpath
gets out of sync (1GJU853)
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=3281">3281</a>:
change java project binary output create new package (1GEHK07)
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=3298">3298</a>:
Incorrect compile error on valid case statement (1GEYWET)
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=3562">3562</a>:
Outliner bug for initializers (1G93CS3)
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=3447">3447</a>:
search: could automatically narrow down scope (1GLDJVN)
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=3288">3288</a>:
CodeAssist - Code assist doesn't work in some methods (1GELEBH)
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=5073">5073</a>:
delete does not work on default package
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=3443">3443</a>:
Unused argument/variable warnings shown twice (1GL4OW7)
<br>&nbsp;
<p><hr><h1>
Eclipse Platform Build Notes&nbsp;<br>
Java development tools core</h1>
Eclipse SDK Build 20011018 - 18th October 2001
<br>Project org.eclipse.jdt.core v_205
<h2>
What's new in this drop</h2>

<ul>
<li>
CodeAssist provides variable name suggestions.

<br>&nbsp;&nbsp;&nbsp; (breaking) API Changes on <tt>ICompletionRequestor</tt>
<br>&nbsp;&nbsp;&nbsp; <b>+</b> <u>Added</u> API for suggest variable name:
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <tt>void acceptVariableName(</tt>
<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; char[] typePackageName,</tt>
<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; char[] typeName,</tt>
<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; char[] name,</tt>
<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; char[] completionName,</tt>
<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int completionStart,</tt>
<br><tt>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int completionEnd);</tt>
<br>&nbsp;
</li>
<li>
<p>Helper method for computing a resolved and expanded path (all exports from
prerequisites) which was introduced in 204, got <u>removed</u>. This is
not an API change, it never made it out officially.</p>

<br>&nbsp;&nbsp; <b>-</b> <tt>IJavaProject.getExpandedClasspath(boolean)</tt>
<p><tt>SearchEngine.createJavaSearchScope(IResource[])</tt> has been deprecated.
Use <tt>SearchEngine.createJavaSearchScope(IJavaElement[])</tt> instead.
The rational is that <tt>createJavaSearchScope(IResource[])</tt> was not
well defined for projects, and it could not define a search scope for java
elements that didn't have a corresponding resource (e.g. external jars).
This deprecated API's behavior has also reverted to the 1.0 state for backward
compatibility. The specification of <tt>createJavaSearchScope(IJavaElement[])</tt>
is as follows:</p>
<ul>
<li>
If an element is an <tt>IJavaProject</tt>, then the project's source folders,
its jars (external and internal) and its references projects (with their
source folders and jars, recursively) will be included.</li>

<li>
If an element is an <tt>IPackageFragmentRoot</tt>, then only the package
fragments of this package fragment root will be included.</li>

<li>
If an element is an <tt>IPackageFragment</tt>, then only the compilation
unit and class files of this package fragment will be included. Subpackages
will NOT be included.</li>
</ul></li>
</ul>

<h3>
Problem Reports Fixed</h3>
<a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=5065">5065</a>: NullPointerException
in Code Assist
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=4921">4921</a>:
Serach does not find types in internal jar
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=4917">4917</a>:
Latest build fails updating TypeHierarchy
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=3296">3296</a>:
CodeAssist - should filter out duplicates if any (1GEWDL7)
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=3325">3325</a>:
Too much codeassist match on interface (1GH0GV1)
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=3424">3424</a>:
DCR: code assist support for variable name suggestions (1GKM6OQ)
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=3282">3282</a>:
JCK 1.4 - DASG - assigned variable before catch block after return statement
(1GK2AHX)
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=3452">3452</a>:
NPE doing Display from Binary (1GLEG5K)
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=3374">3374</a>:
SearchPatter.createPattern(...) doesn't work with unicodes (1GJYBRY)
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=3309">3309</a>:
DCR - JM - could ICompilationUnit::getType throw JME? (1GF9AL9)
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=3310">3310</a>:
Smoke 124: Compile errors introduced with rename refactoring (1GFBK2G)
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=3436">3436</a>:
NPW in TypeHierarchy (1GL0L8D)
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=4919">4919</a>:
Cannot duplicate local variable in finally block
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=4943">4943</a>:
Verification error
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=4385">4385</a>:
QualifiedAllocationExpression.sourceEnd incorrect if type is an AnonymousLocalTypeDeclaration
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=3230">3230</a>:
Search - Too many type references for query ending with * (1GAZVGI)
<h3>
Problem Reports Closed</h3>
<a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=3174">3174</a>: Open-on-selection
doesn't work on MouseAdapter (1GF69TH)
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=3337">3337</a>:
Open on selection failed with double message (1GIFA80)
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=3207">3207</a>:
JM - Smart save when empty CU (1G4EVHM)
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=1672">1672</a>:
Cannot evaluate classes in a sealed jar (1GHU6YK)
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=3220">3220</a>:
Formatter tests refer to hardcoded path on disk (1G9R5G4)
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=3258">3258</a>:
exception doing import assist (1GDIJ9D)
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=3240">3240</a>:
need to find method declarations in anonymous inner types (1GCBPRI)
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=3254">3254</a>:
Indexer - Should nest index source retrieval in IWorkspaceRunnable (1GD7J6F)
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=3225">3225</a>:
IJavaProject.findPackageFragment strange semantic (1GAOLWQ)
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=3218">3218</a>:
No interface to polymorphically acess ICompilationUnit (1G8D2ZP)
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=3205">3205</a>:
Problems with IJavaModel.findPackageFragment (1G456DO)
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=3197">3197</a>:
DCR - OpenOnSelection - Code resolve doesn't work on declarations (1G0UX9V)
<br><a href="http://dev.eclipse.org/bugs/show_bug.cgi?id=3177">3177</a>:
64kb method should be a configurable problem (1FJHGVF)
<br>&nbsp;
<p><hr><h1>
Eclipse Platform Build Notes&nbsp;<br>
Java development tools core</h1>
Eclipse SDK Build 20011011 - October 11th, 2001
<br>Project org.eclipse.jdt.core v_204
<h2>
What's new in this drop</h2>

<ul>
<li>
Classpath entries (except for source folders) can be tagged as exported
upon creation. When exported, an entry is contributed to dependent projects
along with its output location.</li>

<li>
Added APIs:

<br>&nbsp;&nbsp;&nbsp; Testing status of a given entry
<br>&nbsp;&nbsp;&nbsp;&nbsp; + IClasspathEntry.isExported()</li></ul>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Creating
entries with export flag
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ JavaCore.newProjectEntry(IPath, boolean)
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ JavaCore.newLibraryEntry(IPath, IPath, IPath, boolean)
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ JavaCore.newVariableEntry(IPath, boolean)
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Helper
method computing a resolved and expanded path (all exports from prerequisites)
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
+ IJavaProject.getExpandedClasspath(boolean)
<ul>
<li>
CodeAssist inserts qualification on field/method references in case of
ambiguities.</li>

<li>
CodeAssist provides parameter names on method completions.

<br>&nbsp;&nbsp;&nbsp; API Changes on ICompletionRequestor
<br>&nbsp;&nbsp; + Added API for answering method declaration completions:
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; void acceptMethodDeclaration(
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; char[] declaringTypePackageName,
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; char[] declaringTypeName,
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; char[] selector,
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; char[][] parameterPackageNames,
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; char[][] parameterTypeNames,
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; char[][] parameterNames,
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; char[] returnTypePackageName,
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; char[] returnTypeName,
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; char[] completionName,
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int modifiers,
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int completionStart,
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int completionEnd);
<br>&nbsp;&nbsp;&nbsp; + Added parameterNames to normal method results
API:
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; void acceptMethod(
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; char[] declaringTypePackageName,
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; char[] declaringTypeName,
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; char[] selector,
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; char[][] parameterPackageNames,
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; char[][] parameterTypeNames,
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; char[][] parameterNames,&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;
ADDED
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; char[] returnTypePackageName,
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; char[] returnTypeName,
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; char[] completionName,
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int modifiers,
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int completionStart,
<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; int completionEnd);
<br>&nbsp;
</li>
<li>
CodeAssist optionally performs visibility checks (see JavaCore option:
"org.eclipse.jdt.core.codeComplete.visibilityCheck").</li>

<li>
Search for field read and field write references. Two new constants have
been added

<br>&nbsp;&nbsp;&nbsp; on IJavaSearchConstants to be used when creating
a field reference search pattern:
<br>&nbsp;&nbsp;&nbsp; - READ_REFERENCES: the search results contain *only*
read access to a field.
<br>&nbsp;&nbsp;&nbsp; - WRITE_REFERENCES: the search results contain *only*
write access to a field.
<br>&nbsp;&nbsp;&nbsp; Note that if REFERENCES is used, then search results
contain both read and write
<br>&nbsp;&nbsp;&nbsp; accesss to a field.</li>
<li>
OpenOnSelection can now locate selected declarations which have a corresponding

<br>&nbsp;&nbsp;&nbsp; Java element (i.e. no local declaration is found),
and is more tolerant of
<br>&nbsp;&nbsp;&nbsp; incorrect code.</li></ul>

<h2>
Problem Reports Fixed</h2>
&nbsp; 3430&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; usability: parameter hints (1GKYXK5)
<br>&nbsp; 3431&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Unreachable code in JCore
(1GL2V6K)
<br>&nbsp; 3175&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; JCK1.3a - ICLS - Comparing
current instance against enclosing instance inside of anonymous class.
(1GLDSBS)
<br>&nbsp; 1GLBOJZ:&nbsp; ITPJCORE:WIN2000 - UnaryExpression doesn't store
expression type in bit mask
<br>&nbsp; 1GDS7IP:&nbsp; ITPJCORE:WIN2000 - VerifyError related to a local
index computation
<br>&nbsp; 1GLABQ7: ITPJCORE:WIN2000 - JavaCore.create(String) throws an
unexpected exception
<br>&nbsp; 1GL0PGV: ITPJCORE:WINNT - Batch compiler leaving JARs open
<br>&nbsp; 5268&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ITPJCORE:ALL - VerifyError when running app (1GL4QKI)
<br>&nbsp; 1GLBP65: ITPJCORE:WIN2000 - search: type refs - incorrect match
<br>&nbsp; 1GKXCOM: ITPJCORE:WIN2000 - ClassCastException during inner
class emulation
<br>&nbsp; 1GD07GK: ITPJUI:WIN98 - Code assist should qualify methods if
needed.
<br>&nbsp; 1GL1HF8: ITPJCORE:WIN2000 - Missing implementation in the compiler
compiling invalid code
<br>&nbsp; 1GL13OT: ITPJCORE:ALL - INameLookup should be removed
<br>&nbsp; 1GL1I9F: ITPJCORE:WIN2000 - Wrong source mapping for binary
methods with parameters with identical simple names
<br>&nbsp; 1G4CIP0: ITPJUI:WIN - Source for binaries doesn't work for anonymous
inner classes
<br>&nbsp; 1GD79XM: ITPJCORE:WINNT - Search - search for field references
- not all found
<br>&nbsp; 1GLA60W: ITPJCORE:WINNT - CodeAssist - should not propose declarations
of method already locally implemented
<br>&nbsp; 1GLAEZB: ITPJCORE:WINNT - CodeAssist does not disambiguate method
references
<br>&nbsp; 1GL4F3J: ITPJCORE:WINNT - Completion on declaration should also
provide thrown exceptions
<br>&nbsp; 1GL11J6: ITPJCORE:WIN2000 - search: missing field references
(nested types)
<br>&nbsp; 1GL12XE: ITPJCORE:WIN2000 - search: missing field references
in inner class
<br>&nbsp; 1GL0X82: ITPJCORE:ALL - ClassCastException setting args on class
file
<br>&nbsp; 1GKAQJS: ITPJCORE:WIN2000 - search: incorrect results for nested
types
<br>&nbsp; 1GKZ8VZ: ITPJCORE:WINNT - Search - did not find references to
member constructor
<br>&nbsp; 1GKYS7Y: ITPJCORE:WINNT - Main not found
<br>&nbsp; 1GELSDQ: ITPJUI:WINNT - JDOM: IType.createMethod does not insert
nicely for inner types
<br>&nbsp; 1GF67VL: ITPJUI:WIN98 - DCR - CodeCompletion - Code-assist for
listener methods
<br>&nbsp; 1GFK8YT: ITPJUI:ALL - Rename CU A.B.java to AB.java fails (NPE)
<br>&nbsp; 1GD06J6: ITPJUI:WIN98 - Code assist should qualify fields if
needed.
<br>&nbsp; 1FZWGMG: ITPCOM:WIN98 - DCR - CodeAssist - code assist should
provide method signature completions
<br>&nbsp; 1GHVOQE: ITPJCORE:WINNT - Ambiguous completion in CodeAssist
<br>&nbsp; 1G8DEAB: ITPJUI:WINNT - DCR: code assist super methods when
defining method
<br>&nbsp; 1GGNNDZ: ITPJCORE:WINNT - OpenOnSelection - non visible target
is equivalent to no target
<br>&nbsp; 1GE14NN: ITPJUI:WINNT - Unable to find/search for .class files
<br>&nbsp; 1GJYFUO: ITPDUI:ALL - Evaluation hangs, evaluation thread is
suspended
<br>&nbsp; 1FWG453: ITPJCORE:WIN98 - OpenOnSelection - fails for default
constructors
<br>&nbsp; 1GDQD37: ITPJUI:WIN2000 - OpenOnSelection - Open on selection
failure
<br>&nbsp; 1GGZ2R7: ITPJUI:WIN2000 - Search for method refs failed
<br>&nbsp; 1GKNXX6: ITPJCORE:WINNT - OpenOnSelection - no selection if
targeting member type in default package
<br>&nbsp; 1GE34EE: ITPJUI:WIN2000 - OpenOnSelection - initial selection
wrong
<br>&nbsp; 1GKEG73: ITPJCORE:WIN2000 - search (136): missing field declaration
<br>&nbsp; 1GKB9YH: ITPJCORE:WIN2000 - search for field refs - incorrect
results
<br>&nbsp; 1GJL6EJ: ITPJCORE:WINNT - JavaConventions.validateClasspath:
Compares against variable name
<br>&nbsp; 1GDQEAS: ITPJUI:ALL - Indexer - delete unused indexes on Java
core plug-in shutdown
<br>&nbsp; 1GKM4M9: ITPJCORE:WINNT - DCR: code select should work on declarations
<br>&nbsp; 1G2NZVT: ITPJUI:WIN2000 - DCR - OpenOnSelection - Code resolve
doesn't work for declarations
<h3>
Problem Reports Closed</h3>
&nbsp; 3223&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Search from editor's context
menu doesn't work (1GAJCD8)
<br>&nbsp; 3433&nbsp; search: missing field occurrecnces (1GKZ8J6)
<br>&nbsp; 3176&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; JCK1.3a - STMT - Single declaration
in try block (1GLDSH9)
<br>&nbsp; 1GL0MN9: ITPJCORE:WIN2000 - search: not consistent results for
nested types
<br>&nbsp; 1GL9UMH: ITPJCORE:WIN2000 - search: missing type occurrences
<br>&nbsp; 1GKYXK5: ITPJUI:WIN2000 - usability: parameter hints
<br>&nbsp; 1GEV78E: ITPJUI:WIN2000 - Code assist: private superclass methods
show up, but others don't
<br>&nbsp; 1GDKKTS: ITPJUI:WINNT - CodeCompletion - import assist shows
invisible types
<br>&nbsp; 1G7317O: ITPJCORE:WIN2000 - DCR - CodeAssist - code assist shows
invisible members
<br>&nbsp; 1GKK930: ITPJCORE:WINNT - No code assist for Inner type
<br>&nbsp; 1GIIDGX: ITPJUI:WINNT - open on type: does not work on some
types
<br>&nbsp; 1GKOFO6: ITPJCORE:WINNT - Internal error searching for class
references
<br>&nbsp; 1GK96A0: ITPJCORE:WINNT - NPE during search operation
<br>&nbsp; 1GK9B5Q: ITPJCORE:WINNT - Class reference search broken
<br>&nbsp; 1GBOFK5: ITPJUI:ALL - "References to" on methods in jars
<br>&nbsp; 1GKECWC: ITPJCORE:WINNT - Organize Imports fails: Typerefs not
complete
<br>&nbsp; 1GKCH3N: ITPJCORE:WIN2000 - search: method refs - super call
not found
<br>&nbsp; 1GKB475: ITPJCORE:WINNT - StringIndexOutOfBoundsException on
searchfor methods
<br>&nbsp; 1GJL6V0: ITPJCORE:WINNT - JavaConventions.validateClasspath:
IStatus usage
<br>&nbsp; 1GKM1MU: ITPJCORE:WINNT - Classpath validation: Overlapping
accepted
<br>&nbsp; 1GJL7RS: ITPJCORE:WINNT - JavaConventions.validateClasspath:
nested sourcefolders
<br>&nbsp; 1GK9NB0: ITPJCORE:WIN2000 - Another core dump - sorry
<br>&nbsp; 1GJYG33: ITPJUI:WIN2000 - Core dump in run time workbench in
Search
<br>&nbsp; 1GK9S59: ITPJUI:WIN2000 - Internal error when synchronizing
<br>&nbsp; 1GL2TZY: ITPJUI:WIN2000 - Code Completion should only show visible
items
<br>&nbsp; 1GKRLZ4: ITPJCORE:WIN2000 - Compiler overzealous with commas
<br>&nbsp; 1GF98R4: ITPJUI:WINNT - JM - why is a file A.B.java seen as
a compilation unit?
<br>&nbsp; 1G98XR7: ITPJCORE:WIN2000 - Feature Request for JavaDoc CodeAssist
<p><hr><h1>
Eclipse Platform Build Notes&nbsp;<br>
Java development tools core</h1>
Eclipse SDK Build 0.202 - Spetember 27th, 2001
<br>Project org.eclipse.jdt.core v_202
<h2>
What's new in this drop</h2>

<ul>
<li>
New AST node for empty statements (org.eclipse.jdt.internal.compiler.ast.EmptyStatement)

<br>&nbsp;&nbsp; i.e. 2 more APIs on the AST visitor. Note: this was not
an official API
</li><li>
ISourceElementRequestor notifies enter/exit initializers instead of just
acceptInitializer. Note: this was not an official API</li>

<li>
Search in inner-classes now works. Indexes are recomputed automatically
on start-up.</li>

<li>
&nbsp; Removed CodeAssist option for hungry mode (org.eclipse.jdt.core.codeComplete.entireWordReplacement)

<br>&nbsp;&nbsp; Client code can decide whether using inferred end position
(hungry behavior) or original cursor location (insert behavior)
<br>&nbsp;&nbsp; based on the keystroke (enter/insert?).</li>
<li>
&nbsp; org.eclipse.jdt.core.search.IJavaSearchResultCollector now clearly
states that

<br>&nbsp;&nbsp;&nbsp; the order of the search result is unspecified.</li></ul>

<h2>
Problem reports fixed</h2>
&nbsp; 1GK2A45: ITPJCORE:WIN2000 - JCK 1.4 - possibly assigned variable
after assignment expression when true
<br>&nbsp; 1GK29Q8: ITPJCORE:WIN2000 - JCK 1.4 - possibly assigned value
of a final instance variable after a constant boolean expression when false
<br>&nbsp; 1G52F7P: ITPJCORE:WINNT - Search - finds bogus references to
class
<br>&nbsp; 1G4TNX1: ITPJCORE:WINNT - Search - No search anonymous results
in inner classes
<br>&nbsp; 1GHW0AZ: ITPJCORE:WINNT - JCK 1.4 - unreachable empty statements
<br>&nbsp; 1GK2BLM: ITPJCORE:WIN2000 - JCK 1.4 - definitely assigned value
after the boolean operator ? : when true
<br>&nbsp; 1GKB28A: ITPJCORE:WIN2000 - Compiler accepts incorrect code
<br>&nbsp; 1FL4T1Q: LFCOM:WINNT - JCK 1.4 - VerifyError due to an illegal
jump
<br>&nbsp; 1GK2B6D: ITPJCORE:WIN2000 - JCK 1.4 - definitely assigned value
before the second operand of the boolean operator &amp;&amp;
<br>&nbsp; 1GK2AOF: ITPJCORE:WIN2000 - JCK 1.4 - assigned variable before
finally block after return statement
<br>&nbsp; 1GK6WD3: ITPJCORE:WIN2000 - search:no fully qualified references
are found
<br>&nbsp; 1GK7231: ITPJCORE:WIN2000 - typos in comments
<br>&nbsp; 1GK77HA: ITPJCORE:WINNT - Search - missing base type references
<br>&nbsp; 1GJY2XN: ITPJUI:WIN2000 - rename type: error when with reference
<br>&nbsp; 1GK1I2J: ITPJCORE:WIN2000 - Broken SourceEnd in ForStatement
and WhileStatement
<br>&nbsp; 1GK1HWY: ITPJCORE:WIN2000 - Broken sourceEnd in for Assignment
and CompoundAssignment
<br>&nbsp; 1GIIBC3: ITPJCORE:WINNT - search for method references - missing
matches
<br>&nbsp; 1GGNOTF: ITPJCORE:WINNT - Search doesn't find method referenced
in anonymous inner class
<br>&nbsp; 1GK1GJE: ITPJCORE:ALL - Search - StringOutBoundsException when
searching references in JAR
<h3>
Problem Reports Closed</h3>
&nbsp;1GJY3KG: ITPJUI:WIN2000 - NPE in jdt.internal.core.ClassFileInfo
<br>&nbsp; 1GK90H4: ITPJCORE:WIN2000 - search: missing package reference
<br>&nbsp; 1GK8TXE: ITPJCORE:WIN2000 - search: missing field reference
<br>&nbsp; 1GK7K17: ITPJCORE:WIN2000 - search: missing type reference
<br>&nbsp; 1GKCJIL: ITPJCORE:WIN2000 - build exception in 135
<br>&nbsp; 1GK6WP9: ITPJCORE:WIN2000 - seach: missing type reference
<br>&nbsp; 1GJZSBE: ITPJCORE:WINNT - ArrayIndexOutOfBoundsException during
rebuild
<br>&nbsp; 1GK7E6S: ITPJCORE:WIN2000 - search: StringIndexOufOfBound
<br>&nbsp; 1GIT857: ITPJCORE:WIN2000 - Performance - Ctrl+S triggers five
parser runs
<br>&nbsp; 1GEHCYL: ITPUI:WINNT - Minor: Colon at wrong place in build
dialog
<br>&nbsp; 1FLUBRR: JRIDE:WINNT - Problems: instantiating inner classes
<br>&nbsp; 1FLUOJI: JRIDE:WINNT - Problems: vague error message with illegal
constructor invocation
<br>&nbsp; 1FLZUG5: JRIDE:WINNT - Problems: invalid expression as statement
is not reported
<br>&nbsp; 1FLZV4M: JRIDE:WINNT - Problems: invalid hexa literal number
not reported
<br>&nbsp; 1FLZYES: JRIDE:WINNT - Problems: the interface cannot define
an initializer is not reported
<br>&nbsp; 1FQVTI1: LFCOM:WINNT - Compiler - No implicit conversion should
not generate aconstnull
<br>&nbsp; 1FUZYXT: ITPJCORE:WINNT - JM - Source for Binaries issue
<br>&nbsp; 1FX0LZ0: ITPCOM:ALL - Request for comments preceeding imports
&amp; package decls
<br>&nbsp; 1FW8ENP: ITPJUI:WIN98 - JDOM - Deleting import statements from
Outline obliterates intervening comments
<br>&nbsp; 1G4PWC7: ITPJCORE:WINNT - Search - No matches with class files
<br>&nbsp; 1G83ZKL: ITPJUI:WINNT - Compiler - unclear error message for
a reserved word used as an identifier
<br>&nbsp; 1GF5W1S: ITPJUI:WIN2000 - ClassCastException in LookupEnvironment
<br>&nbsp; 1GKF01S: ITPJCORE:WINNT - Severe: internal error during search
<br>&nbsp; 1GDVFRX: ITPJUI:WIN2000 - CodeCompletion - eats the following
word
<br>&nbsp; 1GF67JM: ITPJUI:WIN98 - CodeCompletion - Code-assist consumes
next token
<br>&nbsp; 1GCSHAC: ITPJCORE:Inconsistent codeassist behavior
<br>&nbsp; 1GCNBTL: ITPJCORE:ALL - DCR - JM - Provide a way to read JavaCore
default options from the plugin.xml file
<br>&nbsp; 1GAJBOU: ITPJUI:WINNT - Code Assist shows matches after ()
<br>&nbsp; 1FW8NV6: ITPJCORE:ALL - DCR - JM - Need API for compiler options
<p><hr><h1>
Eclipse Platform Build Notes&nbsp;<br>
Java development tools core</h1>
Build 0.200 - September 13th, 2001
<br>Project org.eclipse.jdt.core v_200
<h2>
What is new in this drop</h2>

<ul>
<li>
JCK1.3a compliant.</li>

<li>
Added 2 new APIs on JavaConventions for classpath validation.

<ul>
<li>
IJavaModelStatus validateClasspath(IJavaProject project, IClasspathEntry[]
classpath, IPath outputLocation)</li>

<li>
IJavaModelStatus validateClasspathEntry(IJavaProject project, IClasspathEntry
entry, boolean checkSourceAttachment)</li>
</ul>
</li>
<li>
Ant Eclipse compiler task added (org.eclipse.jdt.core.ant.Jdtcom)</li>

<li>
Assertions support enabled: by default the compiler is 1.3 compliant, but
it can optionally be turned into source 1.4 mode cf. JavaCore options.</li>

<li>
More options are surfaced on JavaCore. See JavaCore.getDefaultOptions()
for description.

<ul>
<li>
...internal...ConfigurableOption has disappeared.</li>

<li>
Evaluation in binaries is functional</li>
</ul>
</li>
<li>
Search for references now finds results in binaries. Indexes in old workspaces
are recomputed when restarted which may result in longer startup times.</li>
</ul>

<h2>
Problem Reports Fixed</h2>
1GEKKUO: ITPJCORE:ALL - JM - Util.readContentsAsBytes(InputStream) doesn't
allow for size hint
<br>1GBRPSJ: ITPJCORE:Options - should surface the code formatter options
on JavaCore
<br>1GJU3YV: ITPJCORE:ALL - ArrayIndexOutOfBoundsException in scanner
<br>1GJL1R5: ITPJCORE:ALL - NPE in ClassFile.getSourceRange
<br>1GH49XR: ITPJUI:WIN2000 - Organize Imports inserts bogus import
<br>1GJU3O8: ITPJCORE:WINNT - type hierarchy: NPE
<br>1GJIYKP: ITPJCORE:WINNT - type hierarchy - contains unrelated types
<br>1GITFQR: IVJIDT:WIN2000 - Wrong byte code generation, Inconsistent
stack height 1 != 0 error
<br>1GIHUQP: ITPJCORE:WINNT - search for static field should be more accurate
<br>1GIT66X: ITPJCORE:WINNT - ClassCastException when calling CodeAssist
<br>1GJA0WG: ITPJCORE:WINNT - AbortCompilationUnit when doing a Search
<br>1GH49HW: ITPJUI:WINNT - Search functionality is misleading when viewing
source from jar
<br>1GFXPE5: ITPJUI:ALL - Search for method references broken
<br>1GFM3X3: ITPJUI:WINNT - Wrong code formatter default for keeping else
on same line
<br>1GHSM7B: ITPJUI:ALL - formatting of anonymous classes
<br>1GGPVHN: ITPJUI:WIN2000 - Not getting hover Javadoc for ISelection
<br>1GE2LO2: ITPJCORE:WIN2000 - SourceStart and SourceEnd of synchronized
statement
<br>1GIUTIZ: ITPJCORE:WIN2000 - AST: case statement doesn't cover case
keyword
<br>1GITCCY: ITPJCORE:WIN2000 - AST: strange LocalDeclaration.declarationSourceEnd
<br>1GIRQFW: ITPJCORE:WIN2000 - AST: wrong source end if subnode is of
type AnnonymousTypeDeclaration
<br>1GIRHRP: ITPJCORE:WIN2000 - AST: wrong sourceStart and sourceEnd in
SynchronizedStatement
<br>1GHUAUO: ITPJCORE:ALL - Renaming an element in a working copy corrupts
the working copy
<br>1GHUAM1: ITPJCORE:ALL - NPE when renaming an element in a working copy
<br>1GHDA2V: ITPJCORE:WINNT - ClassCastException when doing a search
<br>1GFY02B: ITPJUI:ALL - Delete a method and saving introduces extra lines
<br>1GFOFMD: ITPJUI:WIN2000 - New class should have space between package
and class decls
<br>1GI3R1I: ITPJCORE:WIN2000 - Compilation error evaluating super expression
in debugger
<br>1GII07V: ITPJCORE:WIN2000 - CompilationUnitDeclaration.traverse doesn't
call visitor.endVisit
<br>1GIR345: ITPJCORE:ALL - Indexer: NegativeArraySizeException
<br>1GIRC23: ITPJCORE:ALL - CodeFormatter brace on new line problem
<br>1GIT8SA: ITPJCORE:WIN2000 - AST: wrong sourceEnd if action is Block
<br>1GIUQVL: ITPJCORE:WINNT - IClassPathEntry: java doc incorrect
<br>1GIVGMH: ITPJUI:ALL - EC: Javadoc hoverhelp incorrectly uses first
of multiple comments
<br>1GIYKSR: ITPJCORE:WIN2000 - Ast: FieldDeclaration.traverse implemeted
differently
<br>1GI3ND5: ITPJCORE:WINNT - Potential optimization during IB problem
generation
<br>1GFBVZH: ITPUI:WIN2000 - ArrayIndexOutOfBoundsException: Java editor
<br>1GI509E: ITPJCORE:WINNT - IJavaProject.getNonJavaResources returns
java and class files
<br>1GI2WAW: ITPJCORE:WINNT - Too many results for default package
<br>1GHQZ9H: ITPJUI:ALL - Walkback doing a search
<br>1GGYT3S: ITPJCORE:WINNT - javaconventions::validatePackageName and
default package
<br>1GF9856: ITPJCORE:WINNT - JM - JavaConventions::validateCompilationUnitName
<br>1GF822P: ITPJCORE:WIN2000 - NegativeArraySizeException in Parser
<br>1GI6T4Y: ITPJCORE:WINNT - NPE in JavaModeManager retrieving workspace
options
<br>1GE4ILR: ITPJCORE:ALL - Eval - Evaluation in Binary Project fails
<br>1GI3LLC: ITPJCORE:ALL - Incorrect formatting for the new keyword
<br>1GHU6O5: ITPJCORE:WINNT - RMIC test fail
<br>1GHH6O7: ITPJCORE:ALL - Need to tune the exception analysis for AssertStatement
<br>1GHUW7T: ITPJCORE:WIN2000 - Build Problem
<br>1GI3IG9: ITPJCORE:ALL - internal compiler error involving bogus method/field
declaration
<br>1GHU4PK: ITPJCORE:WINNT - NoSuchMethodError when running program
<br>1GHONAX: ITPJCORE:WIN2000 - Compiler uses different name lookup for
refactoring
<br>1GEJYAJ: ITPJCORE:WIN2000 - Compiler - Binding of QualifiedNameReference
is null
<br>1GHFHWR: ITPJCORE:ALL - Assertions: CodeAssist and Selection need to
be updated
<br>1GHFHXG: ITPJCORE:ALL - Assertions: Add optional warning on assert
identifier
<br>1GCZ9VM: ITPJCORE:WIN2000 - DCR - Compiler - Batch compiler should
be API
<br>1GHO6QR: ITPJCORE:WINNT - Code Assist - no method completion when return
type is secondary one
<br>1GH0AU7: ITPJCORE:ALL - Eval - VerifyError in scrapbook page
<br>1GH2R62: ITPJCORE:WIN2000 - Typo in progress message
<br>1GGYL32: ITPJCORE:ALL - Default supertypes are not visible when qualified
<br>1GDFJK0: IVJIDT:WIN2000 - Using 'synchronized' produces invalid exception
table values in class, causes "Illegal exception table range" exception,
VAJ 3.5+
<br>1GGAK6G: ITPJCORE:ALL - Incorrect javadoc comment in JavaElement
<br>1GF9L3K: ITPDUI:ALL - Eval - Private array resolution failure
<br>1GF8KHX: ITPJUI:ALL - Invalid project build path should be warning,
not error
<br>1GF7JIH: ITPJCORE:ALL - Exception when removing network drive
<br>1GEYBL9: ITPJUI:WINNT - Adding source folders on CP is very confusing
<br>1GEJAOT: ITPJUI:WINNT - JRE Source attachment set to path to does not
exist
<br>1GEHZNB: ITPJUI:WINNT - smoke 114: formatter inserts extra tab in first
line
<br>1GCZZT4: ITPJCORE:Fault-tolerance - missing constructor invocation
could still answer the allocated type
<br>1GAU96P: ITPJCORE:WINNT - DCR - JM - JavaProject should provide a class
path validation method
<br>1G7A1TL: ITPJCORE:WINNT - DCR - JM - Rules for classpath not specified
<br>1FVVWZT: ITPJCORE:ALL - JM - IBinaryType should implement getSourceFileName()
<br>&nbsp;
</body>
</html>
