<!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 20020506 - 6th May 2002 -  M6 stream / MILESTONE 5 patch''
<br>Project org.eclipse.jdt.core v_244a
<h2>
What's new in this drop</h2>
<ul>
	<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=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=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=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 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>
