<!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>

</head>
<body>

<body text="#000000" bgcolor="#FFFFFF">
&nbsp;

<table border=0 cellspacing=5 cellpadding=2 width="100%" >
  <tr> 
    <td align=left width="72%">
      <font face="Verdana, Arial, Helvetica" size="+3"><b>jdt core - build notes R2.0</b></font>
      <br><font face="Arial, Helvetica, sans-serif" size="-2" color="#8080ff">java development tooling core</font></td>
  </tr>
	<tr><td>&nbsp;</td></tr>
  <tr>
  	<td>
	  <font face="Arial, Helvetica, sans-serif" 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 Tooling 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 Tooling 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 Tooling 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 Tooling 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 Tooling 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 Tooling 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 Tooling 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 Tooling 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 Tooling 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 Tooling 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 (>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 Tooling 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 Tooling 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 Tooling 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 Tooling 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 Tooling 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>. </li>
<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>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 -> 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 Tooling 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 Tooling 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 Tooling 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> </li>
    <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>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 Tooling 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 Tooling 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 Tooling 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 Tooling 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 Tooling 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 Tooling 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 Tooling 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 Tooling 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 Tooling 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 Tooling 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 Tooling 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>==> <code>org.eclipse.jdt.core.compiler.InvalidInputException</code> </li>
		<li> <code>org.eclipse.jdt.internal.core.parser.TerminalSymbols</code> <br>==> <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 Tooling 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 Tooling 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 Tooling 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 Tooling 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 Tooling 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 Tooling 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 Tooling 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 Tooling 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 Tooling 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 Tooling 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 Tooling 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 Tooling 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 Tooling 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 Tooling 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 Tooling 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:</li>
<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;
</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 Tooling 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 Tooling 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 Tooling 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 Tooling 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 Tooling 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 Tooling 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):</li>

<br><tt>IJavaProject.setRawClasspath(IClasspathEntry[] newClasspath, IPath
newOutputLocation, IProgressMonitor monitor)</tt></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 Tooling 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 Tooling 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 Tooling 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 Tooling 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 Tooling 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.</li>

<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>
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.</li>

<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:
<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>
</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 Tooling 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:</li>

<br>&nbsp;&nbsp;&nbsp; Testing status of a given entry
<br>&nbsp;&nbsp;&nbsp;&nbsp; + IClasspathEntry.isExported()</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.</li>

<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>
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</li>

<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>
OpenOnSelection can now locate selected declarations which have a corresponding</li>

<br>&nbsp;&nbsp;&nbsp; Java element (i.e. no local declaration is found),
and is more tolerant of
<br>&nbsp;&nbsp;&nbsp; incorrect code.</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 Tooling 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)</li>

<br>&nbsp;&nbsp; i.e. 2 more APIs on the AST visitor. Note: this was not
an official API
<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)</li>

<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>
&nbsp; org.eclipse.jdt.core.search.IJavaSearchResultCollector now clearly
states that</li>

<br>&nbsp;&nbsp;&nbsp; the order of the search result is unspecified.</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 Tooling 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.</li>

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

<li>
IJavaModelStatus validateClasspathEntry(IJavaProject project, IClasspathEntry
entry, boolean checkSourceAttachment)</li>
</ul>

<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.</li>

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

<li>
Evaluation in binaries is functional</li>
</ul>

<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>
