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

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

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

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

<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

<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 

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

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

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

<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

<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:	"<n>" where <n> 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

<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 

<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

<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

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

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

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


<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

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

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

<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

<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

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

<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

<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 

<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 

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

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

<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:	{ "<name>[,<name>]* } where <name> 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 

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

<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  


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


<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  

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

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

<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

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

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