<!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">
   <title>JDT/Core Release Notes 3.1</title>
   <link rel="stylesheet" href="jdt_core_style.css" charset="iso-8859-1" type="text/css">
</head>
<body text="#000000" bgcolor="#FFFFFF">
<table border=0 cellspacing=5 cellpadding=2 width="100%" >
  <tr> 
    <td align="left" width="72%" class="title1">
      <font size="+3"><b>jdt core - build notes 3.1 stream</b></font>
    </td>
  </tr>
  <tr><td td align="left" width="72%" class="title2"><font size="-2">java development tooling core</font></td></tr>
  <tr><td>&nbsp;</td></tr>
  <tr>
  	<td class="title3">
	  <font size="-1">
	  Here are the build notes for the Eclipse JDT/Core plug-in project 
	  <a href="http://dev.eclipse.org/viewcvs/index.cgi/%7Echeckout%7E/jdt-core-home/main.html"><b>org.eclipse.jdt.core</b></a>, 
	  describing <a href="http://bugs.eclipse.org/bugs" target=new>bug</a> resolution and substantial changes in the <a href="http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.jdt.core"><b>HEAD</b></a> branch. 
	  <!--
	  This present document covers all changes since Release 3.0 (also see a summary of <a href="http://dev.eclipse.org/viewcvs/index.cgi/%7Echeckout%7E/org.eclipse.jdt.core/notes/API_changes.html">API changes</a>).
	  Older changes which occurred up to Release 3.0 can be found in 
	  <a href="http://dev.eclipse.org/viewcvs/index.cgi/%7Echeckout%7E/org.eclipse.jdt.core/notes/R21_buildnotes_jdt-core.html">build notes R2.1</a>.
	  -->
	  This present document covers all changes since Release 3.0 (also see a summary of <a href="http://dev.eclipse.org/viewcvs/index.cgi/%7Echeckout%7E/org.eclipse.jdt.core/notes/API_changes.html">API changes</a>).
	  <br>Maintenance of previous releases of JDT/Core is performed in parallel branches: 
		  <a href="http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.jdt.core/?only_with_tag=R3_0_maintenance">R3.0.x</a>,
		  <a href="http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.jdt.core/?only_with_tag=R2_1_maintenance">R2.1.x</a>,
		  <a href="http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.jdt.core/?only_with_tag=R2_0_1">R2.0.x</a>, 
		  <a href="http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.jdt.core/?only_with_tag=ECLIPSE_1_0">R1.0.x</a>.
	  </font>
	</td>
  </tr>
</table>

<a name="v_586_R31x"></a>
<p><hr><h1>
Eclipse Platform Build Notes<br>
Java Development Tooling Core</h1>
Eclipse SDK 3.1.3 - %date%
<br>Project org.eclipse.jdt.core v_586_R31x
(<a href="http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.jdt.core/?only_with_tag=v_586_R31x">cvs</a>).
<h2>
What's new in this drop</h2>
<ul>
<li>Plugin version ID got incremented to 3.1.3</li>
</ul>

<h3>Problem Reports Fixed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=208263">208263</a>
[ast rewrite] performance problems with lots of changes
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=166977">166977</a>
[vista] Unexpected errors while running JDT/Core tests
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=97693">97693</a>
[1.5][compiler] Unchecked generic cast gives false compiler error.
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=122987">122987</a>
[1.5][compiler] Boxing conversion should be performed in conditional expression
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=126091">126091</a>
[1.5][compiler] Java compiler generates extra field for enums with abstract methods
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=126191">126191</a>
Code formatter doesn't format properly empty enums
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=126177">126177</a>
[1.5][compiler] Visibility issue with intersection type
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=126087">126087</a>
[1.5][compiler] Java compiler generates incorrect byte code for empty enums
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=124853">124853</a>
[compiler] Compiler generates wrong code (try-catch-finally)
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=125570">125570</a>
[1.5][compiler] Named inner inner classes have illegal names
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=124943">124943</a>
[1.4][compiler] 1.4 Compiler Compliance not working for compareTo
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=122995">122995</a>
[1.5][compiler] Access rules don't apply to generic types
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=123721">123721</a>
two types of 'remove' for TODO task tags


<a name="v_585_R31x"></a>
<p><hr><h1>
Eclipse Platform Build Notes<br>
Java Development Tooling Core</h1>
Eclipse SDK 3.1.2 - 11th January 2006 - 3.1.2 RELEASE
<br>Project org.eclipse.jdt.core v_585_R31x
(<a href="http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.jdt.core/?only_with_tag=v_585_R31x">cvs</a>).
<h2>
What's new in this drop</h2>
<ul>
</ul>

<h3>Problem Reports Fixed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=121327">121327</a>
DOMParser.createASTs() NPE at FieldReference.getConstantFor(FieldReference.java:408)

<a name="v_584_R31x"></a>
<p><hr><h1>
Eclipse Platform Build Notes<br>
Java Development Tooling Core</h1>
Eclipse SDK 3.1.2 - 9th January 2006
<br>Project org.eclipse.jdt.core v_584_R31x
(<a href="http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.jdt.core/?only_with_tag=v_584_R31x">cvs</a>).
<h2>
What's new in this drop</h2>
<ul>
</ul>

<h3>Problem Reports Fixed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=108622">108622</a>
[javadoc][dom] ASTNode not including javadoc

<a name="v_583_R31x"></a>
<p><hr><h1>
Eclipse Platform Build Notes<br>
Java Development Tooling Core</h1>
Eclipse SDK 3.1.2 - 9th January 2006
<br>Project org.eclipse.jdt.core v_583_R31x
(<a href="http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.jdt.core/?only_with_tag=v_583_R31x">cvs</a>).
<h2>
What's new in this drop</h2>
<ul>
</ul>

<h3>Problem Reports Fixed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=123078">123078</a>
[1.5][compiler] Problem inferring from #getClass() invocation


<a name="v_582_R31x"></a>
<p><hr><h1>
Eclipse Platform Build Notes<br>
Java Development Tooling Core</h1>
Eclipse SDK 3.1.2 - 16th December 2005 <!-- - 3.1.2 RELEASE -->
<br>Project org.eclipse.jdt.core v_582_R31x
(<a href="http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.jdt.core/?only_with_tag=v_582_R31x">cvs</a>).
<h2>
What's new in this drop</h2>
<ul>
</ul>

<h3>Problem Reports Fixed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=110593">110593</a>
[1.5][compiler] NPE in ProblemReporter


<a name="v_581_R31x"></a>
<p><hr><h1>
Eclipse Platform Build Notes<br>
Java Development Tooling Core</h1>
Eclipse SDK 3.1.2 - 30th November 2005 
<br>Project org.eclipse.jdt.core v_581_R31x
(<a href="http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.jdt.core/?only_with_tag=v_581_R31x">cvs</a>).
<h2>
What's new in this drop</h2>
<ul>
</ul>

<h3>Problem Reports Fixed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=117495">117495</a>
[compiler] ternary ops return wrong type when condition is boolean literal
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=117120">117120</a>
[compiler] VerifyError: Expecting to find integer on stack
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=117861">117861</a>
[1.5][compiler] invalid handling of static import
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=116311">116311</a>
[search] NPE searching for reference to our Assert class
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=114539">114539</a>
[search] Internal error when refactoring code with errors
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=117382">117382</a>
synthetic class$N fields generated unnecessarily
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=116745">116745</a>
[compiler] VerifyError: Incompatible type for getting or setting field


<a name="v_580_R31x"></a>
<p><hr><h1>
Eclipse Platform Build Notes<br>
Java Development Tooling Core</h1>
Eclipse SDK 3.1.2 - 16th November 2005
<br>Project org.eclipse.jdt.core v_580_R31x
(<a href="http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.jdt.core/?only_with_tag=v_580_R31x">cvs</a>).
<h2>
What's new in this drop</h2>
<ul>
<li>Plug-in version ID got promoted to "3.1.2".
</li>
<li>In 5.0 compliant mode, the classfile name for an anonymous class is now correctly referring to its 
innermost enclosing type name, e.g. "X$1$1" for an anonymous nested inside another anonymous; where 
it was "X$2" before 5.0.</li>
</ul>

<h3>Problem Reports Fixed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=106140">106140</a>
[compiler] Eclipse3.1.0: unrecognized class invisibility
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=115408">115408</a>
[compiler] ArrayIndexOutOfBoundsException in CodeStream.java
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=107105">107105</a>
[1.5][compiler] method override check does not detect differences in additional type bounds
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=113950">113950</a>
[1.5][compiler] Problems implementing inherited generic abstract methods and type erasure
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=114087">114087</a>
[1.5][compiler] Eclipse compiles code that cannot be compiled with JDK!
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=114855">114855</a>
[compiler] OutOfMemoryError compiling deeply nested try-catch
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=114304">114304</a>
[1.5][compiler] Return type not compatible with generic subinterface.
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=112109">112109</a>
Compilation problem: Eclipse does not recognise parametrized notify-method in generic context
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=113273">113273</a>
[1.5][compiler] Compiler confused by multiply bounded type parameter
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=106466">106466</a>
[1.5][compiler] Type parameter followed by other types in bound - rejected by javac, accepted by Eclipse
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=100970">100970</a>
[1.5][compiler] Interface methods may conflict with Object methods
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=100182">100182</a>
[1.5][compiler] unecessary cast in case of boxing
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=112231">112231</a>
[1.5][compiler] enum declaration
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=108856">108856</a>
[1.5][compiler] Inner inner classes have illegal names
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=105756">105756</a>
[1.5][model] Incorrect warning on using raw types
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=112666">112666</a>
[1.5][compiler] Compiler rejects valid assignment to complex capture
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=111350">111350</a>
[1.5][compiler] method override and generics
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=108782">108782</a>
[1.5][compiler] inconsistent @Override error
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=108780">108780</a>
[1.5][compiler] Subsignature checking does not respect erasure conversion
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=105808">105808</a>
[1.5][dom] MethodBinding#overrides(..) should not consider return types
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=112500">112500</a>
[1.5][compiler] bug between inference and wilcard
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=112268">112268</a>
[1.5][compiler] Type mismatch introduced in 3.1.1
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=111898">111898</a>
[compiler] Wrong code generation
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=107045">107045</a>
[1.5][compiler] Compiler misses name clash with bounded class type parameter
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=109118">109118</a>
[1.5][compiler] Unhandled Exception Compiler error involving generics in java 1.5
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=111703">111703</a>
Static initialization block in anonymous inner class causes compiler to fail
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=111208">111208</a>
[1.5][compiler] Compiler gets confused by multiple generic-extends'
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=111299">111299</a>
JavaModelCache may overflow the memory.
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=111014">111014</a>
Internal Compiler Error

<a name="v_579_R31x"></a>
<p><hr><h1>
Eclipse Platform Build Notes<br>
Java Development Tooling Core</h1>
Eclipse SDK 3.1.1 - 28th September 2005 - 3.1.1 RELEASE
<br>Project org.eclipse.jdt.core v_579_R31x
(<a href="http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.jdt.core/?only_with_tag=v_579_R31x">cvs</a>).
<h2>
What's new in this drop</h2>
<ul>
</ul>

<h3>Problem Reports Fixed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=110738">110738</a>
[1.5][compiler] Internal compiler error while processing Currency
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=110826">110826</a>
[compiler] Batch compiler doesn't work when set on the bootclasspath
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=105430">105430</a>
ecj chokes when classpath has leading separator
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=110570">110570</a>
[1.5][compiler] error in type deduction
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=102284">102284</a>
[5.0 ] CCE in ParameterizedTypeBinding [code assist]
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=110563">110563</a>
[1.5][compiler] Internal compiler error for varags

<a name="v_578_R31x"></a>
<p><hr><h1>
Eclipse Platform Build Notes<br>
Java Development Tooling Core</h1>
Eclipse SDK 3.1.1RC2 - 23rd September 2005 - 3.1.1 RELEASE CANDIDATE 2
<br>Project org.eclipse.jdt.core v_578_R31x
(<a href="http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.jdt.core/?only_with_tag=v_578_R31x">cvs</a>).
<h2>
What's new in this drop</h2>
<ul>
</ul>

<h3>Problem Reports Fixed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=110182">110182</a>
[compiler] Eclipse does not recompile rt.jar properly
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=109646">109646</a>
[DOM] Parsing using K_STATEMENTS doesn't return the right tree for multiple local declarations
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=109963">109963</a>
[dom] Two VariableDeclarationStatements in switch
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=108740">108740</a>
[1.5][compiler] Type hierarchy with generics fails with NPE
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=101456">101456</a>
Proposals and Open Declaration fail with NPE
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=109055">109055</a>
Error starting JDT Core due to IAE: Path for project must have only one segment.
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=108203">108203</a>
[1.5][compiler] cannot compile internal class implementing interface with parameterized method
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=107681">107681</a>
[1.5][compiler] invalid ambiguous invocation diagnostic
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=107098">107098</a>
[1.5][compiler] method override check fails with instantiated type parameter in bound
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=103849">103849</a>
[jdk][compiler] Incorrect ambiguity error for generic types + inheritance
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=102631">102631</a>
[1.5][compiler] false java error for ambiguous methods
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=101049">101049</a>
Error when parametrized type extending final type as return value. 

<a name="v_577_R31x"></a>
<p><hr><h1>
Eclipse Platform Build Notes<br>
Java Development Tooling Core</h1>
Eclipse SDK 3.1.1RC1 - 14th September 2005 - 3.1.1 RELEASE CANDIDATE 1
<br>Project org.eclipse.jdt.core v_577_R31x
(<a href="http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.jdt.core/?only_with_tag=v_577_R31x">cvs</a>).
<h2>
What's new in this drop</h2>
<ul>
</ul>

<h3>Problem Reports Fixed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=108783">108783</a>
[1.5][compiler] Runnable masks Iterable interface in bounds
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=101380">101380</a>
[1.5][compiler] Problem when implementing generic interface with method that has enum parameter
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=101080">101080</a>
NPE during computePriority for problems

<a name="v_576_R31x"></a>
<p><hr><h1>
Eclipse Platform Build Notes<br>
Java Development Tooling Core</h1>
Eclipse SDK 3.1.1RC1 - 7th September 2005
<br>Project org.eclipse.jdt.core v_576_R31x
(<a href="http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.jdt.core/?only_with_tag=v_576_R31x">cvs</a>).
<h2>
What's new in this drop</h2>
<ul>
<li>The size limit of the internal Java model cache is now function of the max heap size (-Xmx VM argument) given to the Java Virtual Machine.
      Thus users who give more memory to the VM because they have big .jar files on their classpath will see an increase in performance.
</li>
<li>Reading the .classpath file is now forward compatible with upcoming versions. If a .classpath file contains unknown elements and attributes,
     these are left untouched and are persisted.
</li>
</ul>

<h3>Problem Reports Fixed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=108263">108263</a>
[1.5][compiler] Constants initilialization doesn't work inside Annotation
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=104695">104695</a>
[1.5][compiler] Compiler allows instanceof with non-reifiable array type
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=101425">101425</a>
Classpath persistence should be resilient with unknown attributes
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=108372">108372</a>
[1.5][compiler] Inner class of enclosing raw type don't works
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=106202">106202</a>
JavaModelCache should have configurable LRU cache limits
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=107756">107756</a>
[1.5][compiler] Invalid diagnostic invoking method through raw interface
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=100636">100636</a>
[model] Can't find overriden methods of protected nonstatic inner class.
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=100606">100606</a>
NPE during reconcile
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=107735">107735</a>
StringIndexOutOfBoundsException in Util.getNameWithoutJavaLikeExtension()
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=101228">101228</a>
JME on code assist
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=103466">103466</a>
Stack Overflow: Requesting Java AST from selection
	  	
<a name="v_575_R31x"></a>
<p><hr><h1>
Eclipse Platform Build Notes<br>
Java Development Tooling Core</h1>
Eclipse SDK 3.1.1RC1 - 24th August 2005
<br>Project org.eclipse.jdt.core v_575_R31x
(<a href="http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.jdt.core/?only_with_tag=v_575_R31x">cvs</a>).
<h2>
What's new in this drop</h2>
<ul>
</ul>

<h3>Problem Reports Fixed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=107079">107079</a>
[1.5][compiler] mis-compiled Wildcard capture leads to a ClassCastException
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=102422">102422</a>
Exception referencing class in large jar files
	  	
<a name="v_574_R31x"></a>
<p><hr><h1>
Eclipse Platform Build Notes<br>
Java Development Tooling Core</h1>
Eclipse SDK 3.1.1RC1 - 16th August 2005
<br>Project org.eclipse.jdt.core v_574_R31x
(<a href="http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.jdt.core/?only_with_tag=v_574_R31x">cvs</a>).
<h2>
What's new in this drop</h2>
<ul>
</ul>

<h3>Problem Reports Fixed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=106964">106964</a>
[1.5][search] AIOBE in MethodLocator.matchOverriddenMethod
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=99903">99903</a>
[1.5][search] range wrong for package-info
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=99662">99662</a>
[1.5] JavaModel returns inexistent IType for package-info ICompilationUnits
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=106936">106936</a>
[1.5][compiler] Unoptimal lub computation
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=106865">106865</a>
[1.5][compiler] capture conversion doesn't handle array types
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=105284">105284</a>
[1.5][compiler] Autoboxing: Type mismatch
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=106106">106106</a>
[1.5][compiler] Compiler error with Arrays.asList in Java 5 mode?
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=105531">105531</a>
[1.5][compiler] ecj from CVS generates spurious incomprehensible error
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=106514">106514</a>
[1.5][compiler] Improve diagnostic on bound mismatch for GenericTypeTests.test79


<a name="v_573_R31x"></a>
<p><hr><h1>
Eclipse Platform Build Notes<br>
Java Development Tooling Core</h1>
Eclipse SDK 3.1.1RC1 - 11th August 2005
<br>Project org.eclipse.jdt.core v_573_R31x
(<a href="http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.jdt.core/?only_with_tag=v_573_R31x">cvs</a>).
<h2>
What's new in this drop</h2>
<ul>
<li>Plug-in version ID got promoted to "3.1.1".
</li>
</ul>

<h3>Problem Reports Fixed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=106403">106403</a>
PublicScanner returns EOF late
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=105635">105635</a>
incorrect parsing of field declarations with generic types
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=106297">106297</a>
[1.5][compiler] new A&lt;X&gt;().new B(){}
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=104780">104780</a>
TVT 3.1: TCT 386 - wrong description for option FORMATTER_INSERT_NEW_LINE_AFTER_ANNOTATION
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=100041">100041</a>
[javadoc][dom] Wrong positions when javadoc comment inside method declaration


<a name="v_572_R31x"></a>
<p><hr><h1>
Eclipse Platform Build Notes<br>
Java Development Tooling Core</h1>
Eclipse SDK 3.1.1RC1 - 3rd August 2005
<br>Project org.eclipse.jdt.core v_572_R31x
(<a href="http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.jdt.core/?only_with_tag=v_572_R31x">cvs</a>).
<h2>
What's new in this drop</h2>
<ul>
</ul>

<h3>Problem Reports Fixed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=104664">104664</a>
[compiler] repeat mode is broken in the batch compiler

<a name="v_571a_R31x"></a>
<p><hr><h1>
Eclipse Platform Build Notes<br>
Java Development Tooling Core</h1>
Eclipse SDK 3.1.1RC1 - 27th July 2005
<br>Project org.eclipse.jdt.core v_571a_R31x
(<a href="http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.jdt.core/?only_with_tag=v_571a_R31x">cvs</a>).
<h2>
What's new in this drop</h2>
<ul>
</ul>

<h3>Problem Reports Fixed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=104738">104738</a>
[1.5][compiler] Enclosing method attribute is generated for member type of a local type
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=104649">104649</a>
[1.5][compiler] method type variable: inference broken for null
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=104655">104655</a>
[1.5] inconsistent compiler behavior in generic methods
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=104551">104551</a>
[1.5][compiler] Method override checks fail with raw subtype and type variable as type bound
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=104492">104492</a>
[AST]java.lang.ClassCastException: org.eclipse.jdt.core.dom.PrimitiveType
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=103485">103485</a>
[1.5][compiler] compiler: wrongfully accepted method call
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=103994">103994</a>
[1.5][compiler] Internal compiler error while overriding bootstrap class
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=103528">103528</a>
[1.5][compiler] compiler allows invalid assignment with method type parameter and nested wildcards
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=104082">104082</a>
[1.5][compiler] 1.5 source code gets internal eclipse null pointer error
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=104167">104167</a>
[1.5][compiler] incorrect 'unread field' diagnosis
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=103320">103320</a>
Method-local subtype with instance initializer break JDOM
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=103636">103636</a>
JDT compiler produces invalid XML
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=103227">103227</a>
[1.5][compiler] VerifyError in case of a parametrized anonymous class inside a static inner class
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=103472">103472</a>
[1.5][compiler] Should detect incompatible super interfaces
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=102650">102650</a>
[ast rewrite] Removing all TYPE_PARAMETERS_PROPERTY values in a derived type gives incompilable code
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=103148">103148</a>
[1.5][assist] Code completion breaks if using static method generics ( Class.&lt;T&gt;staticMethod(params) )
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=91426">91426</a>
[Markers] Java task tags in Task View don't have configured priority
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=100772">100772</a>
[1.5][search] Search for declarations in hierarchy reports to many matches
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=100695">100695</a>
[1.5][search] Renaming a field of generic array type has no effect
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=103023">103023</a>
[1.5][compiler] StackOverflow inferring type arguments
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=102778">102778</a>
Scrapbook page doesn't work with enhanced for statement
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=101283">101283</a>
[1.5][javadoc] Javadoc validation raises missing implementation in compiler
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=100868">100868</a>
Code assist does not recommend methods in anonymous enum subclass
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=101456">101456</a>
Proposals and Open Declaration fail with NPE
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=101387">101387</a>
[1.5][compiler] Incorrect Cycle detected in type hierarchy error
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=97326">97326</a>
[dom] ITypeBinding#isFromSource() is always false for type variables, wildcards, and capture types
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=100153">100153</a>
[1.5][compiler] Bound check failure on recursive formal bound
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=100808">100808</a>
[assist] Wrong replace range for package proposals if there is no line termination
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=98532">98532</a>
[1.5][compiler] Spurious 'type parameter T is hiding the type T' warning for static nested classes
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=100797">100797</a>
editor general failure
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=100043">100043</a>
[1.5][compiler] false compiler error on ?: ternary operator with boxing
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=102181">102181</a>
[1.5][compiler] Generic varargs are built with incorrect array type
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=102305">102305</a>
Error in JDT Core during reconcile
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=102213">102213</a>
[1.5][compiler] enum constants cannot be referenced inside enum constants initializer
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=101955">101955</a>
NullPointerException after invoking extract method
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=97220">97220</a>
Should not issue nls warning for annotation
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=101885">101885</a>
[mode] sort operation doesn't set the RELATIVE_ORDER for enum constants
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=101247">101247</a>
[formatter] Fails to format some labelled statements
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=101713">101713</a>
[1.5][compiler] Access to static fields within enum constructors inconsistent with javac
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=101779">101779</a>
[1.5][compiler] VerifyError using -- operator on unboxed generic Integer type
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=101208">101208</a>
[compiler] instanceof check cannot be unnecessary on null values
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=100619">100619</a>
[1.5][compiler] Incorrect duplicate bound diagnosis
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=94759">94759</a>
[1.5][compiler] @Override doesn't report an error inside interface when specified for clone() method
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=98538">98538</a>
[1.5][compiler] Inference broken for subtypes of subtypes of F-bounded types

<a name="v_570"></a>
<p><hr><h1>
Eclipse Platform Build Notes&nbsp;<br>
Java Development Tooling Core</h1>
Eclipse SDK 3.1RC4 - 27th June 2005 - 3.1 RELEASE (R3_1)
<br>Project org.eclipse.jdt.core v_570
(<a href="http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.jdt.core/?only_with_tag=v_570">cvs</a>).
<h2>
What's new in this drop</h2>
<ul>
</ul>

<h3>Problem Reports Fixed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=101453">101453</a>
java.lang.UnsupportedOperationException: Operation only supported in JLS2 AST
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=101794">101794</a>
[1.5][compiler] Compiling Classpath classes results in bad class file


<a name="v_569"></a>
<p><hr><h1>
Eclipse Platform Build Notes&nbsp;<br>
Java Development Tooling Core</h1>
Eclipse SDK 3.1RC4 - 24th June 2005 - 3.1 RELEASE CANDIDATE 4
<br>Project org.eclipse.jdt.core v_569
(<a href="http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.jdt.core/?only_with_tag=v_569">cvs</a>).
<h2>
What's new in this drop</h2>
<ul>
</ul>

<h3>Problem Reports Fixed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=101613">101613</a>
Performance regressions in Open Type Hierarchy performance test
	

<a name="v_568"></a>
<p><hr><h1>
Eclipse Platform Build Notes&nbsp;<br>
Java Development Tooling Core</h1>
Eclipse SDK 3.1RC4 - 23rd June 2005
<br>Project org.eclipse.jdt.core v_568
(<a href="http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.jdt.core/?only_with_tag=v_568">cvs</a>).
<h2>
What's new in this drop</h2>
<ul>
</ul>

<h3>Problem Reports Fixed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=101426">101426</a>
[search] Search doesn't work with imported plugin
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=101120">101120</a>
Cannot generate an executable of the batch compiler using gcj 3.4.4
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=100631">100631</a>
Internal compiler error in 3.1RC2
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=101230">101230</a>
[compiler] Internal compiler error when labeled statement processing
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=101022">101022</a>
[search] JUnit Test Runner on folder runs tests outside directory
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=101019">101019</a>
RC3: Type Hierarchy does not find implementers/extenders of inner class/interface in other project 	
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=100009">100009</a>
[assist] Content assist uses generic parameter name arg0 instead of real name
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=100584">100584</a>
[1.5][dom] NPE when selecting a faulty member type following a generic type reference

<a name="v_567"></a>
<p><hr><h1>
Eclipse Platform Build Notes&nbsp;<br>
Java Development Tooling Core</h1>
Eclipse SDK 3.1RC3 - 17th June 2005 - 3.1 RELEASE CANDIDATE 3
<br>Project org.eclipse.jdt.core v_567
(<a href="http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.jdt.core/?only_with_tag=v_567">cvs</a>).
<h2>
What's new in this drop</h2>
<ul>
</ul>

<h3>Problem Reports Fixed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=100519">100519</a>
[1.5][compiler] generic parameter and qualified access seems to confuse each other


<a name="v_566"></a>
<p><hr><h1>
Eclipse Platform Build Notes&nbsp;<br>
Java Development Tooling Core</h1>
Eclipse SDK 3.1RC3 - 16th June 2005
<br>Project org.eclipse.jdt.core v_566
(<a href="http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.jdt.core/?only_with_tag=v_566">cvs</a>).
<h2>
What's new in this drop</h2>
<ul>
</ul>

<h3>Problem Reports Fixed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=100421">100421</a>
[1.5][compiler] chain of generics-extends confuse compiler


<a name="v_565"></a>
<p><hr><h1>
Eclipse Platform Build Notes&nbsp;<br>
Java Development Tooling Core</h1>
Eclipse SDK 3.1RC3 - 16th June 2005
<br>Project org.eclipse.jdt.core v_565
(<a href="http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.jdt.core/?only_with_tag=v_565">cvs</a>).
<h2>
What's new in this drop</h2>
<ul>
</ul>

<h3>Problem Reports Fixed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=99654">99654</a>
[5.0] JavaModel returns both IClassFile and ICompilationUnit for package-info.java
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=100393">100393</a>
Defaults for compiler errors/warnings settings

<a name="v_564"></a>
<p><hr><h1>
Eclipse Platform Build Notes&nbsp;<br>
Java Development Tooling Core</h1>
Eclipse SDK 3.1RC3 - 16th June 2005
<br>Project org.eclipse.jdt.core v_564
(<a href="http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.jdt.core/?only_with_tag=v_564">cvs</a>).
<h2>
What's new in this drop</h2>
<ul>
<li>Fix for <a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=99606">bug 99606</a> required the index version to be incremented. 
     Indexes will be automatically regenerated upon subsequent search queries (accounting for indexing notification in search progress dialogs).
</li>
</ul>

<h3>Problem Reports Fixed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=100302">100302</a>
StackOverflowError during completion
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=99606">99606</a>
Subtype not found if parameterized on inner class
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=100293">100293</a>
1.5 compiler - Methods using non-generic inner types of concreted generic classes generate wrong signatures
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=98322">98322</a>
[compiler] ParameterizedTypeBinding should not have AccGenericSignature set when no type arguments
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=99978">99978</a>
MalformedTreeException on Inline Method
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=100128">100128</a>
[1.5][compiler] StackOverflow compiling GNU Classpath generics branch
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=100142">100142</a>
CCE when calling ITypeBinding#getJavaElement() on char[][]
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=100147">100147</a>
[1.5][compiler] NPE when reporting an error on an unsafe type conversion
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=100062">100062</a>
[formatting] Code formatter is broken on test case from bug 99999
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=100162">100162</a>
java.lang.VerifyError is produced by Eclipse Java compiler
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=99428">99428</a>
[1.5][compiler] enum classes created without final accessFlag
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=99999">99999</a>
[1.5][compiler] AIOOBE with generics + nested classes + arrays
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=99686">99686</a>
IAE in Util#scanTypeBoundSignature
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=100149">100149</a>
[1.5][compiler] Raw type upper bounds should be raw types
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=99927">99927</a>
NPE in ParameterizedTypeBinding.initialize
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=100138">100138</a>
[doc] Confusing documentation in Project Configuration tutorial
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=99915">99915</a>
[search] Open Type: not yet saved types not found if case-sensitve name is entered
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=100007">100007</a>
[1.5][compiler] ClassCastException using array object as generic type
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=99600">99600</a>
[search] Java model exception on "Move to new file" on inner type with inner type
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=99982">99982</a>
[DOM] Wrong positions for boolean[] type
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=99811">99811</a>
NPE during content assist
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=99629">99629</a>
Error while entering expression in change variable value dialog
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=99922">99922</a>
[1.5][compiler] NPE in compiler for Arrays.asList(3, 3.1);
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=98378">98378</a>
[search] Can't find declarations in hierarchy of interface.
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=97614">97614</a>
[1.5][search] Refactoring: renaming of field of a (complex) parametrized type does not replace all occurrences
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=97547">97547</a>
[search] Package search does not find references in member types import clause
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=96950">96950</a>
[search] Code assist proposes non accessible types into completion
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=99510">99510</a>
isCastCompatible seems to need capture bindings now to answer correct results
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=99608">99608</a>
IMethodBinding#overrides returns false on overridden method
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=99901">99901</a>
[select]  AIOOBE when selecting package reference in import statement
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=99282">99282</a>
[1.5][compiler] Enum / Switch method is not initialized in a thread safe way
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=52921">52921</a>
[formatting] Javadoc formatting: extra newline with [pre]
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=99507">99507</a>
[javadoc] Infinit loop in DocCommentParser
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=99397">99397</a>
Typo in CompletionProposal#isConstructor()
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=99553">99553</a>
[1.5][compiler] Parameterized class nested statically inside another parameterized type causes compile errors when used in method signatures
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=99355">99355</a>
extract method trips up with generics and final variables
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=99469">99469</a>
[1.5][compiler] NPE compiling code with unknown annotations
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=99375">99375</a>
Compiler error using Annotations

<a name="v_563"></a>
<p><hr><h1>
Eclipse Platform Build Notes&nbsp;<br>
Java Development Tooling Core</h1>
Eclipse SDK 3.1RC2 - 10th June 2005 - 3.1 RELEASE CANDIDATE 2
<br>Project org.eclipse.jdt.core v_563
(<a href="http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.jdt.core/?only_with_tag=v_563">cvs</a>).
<h2>
What's new in this drop</h2>
<ul>
</ul>

<h3>Problem Reports Fixed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=99260">99260</a>
[1.5][compiler] Bad bytecode generated with varargs + generics
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=98331">98331</a>
[1.5][compiler] Casting Conversion needs to check all supertypes for conflicts
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=99106">99106</a>
[1.5][compiler] Ambiguous method error because methods don't override in eclipse


<a name="v_562"></a>
<p><hr><h1>
Eclipse Platform Build Notes&nbsp;<br>
Java Development Tooling Core</h1>
Eclipse SDK 3.1RC2 - 9th June 2005
<br>Project org.eclipse.jdt.core v_562
(<a href="http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.jdt.core/?only_with_tag=v_562">cvs</a>).
<h2>
What's new in this drop</h2>
<ul>
</ul>

<h3>Problem Reports Fixed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=97487">97487</a>
[call hierarchy] Call Hierarchy Fails in mounted classes with attached src files
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=97524">97524</a>
[prefs] Importing preferences with user library doesn't recreate jar entries
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=99142">99142</a>
Exception when shutting down quickly after starting

<a name="v_561"></a>
<p><hr><h1>
Eclipse Platform Build Notes&nbsp;<br>
Java Development Tooling Core</h1>
Eclipse SDK 3.1RC2 - 9th June 2005
<br>Project org.eclipse.jdt.core v_561
(<a href="http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.jdt.core/?only_with_tag=v_561">cvs</a>).
<h2>
What's new in this drop</h2>
<ul>
<li>The build state version number has changed. A full build of all projects in the workspace will be triggered upon
      startup if autobuild is on, or on the next build if autobuild is off.</li>
<li>The new list of supported warning tokens for the @SuppressWarnings annotation is:
<ul>
<li><b><font color="red">all</font></b> : any warning</li>
<li><b>boxing</b> : autoboxing conversion</li>
<li><b><font color="red">dep-ann</font></b> : missing @Deprecated annotation</li>
<li><b><font color="red">deprecation</font></b> : deprecation outside deprecated code</li>
<li><b>incomplete-switch</b> : incomplete enum switch (<i>enumSwitch</i>)</li>
<li><b>hiding</b> : 
<ol><li>field hiding another variable (<i>fieldHiding</i>)</li>
<li>local variable hiding another variable (<i>localHiding</i>)</li>
<li>type parameter hiding another type (<i>typeHiding</i>)</li>
<li>hidden catch block (<i>maskedCatchBlock</i>)</li>
</ol>
</li>
<li><b><font color="red">finally</font></b> : finally block not completing normally</li>
<li><b>static-access</b> :
<ol>
<li>indirect reference to static member (<i>indirectStatic</i>)</li>
<li>non-static reference to static member (<i>staticReceiver</i>)</li>
</ol>
</li>
<li><b>nls</b> : string literal lacking non-nls tag //$NON-NLS-&lt;n&gt;$</li>
<li><b><font color="red">serial</font></b> : missing serialVersionUID</li>
<li><b>unqualified-field-access </b>: unqualified reference to field (<i>unQualifiedField</i>)</li>
<li><b><font color="red">unchecked</font></b> : unchecked type operation</li>
<li><b>unused</b> :
<ol>
<li>unread method parameter (<i>unusedArgument</i>)</li>
<li>unread local variable (<i>unusedLocal</i>)</li>
<li>unused private member declaration (<i>unusedPrivate</i>)</li>
<li>unused declared thrown exception (<i>unusedThrown</i>)</li>
</ol>
</li>
<li><b>synthetic-access</b> : synthetic access for innerclass (<i>syntheticAccess</i>)</li>
</ul>
<p>NOTE: <blockquote>All other warning tokens are not longer supported by @SuppressWarnings;
considering that for some diagnosis, it is simpler to just fix the code than silence some warning.
In <i>Italic</i> the old warning token is specified.
<br>Warning tokens also supported by javac are in <font color="red">red</font> (also see <a href="http://www.javac.info/doc?n=JavaCompiler.WarningTokens">declared warning tokens</a>).
</blockquote></p>
</li>
<li>CodeAssist: added a new API CompletionProposal#isConstructor() to distinguish method and constructor proposal</li>
<li>Access rules file patterns have been changed to ignore the file extension. This allow easy switching from a source project
     to a binary project. Thus <code>"com/test/X.java"</code> is now an invalid access rule pattern, and 
     <code>"com/test/X"</code> is a valid access rule pattern.</li>
<li>
Following batch compiler options default value have been changed from "ignore" to "warning":
<ul>
<li>unusedLocal (unread local variable)</li>
<li>unusedPrivate (unused private member declaration)</li>
<li>fieldHiding (field hiding another variable)</li>
<li>localHiding (local variable hiding another variable)</li>
</ul>
(see bug <a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=76530">76530</a>)
</li>
<li>Compiler optional diagnosis for unused private members got generalized to also flag unused
members of local types.
</li>
<li>Compiler no longer reports as unchecked the situation where a method of a raw type is invoked,
and only the return type got altered by raw conversion (also see bug <a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=85815">85815</a>). 
This change is motivated to better match the language spec 3rd edition.</li>
<li>Fix for <a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=97087">bug 97087</a> required the index version to be incremented. 
     Indexes will be automatically regenerated upon subsequent search queries (accounting for indexing notification in search progress dialogs).
</li>
</ul>

<h3>Problem Reports Fixed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=99138">99138</a>
NPE in RawTypeBinding.computeUniqueKey(..) for raw type inside anonymous parameterized type
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=93975">93975</a>
[1.5][syntax] Poor recovery when extra semicolon in annotation
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=93208">93208</a>
[dom] CompilationUnit.rewrite throws AssertionFailedException with legal AST (bug in recoding ast modifications)
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=97440">97440</a>
[1.5][compiler] StackOverflow compiling heavily generic code
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=99104">99104</a>
Startup job displayed as "Initializing the Java d...ent tooling"
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=99084">99084</a>
Formatter error when generic method has an argument
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=98892">98892</a>
[compiler] Eclipse compiler generates code that calls the finally block twice
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=98969">98969</a>
Builder didn't find state for prereq project
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=96586">96586</a>
[1.5][compiler] Invalid cycle detected
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=98954">98954</a>
Javadoc of ITypeBinding#getErasure() is wrong for array types
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=98504">98504</a>
[1.5][compiler] Compiler difference between javac and jdt?
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=96763">96763</a>
[1.5][search] Search for method declarations does not find overridden method with different signature
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=96761">96761</a>
[1.5][search] Search for declarations of generic method finds non-overriding method
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=98228">98228</a>
[1.5][compiler] regression - incorrect handling of generics
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=98720">98720</a>
[preferences] classpath variables are not exported if the session is closed and restored
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=98906">98906</a>
No rebuild after upgrade
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=98711">98711</a>
no way to distinguish constructor from method proposals
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=98434">98434</a>
A non-1.5 project with 1.5 projects in the classpath does not show methods with generics
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=98750">98750</a>
[dom] Java DOM Parser finding syntax Problems when parsing Annotations
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=90619">90619</a>
[1.5][compiler] Cannot implement generified interface with erased method
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=98500">98500</a>
[1.5] Internal compiler error
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=98488">98488</a>
NPE while computing a key for a paramterized type binding
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=97087">97087</a>
[1.5][search] Can't find reference of generic class's constructor.
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=93668">93668</a>
Search indexes not rebuild
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=98473">98473</a>
AST binding: type variable reports as 'isTopLevel'
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=98364">98364</a>
[1.5][compiler] Compiler allowing invalid generic interface inheritance
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=85815">85815</a>
[1.5] warn when raw iterator is used
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=93377">93377</a>
[1.5][compiler] Multiple auto-build failures when using generics
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=79309">79309</a>
Nested interfaces aren't resolved correctly in import (with "Open Declaration" / F3)
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=96765">96765</a>
Code completion does not work in enum constants
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=98483">98483</a>
IMethodBinding.override does not compare method names
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=98115">98115</a>
Field completion failed to propose a field declared into an innerclass
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=93789">93789</a>
[1.5][compiler] Compiler incorrectly allows static declarations in enum constants.
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=98396">98396</a>
[1.5][compiler] Casting Conversion ignores second bound of Type Variables
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=98383">98383</a>
[1.5][compiler] ClassCastException attempting to cast from intersection type
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=97322">97322</a>
[search] Search for method references sometimes reports potential match with differing argument count
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=94160">94160</a>
[1.5][search] Generic method in superclass does not exist
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=91061">91061</a>
[1.5][compiler] Static reference to outer type variable should not be allowed
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=97108">97108</a>
[1.5][compiler] NullPointerException encountered while running Java Builder
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=98259">98259</a>
NPE computing ITypeBinding#getKey()
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=93536">93536</a>
[1.5] Internal compiler generating error on code that javac accepts
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=97606">97606</a>
[1.5][search] Raw type reference is reported as exact match for qualified names
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=96424">96424</a>
[search] SearchParticipant sets containerPath to documentPath
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=97542">97542</a>
ASTParser#createASTs does not correctly resolve bindings in working copies
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=94898">94898</a>
[1.5] errors in ambiguous method invocation detection
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=94754">94754</a>
[1.5][compiler] Ambiguous method call is not detected
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=84035">84035</a>
[1.5][compiler] Ambiguous method call
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=76530">76530</a>
[options] Warn about unused local variables and private members
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=98091">98091</a>
[1.5][compiler] @SuppressWarnings("assertIdentifier") cannot be applied
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=94907">94907</a>
[assist] missing keyword completions for generic signatures
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=84001">84001</a>
[select] Renaming of class with internal classes fails.
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=94641">94641</a>
Code assist does not display parameters for constructor with type parameters
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=96991">96991</a>
[1.5][compiler] Annotation attribute should be able to reference field
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=96713">96713</a>
[1.5][compiler] Inconsistency with Sun JDK
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=95684">95684</a>
[1.5][compiler] Type handling on concrete inner class of super class is incorrect
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=97273">97273</a>
Illegal argument exception in Signature#getTypeSignatureKind
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=98165">98165</a>
Wrong source range for ConditionalExpression with casted target in FieldAccess as expression
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=96085">96085</a>
[1.5][compiler] problems with inner classes and generics
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=98139">98139</a>
Java Code Formatter is severely confused by following code
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=98079">98079</a>
[1.5][compiler] incorrect Bound mismatch compilation error
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=97860">97860</a>
[1.5][assist] All current proposals while completing after a type parameter results in a compiler error
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=82560">82560</a>
[assist] Completion fails on parameterized generic method call
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=98086">98086</a>
[1.5][dom] CU still have problems even with @SuppressWarnings("all")
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=98037">98037</a>
[Java Editor Templates] Templates with multiple lines are inlined when used
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=96258">96258</a>
Bogus build path errors caused by multiple project import
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=97902">97902</a>
NPE on Open Declaration on reference to generic type
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=80432">80432</a>
Code Assist box exhibits strange behavior in an endless for loop
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=96944">96944</a>
[1.5][assist] shoud not suggest type parameters after new
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=97801">97801</a>
[1.5][codeassist] The type of the class literal must be parameterized
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=85384">85384</a>
[1.5][assist] "extends" not proposed when writing method declarations
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=97219">97219</a>
[1.5] eclipse does not detect ambiguous method invocation errors
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=97744">97744</a>
[compiler][ant adapter] NPE when verbose = true and destDir not specified
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=97480">97480</a>
[1.5][compiler] incorrect error on some calls to raw Map.Entry.setValue
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=97809">97809</a>
Ambiguous method reference wrongly reported
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=97814">97814</a>
Incorrect resolved information on hover
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=97841">97841</a>
[1.5][dom] null binding for ClassInstanceCreation
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=90916">90916</a>
CCE in SourceTypeConverter
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=97466">97466</a>
NPE in SourceTypeConverter
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=97307">97307</a>
[5.0][typing] completion for "import static" deletes all source before
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=97459">97459</a>
CCE during reconcile and AST creation
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=97800">97800</a>
[1.5][compiler] Cast type shouldn't be used in generic method argument inference
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=95349">95349</a>
Access rule pattern matching should ignore file extension
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=97161">97161</a>
[1.5][compiler] Internal compiler error java.lang.NullPointerException
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=97303">97303</a>
[1.5][compiler] Cannot convert when inferring list of inner parameterized type
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=97272">97272</a>
Export preferences offers "all" button, does not export classpath variables
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=96794">96794</a>
Polishing disassembler output
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=97275">97275</a>
method reference should not contain type variable anymore
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=97187">97187</a>
[rendering] Shows Single Char for primitve Types
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=96918">96918</a>
Code Assist - suggest extends and super in the context of a wildcard type argument
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=97190">97190</a>
Incorrect handling of large long values
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=97247">97247</a>
ArrayIndexOutOfBoundsException in ClassFile.addSyntheticSwitchTable
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=76155">76155</a>
[options] Unused code warning for unused methods in anonymous inner classes
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=97224">97224</a>
[polish][compiler] Inconsistent error message for non-visible field
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=95481">95481</a>
[1.5] NPE in TypeVariableBinding.checkBounds
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=65748">65748</a>
[type hierarchy] Hierarchy view fails to pick up class modifier change
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=96633">96633</a>
getJavaElement returns null for Object[] array binding
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=96605">96605</a>
JDTCompilerAdapter should allow a log without all verbose information
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=96858">96858</a>
IllegalArgumentException in Signature
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=97164">97164</a>
classpath variables lost when upgrading from M7 to RC1
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=97139">97139</a>
eclipse 3.1RC1 compiler crash for project
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=96974">96974</a>
[5.0] @SuppressWarnings({"nls"}) does not work for unexternalized strings

<a name="v_560"></a>
<p><hr><h1>
Eclipse Platform Build Notes&nbsp;<br>
Java Development Tooling Core</h1>
Eclipse SDK 3.1RC1 - 26th May 2005 - 3.1 RELEASE CANDIDATE 1
<br>Project org.eclipse.jdt.core v_560
(<a href="http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.jdt.core/?only_with_tag=v_560">cvs</a>).
<h2>
What's new in this drop</h2>
<ul>
</ul>

<h3>Problem Reports Fixed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=96646">96646</a>
[1.5][compiler] VerifyError - Generics and Interfaces - "Wrong return type in function"
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=96631">96631</a>
NPE in Annotation on empty ArrayInitializer


<a name="v_559"></a>
<p><hr><h1>
Eclipse Platform Build Notes&nbsp;<br>
Java Development Tooling Core</h1>
Eclipse SDK 3.1RC1 - 26th May 2005
<br>Project org.eclipse.jdt.core v_559
(<a href="http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.jdt.core/?only_with_tag=v_559">cvs</a>).
<h2>
What's new in this drop</h2>
<ul>
</ul>

<h3>Problem Reports Fixed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=95638">95638</a>
[1.5][compiler] Possibly incorrect Bounds Mismatch errors for complicated bounds


<a name="v_558"></a>
<p><hr><h1>
Eclipse Platform Build Notes&nbsp;<br>
Java Development Tooling Core</h1>
Eclipse SDK 3.1RC1 - 26th May 2005
<br>Project org.eclipse.jdt.core v_558
(<a href="http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.jdt.core/?only_with_tag=v_558">cvs</a>).
<h2>
What's new in this drop</h2>
<ul>
<li>The Code Assist option CODEASSIST_HIDE_RESTRICTED_REFERENCES is replaced by
CODEASSIST_FORBIDDEN_REFERENCE_CHECK and CODEASSIST_DISCOURAGED_REFERENCE_CHECK
(see bug <a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=94403">94403</a>).
</li>
<li> Code Assist suggest all member types when completion token is a single name.
<pre>
Y&lt;complete here&gt; // p.q.X.Y is proposed.
</pre>
As all member types are proposed, code assist does not propose types of the wrong kind.
Only classes are proposed inside an extends clause, only interfaces inside an implements clause
and only annotations in annotation reference (It was necessary before to be able to propose
a top level type which contains these types).<br>
Note: To re-enabled quickly the old behaviors, change the value of Completion.PROPOSE_MEMBER_TYPES.
</li>
<li>Added API <code>JavaCore#initializeAfterLoad(IProgressMonitor)</code> to allow
	 a client to force the initialization of internal structures.
</li>
<li>Default value for <code>COMPILER_PB_MISSING_JAVADOC_COMMENTS_OVERRIDING</code> and
	<code>COMPILER_PB_MISSING_JAVADOC_TAGS_OVERRIDING</code> JavaCore options have been changed from "enabled" to "disabled".<br>
	(see bug <a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=96270">96270</a>).
</li>
<li>Fix for <a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=75816">bug 75816</a> required the index version to be incremented. 
     Indexes will be automatically regenerated upon subsequent search queries (accounting for indexing notification in search progress dialogs).
</li>
<li>
Duplicate names are not allowed in classpath entry extra attributes.<br>
Javadoc comment of each <code>JavaCore.new*Entry</code> method have been updated to clearly specify this behavior:
<pre>
 * The <code>extraAttributes</code> list contains name/value pairs that must be persisted with
 * this entry. If no extra attributes are provided, an empty array must be passed in.
 * Note that this list should not contain any duplicate name.
</pre>
<code>JavaConventions.validateClasspathEntry(IJavaProject,IClasspathEntry,boolean,boolean)</code> has been modified
to verify this point. It now returns an invalid status (<code>new IJavaStatus(IJavaModelStatusConstants.NAME_COLLISION,...)</code>)
when duplicate names are found in extra attributes.
</li>
</ul>

<h3>Problem Reports Fixed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=93119">93119</a>
code assist: proposals for wildcard types
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=95505">95505</a>
Can not use code completion
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=96698">96698</a>
org.eclipse.jdt.core.dom.VariableBinding.getUnresolvedJavaElement produce ClassCastException
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=88364">88364</a>
compiler options
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=94267">94267</a>
[1.5][select] Selecting type parameter in binary answer match on line 0
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=96642">96642</a>
CCE in SourceMapper.computeAllRootPaths(..)
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=87362">87362</a>
BindingKey#internalToSignature() should return the field's type signature
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=94404">94404</a>
[model] Disallow classpath attributes with same key
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=92398">92398</a>
[compiler] Leverage access rule support in batch compiler
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=96588">96588</a>
Rename Signature#removeCaptureFromMethod(...) to removeCaptureFrom(..)
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=96410">96410</a>
Incorrect information in selection resolved key
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=75816">75816</a>
[search] Call Hierarchy does not find calls to the constructor of java.util.HashMap.Entry [call hierarchy]
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=95167">95167</a>
[content assist] Spurious "Access restriction" error during code assist
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=95580">95580</a>
CreateField on IType doesn't work if the type is an enum type that has enum constants
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=95963">95963</a>
(3.1M7) Compiler error when parameterizing with missing inner type.
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=96134">96134</a>
Internal error for odd (probably illegal) class declaration
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=96464">96464</a>
[assist] JavaCorePreferenceInitializer does not initialized CODEASSIST_DISCOURAGED_REFERENCE_CHECK
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=96414">96414</a>
Javadoc of ASTParser#setCompilerOptions(..): mention that setProject(..) resets options
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=95933">95933</a>
Refining a generic method causes AbstractMethodError
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=94897">94897</a>
[1.5] Compiler does not reject class with two erasure-equivalent methods
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=96213">96213</a>
Eclipse 3.1M7 - Field completion stack overflow
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=96401">96401</a>
jdt.core tests pass, but fill the .log
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=96439">96439</a>
Hierarchy not refreshed if adding a dependent project
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=82852">82852</a>
"Searching for errors in &lt;project&gt;" running unit tests from package
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=95154">95154</a>
Missing package.html files for API packages
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=96387">96387</a>
Schemas for extension points are inaccurate
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=93249">93249</a>
Code assist doesn't propose full method stub
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=94878">94878</a>
Configuration details is large, containing many prefs for PDE and JDT classpath containers
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=96270">96270</a>
[javadoc] Missing Javadoc comment: 'check overriding..' should be 'off' by default
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=96300">96300</a>
Use the line separator platform preference for new files
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=94303">94303</a>
import static adds annoying semicolon
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=83716">83716</a>
[search] refs to 2-arg constructor on Action found unexpected matches
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=96071">96071</a>
Javadoc for IJavaProject.findType(String ) is not consistant
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=94903">94903</a>
Error setting method breakpoint in 1.5 project
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=88395">88395</a>
[1.5][compiler] Binary compat problem with enum/switch codegen
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=95727">95727</a>
ITypeBinding#getJavaElement() returns a ResolvedSourceField for an anonymous class
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=95909">95909</a>
Error with static import
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=95794">95794</a>
[1.5][search] Search for all occurrences does not find references in static imports
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=95911">95911</a>
[5.0][dom] Wrong node range for variable declaration fragment containing anonymous class declaration
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=93941">93941</a>
Classpath initialization on shutdown
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=93731">93731</a>
JDT core job still running after shutdown.
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=89849">89849</a>
[1.5][assist] Completion in switch proposes already written enum constants
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=91670">91670</a>
package-info.java is not being correctly compiled
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=93880">93880</a>
[1.5][javadoc] Source range of PackageDeclaration does not include Javadoc child
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=93254">93254</a>
[assist] ClassCastException when complete annotation type ref
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=95760">95760</a>
[1.5][search] MatchLocator does not compile against 5.0 JRE
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=93668">93668</a>
Search indexes not rebuild
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=95748">95748</a>
SourceMapper should not write timing info to stdout
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=92555">92555</a>
Code assist in Annotations suggests non-annotations
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=92733">92733</a>
[assist] Classes suggested in implements clause
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=94965">94965</a>
[assist] code assist should suggest inner types
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=92937">92937</a>
Need API: JavaCore#initializeAfterLoad()
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=90215">90215</a>
[1.5] Enums implementing generic interfaces can compile incorrectly.
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=95244">95244</a>
performance optimization in SourceMapper.computeAllRootPaths
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=91615">91615</a>
Wrong class opened by debugger/"Open Type"
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=39856">39856</a>
External jar's timestamps should be persisted accross sessions
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=89632">89632</a>
Exception when trying to evaluate in Snippet Editor
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=95538">95538</a>
Operation not supported in JLS2 AST from resolving MethodBinding
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=95521">95521</a>
[1.5][javadoc] validation with @see tag not working for generic method
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=95286">95286</a>
[1.5][javadoc] package-info.java incorrectly flags "Missing comment for public declaration"
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=95388">95388</a>
[code manipulation] NPE sorting members
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=94150">94150</a>
[1.5][javadoc][enum] javadoc is always null for EnumConstantDeclaration
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=94653">94653</a>
[1.5][select] Selection on invalid raw member type should still surface raw type
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=94092">94092</a>
ASTParser#createASTs(..) restores wrong bindings from capture keys
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=88719">88719</a>
UserLibrary.serialize /createFromString need support for access restriction / attributes
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=89937">89937</a>
[1.5][compiler] Annotation attribute should not be able to reference field
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=93891">93891</a>
Restricted UIPlugin is in my code assist
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=93905">93905</a>
Batch compiler - add a timestamp to log files
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=95262">95262</a>
ASTParser fails with K_CLASS_BODY_DECLARATIONS
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=95211">95211</a>
[api] stale J2SE5 comment in IDOMImport
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=95431">95431</a>
Code formatter fails to format this code
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=95394">95394</a>
Problem resolving types for Assignment ("+=") on 3.1M7
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=83034">83034</a>
[1.5][compiler] method on A&lt;D,?&gt; not applicable for argument &lt;?&gt;
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=87550">87550</a>
[1.5] [compiler] The method in the type is not applicable for the arguments
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=95021">95021</a>
[1.5][compiler] incorrectly inferred method type parameters bug in 3.1M6?
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=91588">91588</a>
Delete CVS project and then add as source project leads to duplicate Open Type entries
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=73969">73969</a>
Full build on startup
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=80118">80118</a>
[search] OutOfMemoryError while searching for Test class
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=87749">87749</a>
different IMethodBindings of generic method have equal getKey()
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=94398">94398</a>
Error attempting to find References
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=93408">93408</a>
ITypeBinding#isEqualTo(..) does not resolve type variables
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=94389">94389</a>
[search] InvocationTargetException on Rename
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=79990">79990</a>
[1.5][search] Search for method declaration doesn't find method with instantiated type parameters
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=95066">95066</a>
[1.5][compiler] Wrong Cast Allowed


<a name="v_557"></a>
<p><hr><h1>
Eclipse Platform Build Notes&nbsp;<br>
Java Development Tooling Core</h1>
Eclipse SDK 3.1M7 - 12th May 2005 - 3.1 MILESTONE 7 / 3.1 RELEASE CANDIDATE 0
<br>Project org.eclipse.jdt.core v_557
(<a href="http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.jdt.core/?only_with_tag=v_557">cvs</a>).
<h2>
What's new in this drop</h2>
<ul>
</ul>

<h3>Problem Reports Fixed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=94308">94308</a>
[1.5][compiler] @SuppressWarnings("deprecation") does not suppress warnings from javadoc


<a name="v_556"></a>
<p><hr><h1>
Eclipse Platform Build Notes&nbsp;<br>
Java Development Tooling Core</h1>
Eclipse SDK 3.1M7 - 12th May 2005
<br>Project org.eclipse.jdt.core v_556
(<a href="http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.jdt.core/?only_with_tag=v_556">cvs</a>).
<h2>
What's new in this drop</h2>
<ul>
<li> Enabled by default the optional compiler diagnosis to signal unhandled warning tokens in <code>@SuppressWarnings</code> annotations.
Note that this warning can itself be turned off using @SuppressWarnings("warningToken").
<pre>
* COMPILER / Reporting Unhandled Warning Token for @SuppressWarnings
*    When enabled, the compiler will issue an error or a warning when encountering a token
*    it cannot handle inside a @SuppressWarnings annotation.
*     - option id:         "org.eclipse.jdt.core.compiler.problem.unhandledWarningToken"
*     - possible values:   { "error", "warning", "ignore" }
*     - default:           "warning"
</pre>
</li>
<li>Fix for <a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=94718">bug 94718</a> required the index version to be incremented. 
     Indexes will be automatically regenerated upon subsequent search queries (accounting for indexing notification in search progress dialogs).
</li>
</ul>

<h3>Problem Reports Fixed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=94928">94928</a>
[1.5][compiler] NPE in ParameterizedGenericMethodBinding generated by making method generic
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=93727">93727</a>
Code Formatter fails with Method Parameter Annotations
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=93075">93075</a>
Invalid source ranges for nested ParameterizedTypes
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=92360">92360</a>
type binding with isWildcardType() == true should not have isClass() == true
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=94168">94168</a>
Java annotation is missing in EnumConstantDeclaration
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=94867">94867</a>
[1.5][compiler] Annotation method should tolerate empty array default value
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=94747">94747</a>
[1.5][compiler] Error message is not optimal
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=94718">94718</a>
[1.5][search][annot] Find references in workspace breaks on an annotation
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=94644">94644</a>
[1.5][compiler] Non-static member type of raw type should be raw
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=94206">94206</a>
CCE in BindingKeyResolver when restoring array type of method type parameter
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=94260">94260</a>
[Preferences] preference option missing in Compiler Settings
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=94262">94262</a>
[1.5] non static class must not be visible through static import
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=93904">93904</a>
Batch compiler -log option broken for some values
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=87627">87627</a>
[1.5][search] references to type variable yield non-existent elements in search view
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=93588">93588</a>
[compiler] java.lang.VerifyError: Looks similar to 60040 but is happening on current release


<a name="v_555"></a>
<p><hr><h1>
Eclipse Platform Build Notes&nbsp;<br>
Java Development Tooling Core</h1>
Eclipse SDK 3.1M7 - 9th May 2005
<br>Project org.eclipse.jdt.core v_555
(<a href="http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.jdt.core/?only_with_tag=v_555">cvs</a>).
<h2>
What's new in this drop</h2>
<ul>
<li> Code Assist provide the enclosing type reference when cursor is inside a type argument
and the completion token is empty (in the same way as method calls).
<pre>
p.q.X&lt;&lt;complete here&gt;&gt; // p.q.X&lt;T,U&gt; is proposed.
p.q.X&lt;Object, &lt;complete here&gt;&gt; //p.q.X&lt;T,U&gt; is proposed
</pre>
</li>
<li> Code Assist provide the enclosing annotation reference when completion is inside an annotation argument
and the completion token is empty (in the same way as method calls).
<pre>
@Annot(&lt;complete here&gt;) // p.Annot is proposed.
@Annot(foo1=0, &lt;complete here&gt;) // p.Annot is proposed.
</pre>
</li>
<li> In 5.0 compliant mode, changed local inner type naming convention to reflect JLS 13.1 (3rd edition).
As a consequence, instead of generating a file named <code>X$1$A.class</code>, it will simply be <code>X$1A.class"</code>.
</li>
<li> Added optional compiler diagnosis to signal unhandled warning tokens in <code>@SuppressWarnings</code> annotations.
Note that this warning can itself be turned off using @SuppressWarnings("warningToken").
<pre>
* COMPILER / Reporting Unhandled Warning Token for @SuppressWarnings
*    When enabled, the compiler will issue an error or a warning when encountering a token
*    it cannot handle inside a @SuppressWarnings annotation.
*     - option id:         "org.eclipse.jdt.core.compiler.problem.unhandledWarningToken"
*     - possible values:   { "error", "warning", "ignore" }
*     - default:           "ignore"
</pre>
</li>
<li> Added compiler option to control whether @SuppressWarning annotations are active or not.
By disabling them, one can quickly revive all hidden warnings.
<pre>
* COMPILER / Determine whether @SuppressWarnings is effective
*    When enabled, the @SuppressWarnings annotation can be used to suppress some compiler warnings. 
*    When disabled, all @SupressWarnings annotations are ignored; i.e., warnings are reported.
*     - option id:         "org.eclipse.jdt.core.compiler.problem.suppressWarnings"
*     - possible values:   { "enabled", "disabled" }
*     - default:           "enabled"
</pre>
</li>
<li> Added API on <code>CorrectionEngine</code> for computing the warning token corresponding to an optional warning ID.
<pre>
/**
 * Returns a token which can be used to suppress a given warning using 
 * <code>@SuppressWarnings</code> annotation, for a given problem ID 
 * ({@link IProblem }). If a particular problem is not suppressable, 
 * <code>null</code> will be returned. 
 * 
 * Note: <code>@SuppressWarnings</code> can only suppress warnings, 
 * which means that if some problems got promoted to ERROR using custom compiler 
 * settings ({@link IJavaProject#setOption(String, String)}), the 
 * <code>@SuppressWarnings</code> annotation will be ineffective.
 * 
 * Note: <code>@SuppressWarnings</code> can be argumented with 
 * <code>"all"</code> so as to suppress all possible warnings at once.
 * 
 * Note: The tokens returned are not necessarily standardized across Java 
 * compilers. If you were to use one of these tokens in an @SuppressWarnings 
 * annotation in the Java source code, the effects (if any) may vary from 
 * compiler to compiler.
 * 
 * @param problemID
 *         the ID of a given warning to suppress
 * @return a String which can be used in <code>@SuppressWarnings</code> annotation, 
 * or <code>null</code> if unable to suppress this warning.
 * @since 3.1
 */
public static String getWarningToken(int problemID)
</pre>
</li>
<li>More warning tokens are now recognized by <code>@SuppressWarnings</code>, see list below. Note that
these are subject to changing in the near future.
  <ul>
     <li>all : any warning</li>
     <li>boxing : autoboxing conversion</li>
     <li>charConcat : char[] in String concat</li>
     <li>conditionAssign : possible accidental boolean assignment</li>
     <li>constructorName : method with constructor name</li>
     <li>dep-ann : missing @Deprecated annotation</li>
     <li>deprecation : deprecation outside deprecated code</li>
     <li>emptyBlock : undocumented empty block</li>
     <li>enumSwitch : incomplete enum switch</li>
     <li>fieldHiding : field hiding another variable</li>
     <li>finalBound : type parameter with final bound</li>
     <li>finally : finally block not completing normally</li>
     <li>indirectStatic : indirect reference to static member</li>
     <li>intfAnnotation : annotation type used as super interface</li>
     <li>intfNonInherited : interface non-inherited method compatibility</li>
     <li>javadoc : invalid javadoc</li>
     <li>localHiding : local variable hiding another variable</li>
     <li>maskedCatchBlock : hidden catch block</li>
     <li>nls : string literal lacking non-nls tag //$NON-NLS-&lt;n&gt;$</li>
     <li>noEffectAssign : assignment without effect</li>
     <li>over-ann : missing @Override annotation</li>
     <li>pkgDefaultMethod : attempt to override package-default method</li>
     <li>semicolon : unnecessary semicolon, empty statement</li>
     <li>serial : missing serialVersionUID</li>
     <li>unqualifiedField : unqualified reference to field</li>
     <li>unchecked : unchecked type operation</li>
     <li>unusedArgument : unread method parameter</li>
     <li>unusedImport : unused import declaration</li>
     <li>unusedLocal : unread local variable</li>
     <li>unusedPrivate : unused private member declaration</li>
     <li>unusedThrown : unused declared thrown exception</li>
     <li>unnecessaryElse : unnecessary else clause</li>
     <li>uselessTypeCheck : unnecessary cast/instanceof operation</li>
     <li>specialParamHiding : constructor or setter parameter hiding another field</li>
     <li>staticReceiver : non-static reference to static member</li>
     <li>syntheticAccess : synthetic access for innerclass</li>
     <li>typeHiding : type parameter hiding another type</li>
     <li>varargsCast : varargs argument need explicit cast</li>
     <li>warningToken : unhandled warning token</li>
  </ul>
</li>
<li>
SearchMatch now has a implicit field which shows whether the associated element is implicit or not
(see bug <a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=94062">94062</a>).<br>
Added new API methods to access this field:
<ul>
<li><code>SearchMatch#isImplicit()</code><br></li>
<li><code>SearchMatch#setImplicit(boolean)</code></li>
</ul>
</li>
</ul>

<h3>Problem Reports Fixed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=94053">94053</a>
[javadoc] Unknown references are not warned for string or href in @see/@link tags
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=94111">94111</a>
[assist] provide parameter hints for template instantiations
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=94062">94062</a>
[1.5][search][annot] search for annotation elements incorrect match range
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=93392">93392</a>
[1.5][search] Reference to implicit annotation element "value" has wrong offset
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=84968">84968</a>
[1.5][generics] Exception type handling broken in latest milestone
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=75885">75885</a>
[1.5][compiler] Naming convention for local innerclasses
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=89426">89426</a>
provide Java class file content type
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=93826">93826</a>
ArrayIndexOutOfBoundsException when opening type hierarchy
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=83739">83739</a>
[1.5] support @SuppressWarnings
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=89850">89850</a>
Duplicate strings of VM path
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=83750">83750</a>
[perf] Excessive File.isFile calls for clients of JavaModel.getTarget(...)
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=92210">92210</a>
[search] Search for method declaration in working set (source folder) searches in whole project
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=93913">93913</a>
wrong resolved type caused by a static import


<a name="v_554"></a>
<p><hr><h1>
Eclipse Platform Build Notes&nbsp;<br>
Java Development Tooling Core</h1>
Eclipse SDK 3.1M7 - 6th May 2005
<br>Project org.eclipse.jdt.core v_554
(<a href="http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.jdt.core/?only_with_tag=v_554">cvs</a>).
<h2>
What's new in this drop</h2>
<ul>
<li>Code Assist doesn't propose anymore type completion when completion token is empty.<br>
Note: the code to propose completion when token is empty is not removed.
Change the value of Completion.NO_TYPE_COMPLETION_ON_EMPTY_TOKEN to re-enabled this behavior.
</li>
<li>@SuppressWarnings is now supported. Recognized warning names are: <code>"all"</code>, <code>"deprecation"</code>,
<code>"serial"</code>, <code>"unchecked"</code>, <code>"finally"</code>.
</li>
<li>Changed Code Assist options.<br>
    CODEASSIST_FORBIDDEN_REFERENCE_CHECK and CODEASSIST_DISCOURAGED_REFERENCE_CHECK are replaced by CODEASSIST_HIDE_RESTRICTED_REFERENCES.<br>
    <pre>
/*
 *  CODEASSIST / Hide Proposals for Restricted Completions
 *    When value is "never", never hide proposals for restricted completions.
 *    When value is "error", hide proposals for restricted completions if insertion of these completions would create a compile error.
 *    When value is "warning", hide proposals for restricted completions if insertion of these completions would create a compile error or warning.
 *    To configure the severity of restrictions, "org.eclipse.jdt.core.compiler.problem.forbiddenReference"
 *    option must be used for forbidden reference and "org.eclipse.jdt.core.compiler.problem.discouragedReference"
 *    option must be used for discouraged reference.
 *     - option id:         "org.eclipse.jdt.core.codeComplete.restrictionsCheck"
 *     - possible values:   { "never", "error", "warning" }
 *     - default:           "error"
 */
 public static final String CODEASSIST_HIDE_RESTRICTED_REFERENCES;
    </pre></li>
<li>Removed 3.1 APIs <code>BindingKey#getDeclaringTypeSignature()</code> and
    <code>BindingKey#toSignature()</code> as they were found error prone. See <a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=93105">bug 93105</a>
    for details.</li>
<li>Added support for 'capture' inside Code Assist. Delaring type of a completion proposal is captured for qualified completion.</li>
<li>Added APIs to replace a range of moved nodes (<code>ListRewrite#createMoveTarget(first, last, replacingNode, editGroup)</code>). 
    See <a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=91938">bug 91938</a> for details.
</ul>

<h3>Problem Reports Fixed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=93854">93854</a>
IAE in Util.scanTypeSignature when scanning a signature retrieved from a binding key
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=93662">93662</a>
Singature#getTypeParameters returns strange signature string
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=93113">93113</a>
Opening the Type Hierarchy of Object uses 400M of heap
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=92071">92071</a>
Duplicate entry on classpath with -promiscuous mode
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=93486">93486</a>
[compiler] Wrong compile errors reported
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=93487">93487</a>
IType#findMethods fails on vararg methods
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=90186">90186</a>
resolved key of methods should contain parametrized types
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=88082">88082</a>
ASTParser#createASTs(..) does not use the given progress monitor
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=90612">90612</a>
Forbidden types must not be available in Code Assist
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=93105">93105</a>
Remove unnecessary APIs on BindingKey
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=93396">93396</a>
[1.5] problem with recovery and enum constant body
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=92899">92899</a>
Empty extra attributes list should not appear in .classpath
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=93275">93275</a>
Need ITypeBinding#getDeclaringClass() for capture types
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=93298">93298</a>
[1.5][compiler] nested statics and templates compilation error
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=92477">92477</a>
[1.5][compiler] Internal compiler error: NullPointerException in ReferenceBinding.findSuperTypeErasingTo
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=83083">83083</a>
[1.5][compiler] NPE while checking bounds of type variable
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=93204">93204</a>
[1.5][compiler] EnumSet.of within generic class
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=90775">90775</a>
[1.5][compiler] Missing unchecked warning
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=88202">88202</a>
Javadoc: clarify ITypeBinding#getTypeBounds()
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=93093">93093</a>
[1.5][dom] Capture binding "? extends Number[]" has bound Object instead of Number[]
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=93102">93102</a>
[1.5] Cannot restore capture binding from binding key
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=93082">93082</a>
[1.5][compiler] Eclipse accepts assignment between captures with array-type bounds
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=91467">91467</a>
[1.5][compiler] Eclipse asks for and then complains about unnecessary cast
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=92982">92982</a>
[1.5][compiler] Bounds and erasure of capture and type variable bindings
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=84690">84690</a>
[assist] CompletionProposal.getDeclarationSignature returns null for array types
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=92821">92821</a>
[javadoc] Organize Imports - M6 - incorrectly retains import when only referered to in javadoc
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=91542">91542</a>
[1.5][search] JavaModelException on ResolvedSourceMethod during refactoring
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=92981">92981</a>
Content Assist overrides wrong method
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=91619">91619</a>
Extraneous exported package
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=92872">92872</a>
[api] API constants renamed in IProblem
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=92888">92888</a>
ITypeBinding#isEqualTo(..) is wrong for capture bindings
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=84224">84224</a>
Need advice for finding duplicate Types
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=92944">92944</a>
[1.5][search] SearchEngine#searchAllTypeNames doesn't honor enum or annotation element kind
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=91078">91078</a>
[search] Java search for package reference wrongly identifies inner class as package
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=92005">92005</a>
AIOBE during content assist
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=67139">67139</a>
[classpath] n^2 classpath computations
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=80063">80063</a>
code assist allows overriding super class' private method
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=82208">82208</a>
[search] BasicSearchEngine#searchAllTypeNames doc
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=3336">3336</a>
SearchEngine doesn't support CLASS and INTERFACE (1GIEPRK)
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=90160">90160</a>
[search] SearchEngine.createJavaSearchScope swallows problems
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=88174">88174</a>
[1.5][search][enum] method declarations not found in anonymous enum
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=91938">91938</a>
[ast rewrite] new API: move range of nodes and replace

<a name="v_553"></a>
<p><hr><h1>
Eclipse Platform Build Notes&nbsp;<br>
Java Development Tooling Core</h1>
Eclipse SDK 3.1M7 - 26th April 2005
<br>Project org.eclipse.jdt.core v_553
(<a href="http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.jdt.core/?only_with_tag=v_553">cvs</a>).
<h2>
What's new in this drop</h2>
<ul>
<li>Removed the need to load <code>java.lang.RuntimeException</code> and <code>java.lang.Error</code> eagerly
during compilation when assessing unchecked exception diagnosis. This allows Java class library developpers to be 
more minimalistic.
</li>
<li>Fix for <a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=83230">bug 83230</a> required the index version to be incremented. 
     Indexes will be automatically regenerated upon subsequent search queries (accounting for indexing notification in search progress dialogs).
</li>
<li>Added support for Javadoc in package-info.java. Compiler now verifies package comment tags
syntax and references for this compilation unit. See bug <a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=83804">83804</a> for 
further details.</li>
</ul>

<h3>Problem Reports Fixed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=91761">91761</a>
[1.5][compiler] Return statements ignored in anonymous inner classes used as enum constant constructor parameters.
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=84049">84049</a>
[javadoc][dom] Extended ranges wrong for method name without return type
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=82673">82673</a>
[search] Refactor->Rename on local class also renames references to different local classes with same name
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=81062">81062</a>
[builder] Build is aborted even when no errors are occuring (incomplete build path == warning)
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=83012">83012</a>
[1.5][search][annot] Search for annotations misses references in default and values constructs
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=92588">92588</a>
Full build in reaction to beginRule failure
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=92451">92451</a>
code assist failure: new+cast+arrays
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=92373">92373</a>
[1.5] Can't distinguish capture ITypeBindings by #getKey() or #isEqualTo()
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=92370">92370</a>
[1.5] IAE in Signature.getParameterCount(..) for method proposal on capture type receiver
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=92361">92361</a>
[1.5] NPE in ITypeBinding#getJavaElement() for capture binding
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=92315">92315</a>
[search] NPE in MethodLocator.matchReportReference
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=86380">86380</a>
[1.5][search][annot] Add support to find references inside annotations on a package declaration
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=83804">83804</a>
[1.5][javadoc] Missing Javadoc node for package declaration
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=83501">83501</a>
IBinding#getJavaElement needs better specification
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=83230">83230</a>
[1.5][search][annot] search for annotation elements does not seem to be implemented yet
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=89624">89624</a>
Open on selection proposes twice the same entry
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=92237">92237</a>
IType resolved key: key.toSignature has wrong format
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=91804">91804</a>
JavaProject.isOnClasspath(IJavaElement) should avoid resolving classpath
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=92059">92059</a>
IVariableBinding#getJavaElement() thows NPE for array's 'length' field
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=84551">84551</a>
[1.5][compiler] compiler must not allow implicit static reference to outer type
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=89440">89440</a>
[1.5][problems] Reference to member of parameterized type incorrectly marked as error
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=84973">84973</a>
[1.5] parameterized inner type is illegal without parameterized  outer type
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=90484">90484</a>
[1.5][compiler] Missing override annotation conflicts with Javac error checking
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=81831">81831</a>
[1.5][compiler] JDT compiler tries to infer the wildcard type "too early" in case of recursive generic type-bounds
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=89274">89274</a>
[1.5][compiler] Enums in hierarchies with generics produces unnecessary warnings and errors
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=90137">90137</a>
[1.5][compiler] Collections.sort (List&lt;Comparable&gt;) compile error
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=90879">90879</a>
[1.5][compiler] Cannot sort a raw Comparable
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=85281">85281</a>
[1.5][compiler]  A&lt;++Element&gt; should not be assignable a  A&lt;+Element&gt;
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=91091">91091</a>
[quick assist] Cannot rename type name in file
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=90881">90881</a>
[1.5][compiler] NPE in builder
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=84496">84496</a>
[1.5][compiler] Capture Conversion not correctly implemented
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=92086">92086</a>
[index] ClassCastException in DiskIndex.mergeCategory()

<a name="v_552"></a>
<p><hr><h1>
Eclipse Platform Build Notes&nbsp;<br>
Java Development Tooling Core</h1>
Eclipse SDK 3.1M7 - 20th April 2005
<br>Project org.eclipse.jdt.core v_552
(<a href="http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.jdt.core/?only_with_tag=v_552">cvs</a>).
<h2>
What's new in this drop</h2>
<ul>
</ul>

<h3>Problem Reports Fixed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=91772">91772</a>
Exported plugin dependencies are missing from the classpath
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=88769">88769</a>
IMethodBinding#getJavaElement() drops extra array dimensions and varargs
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=88892">88892</a>
[1.5] IMethodBinding#getJavaElement() returns nonexistent IMethods (wrong parameter types)
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=91445">91445</a>
IMethodBinding.getJavaElement() returns an "unopen" IMethod
	  	
<a name="v_551"></a>
<p><hr><h1>
Eclipse Platform Build Notes&nbsp;<br>
Java Development Tooling Core</h1>
Eclipse SDK 3.1M7 - 19th April 2005
<br>Project org.eclipse.jdt.core v_551
(<a href="http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.jdt.core/?only_with_tag=v_551">cvs</a>).
<h2>
What's new in this drop</h2>
<ul>
<li>Added performance instrumentation to track performance problem (use PerformanceStats from Core).<br>
To enabled this Jdtcore instrumentation, you must add some new entries inside .options.
<ul>
<li><code>org.eclipse.jdt.core/perf/completion=300</code>: add an entry to performance.log if CompletionEngine.complete() take more than 300ms</li>
<li><code>org.eclipse.jdt.core/perf/selection=300</code> add an entry to performance.log if SelectionEngine.select() take more than 300ms</li>
<li><code>org.eclipse.jdt.core/perf/javadeltalistener=500</code> add an entry to performance.log if the call to the listener take more than 500ms</li>
<li><code>org.eclipse.jdt.core/perf/variableinitializer=5000</code> add an entry to performance.log if the initialization take more than 5000ms</li>
<li><code>org.eclipse.jdt.core/perf/containerinitializer=5000</code> add an entry to performance.log if the initialization take more than 5000ms</li>
<li><code>org.eclipse.jdt.core/perf/reconcile=1000</code> add an entry to performance.log if ComplationUnit.reconcile() take more than 1000ms</li>
</ul>
Current default thresholds are not accurate and must be adjusted.
</li>
<li>Added support for completion inside single member annotation and annotation attribute value.
<pre>
@MyAnnotation(&lt;complete here&gt;
@MyAnnotation(foo=&lt;complete here&gt;
</pre>
</li>
</ul>

<h3>Problem Reports Fixed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=91861">91861</a>
Deadlock on startup while computing namelookup
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=89411">89411</a>
ICompilationUnit#becomeWorkingCopy takes 18% of startup
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=91716">91716</a>
[prefs] Too many calls to EclipsePreference#get while scanning full workspace units
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=90615">90615</a>
Proposal for boolean
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=84877">84877</a>
Performance on startup
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=91497">91497</a>
[prefs] JavaCore should not give access to default preferences
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=90414">90414</a>
[content assist] Content Assist fails when escape sequence present
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=91438">91438</a>
Need definitive set of jdt-core tests checked into cvs
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=91498">91498</a>
Reconcile still sees old access rules
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=91221">91221</a>
Code assist stopped working
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=91371">91371</a>
[assist] Stack Overflow - Field completion
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=91098">91098</a>
The Mark Occurrences feature does not mark all occurrences
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=79288">79288</a>
Code assist offers types which are out of scope ==> compile errors
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=88298">88298</a>
[1.5][assist] no completion inside SingleMemberAnnotation
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=91238">91238</a>
Malfunction of Format function
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=91160">91160</a>
SourceField.getConstant() incorrect for char constants

<a name="v_550"></a>
<p><hr><h1>
Eclipse Platform Build Notes&nbsp;<br>
Java Development Tooling Core</h1>
Eclipse SDK 3.1M7 - 12th April 2005
<br>Project org.eclipse.jdt.core v_550
(<a href="http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.jdt.core/?only_with_tag=v_550">cvs</a>).
<h2>
What's new in this drop</h2>
<ul>
<li>Fix for <a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=90431">bug 90431</a> required the index version to be incremented. 
     Indexes will be automatically regenerated upon subsequent search queries (accounting for indexing notification in search progress dialogs).
</li>
</ul>

<h3>Problem Reports Fixed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=89096">89096</a>
Convert to new platform NLS support
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=90302">90302</a>
[javadoc] {@inheritedDoc} should be inactive for non-overridden method
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=90779">90779</a>
[search] Constructor Declaration search with ignoring declaring and return type also ignores type name
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=90915">90915</a>
[1.5][search] NPE in PatternLocator
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=90266">90266</a>
[select] Code select returns null when there's a string including a slash on same line
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=90605">90605</a>
Severity is not severe enough
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=89470">89470</a>
Generic Method override compatibility
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=90446">90446</a>
Update CreateTypeMemberOperation for changes in Indents 
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=90431">90431</a>
Improve path lookup in scopes
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=90423">90423</a>
[1.5][compiler] Generic method overloading. Javac allows but eclipse doesn't
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=90213">90213</a>
[Formatter] Redundant space in multidimensional array literals
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=88263">88263</a>
[1.5][compiler] Autobox and extends


<a name="v_549"></a>
<p><hr><h1>
Eclipse Platform Build Notes&nbsp;<br>
Java Development Tooling Core</h1>
Eclipse SDK 3.1M7 - 5th April 2005
<br>Project org.eclipse.jdt.core v_549
(<a href="http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.jdt.core/?only_with_tag=v_549">cvs</a>).
<h2>
What's new in this drop</h2>
<ul>
</ul>

<h3>Problem Reports Fixed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=89815">89815</a>
Types not found using Open Type and search for declaration
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=77809">77809</a>
[format] Line wrapping for enum constants
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=49896">49896</a>
Formatters should have option to use tabs only for leading indents.
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=89777">89777</a>
Improve doc formatting for IMethodBinding.getMethodDeclaration()
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=90111">90111</a>
[1.5][compiler] Compiler warning "tagged with @Override" not correct with static methods

<a name="v_548"></a>
<p><hr><h1>
Eclipse Platform Build Notes&nbsp;<br>
Java Development Tooling Core</h1>
Eclipse SDK 3.1M6 - 1st April 2005
<br>Project org.eclipse.jdt.core v_548 - 3.1 MILESTONE 6
(<a href="http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.jdt.core/?only_with_tag=v_548">cvs</a>).
<h2>
What's new in this drop</h2>
<ul>
<li>
New Code Formatter built-in profile has been added: "Eclipse [built-in]".<br>
This new profile is based on "Java Conventions" but uses tab character (instead of space) and set tab size to 4 (instead of 8).<br>
JavaCore was using these values by default but they were wrongly showed as "Java Conventions" in Code Formatter
preference page. This problem is now fixed (see bug <a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=89739">89739</a>).<br>
Code formatter behavior is still fully compatible with previous milestones for users who have not modified Code Formatter
options in their workspace. However, users who have explicitely modified them and have troubles with use of tab character,
should open Code Formatter preference page and either select this new "Eclipse" profile or verify state of "Use of tab character"
check-box.
</li>
</ul>

<h3>Problem Reports Fixed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=89982">89982</a>
[1.5][compiler] Internal failure during missing enum  case diagnosis
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=89848">89848</a>
[search] does not find method references in anonymous class of imported jarred plugin
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=89778">89778</a>
NPE in bindThrownExceptions
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=89710">89710</a>
[compiler] local variable range is wrong.


<a name="v_547"></a>
<p><hr><h1>
Eclipse Platform Build Notes&nbsp;<br>
Java Development Tooling Core</h1>
Eclipse SDK 3.1M6 - 31st March 2005
<br>Project org.eclipse.jdt.core v_547
(<a href="http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.jdt.core/?only_with_tag=v_547">cvs</a>).
<h2>
What's new in this drop</h2>
<ul>
</ul>

<h3>Problem Reports Fixed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=89739">89739</a>
[prefs] Default for formatter should be Tab characters, not spaces
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=89448">89448</a>
Java Generics code throws a java.lang.NoClassDefFoundError


<a name="v_546"></a>
<p><hr><h1>
Eclipse Platform Build Notes&nbsp;<br>
Java Development Tooling Core</h1>
Eclipse SDK 3.1M6 - 31st March 2005
<br>Project org.eclipse.jdt.core v_546
(<a href="http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.jdt.core/?only_with_tag=v_546">cvs</a>).
<h2>
What's new in this drop</h2>
<ul>
<li>In order to fix bugs <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=49896">49896</a> and <a href="https://bugs.eclipse.org/bugs/show_bug.cgi?id=77809">77809</a>, we added the following
two APIs:
<ul>
<li><code>org.eclipse.jdt.core.formatter.DefaultCodeFormatterConstants#FORMATTER_USE_TABS_ONLY_FOR_LEADING_INDENTATIONS</code></li>
<li><code>org.eclipse.jdt.core.formatter.DefaultCodeFormatterConstants#FORMATTER_ALIGNMENT_FOR_ENUM_CONSTANTS</code></li>
</ul>
</li>
</ul>

<h3>Problem Reports Fixed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=89477">89477</a>
[1.5][select] ArrayStoreException in SelectionEngine
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=73658">73658</a>
[1.5] Not all new 1.5 formatter options seem to work

<a name="v_545"></a>
<p><hr><h1>
Eclipse Platform Build Notes&nbsp;<br>
Java Development Tooling Core</h1>
Eclipse SDK 3.1M6 - 29th March 2005
<br>Project org.eclipse.jdt.core v_545
(<a href="http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.jdt.core/?only_with_tag=v_545">cvs</a>).
<h2>
What's new in this drop</h2>
<ul>
</ul>

<h3>Problem Reports Fixed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=81497">81497</a>
[format] Wrong feeding after array-initialization

<a name="v_544"></a>
<p><hr><h1>
Eclipse Platform Build Notes&nbsp;<br>
Java Development Tooling Core</h1>
Eclipse SDK 3.1M6 - 29th March 2005
<br>Project org.eclipse.jdt.core v_544
(<a href="http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.jdt.core/?only_with_tag=v_544">cvs</a>).
<h2>
What's new in this drop</h2>
<ul>
<li>In order to fix <a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=73104">73104</a>, we have added the following new API:
<ul><li><code>org.eclipse.jdt.core.formatter.DefaultCodeFormatterConstants#FORMATTER_INDENTATION_SIZE</code></li>
<li>Added new API <code>org.eclipse.jdt.core.formatter.DefaultCodeFormatterConstants#MIXED</code>. This new constant is used for the option:
<code>org.eclipse.jdt.core.formatter.DefaultCodeFormatterConstants#FORMATTER_TAB_CHAR</code>.</li>
</ul>
</li>
<li>Added new API on <code>org.eclipse.jdt.core.dom.ITypeBinding#getDeclaringMethod()</code>. See bug <a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=86580">86580</a> for details.</li>
</ul>

<h3>Problem Reports Fixed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=89312">89312</a>
API: BindingKey should probably be final
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=89318">89318</a>
[formatter] Option FORMATTER_INSERT_SPACE_AFTER_CLOSING_ANGLE_BRACKET_IN_TYPE_ARGUMENTS has no effect
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=89302">89302</a>
[formatter] Insert space after comma in enum constants has no effect
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=73104">73104</a>
[format] indentation amount tied to tab size
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=84872">84872</a>
Improve string sharing in JavaModelCache
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=68148">68148</a>
[model] Leaking persisted containers
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=89110">89110</a>
Redundant information in SourceTypeElementInfo
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=89092">89092</a>
Redundant information in ImportDeclarationElementInfo
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=89090">89090</a>
Redundant information in SourceFieldElementInfo
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=89014">89014</a>
IMethodBinding#isEqualTo(..) returns true for methods in different anonymous classes
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=86580">86580</a>
API on ITypeBinding for asking about the declaring node of type variable
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=88575">88575</a>
[1.5] treatment of Object.getClass() not API compliant

<a name="v_543"></a>
<p><hr><h1>
Eclipse Platform Build Notes&nbsp;<br>
Java Development Tooling Core</h1>
Eclipse SDK 3.1M6 - 24th March 2005
<br>Project org.eclipse.jdt.core v_543
(<a href="http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.jdt.core/?only_with_tag=v_543">cvs</a>).
<h2>
What's new in this drop</h2>
<ul>
<li>Added new kinds for the code formatter:
<ul>
<li><code>org.eclipse.jdt.core.formatter.CodeFormatter#K_SINGLE_LINE_COMMENT</code></li>
<li><code>org.eclipse.jdt.core.formatter.CodeFormatter#K_MULTI_LINE_COMMENT</code></li>
<li><code>org.eclipse.jdt.core.formatter.CodeFormatter#K_JAVA_DOC</code></li>
</ul>
</li>
<li>Added new options to format comments:
<ul>
<li><code>org.eclipse.jdt.core.formatter.DefaultCodeFormatterConstants#FORMATTER_COMMENT_CLEAR_BLANK_LINES</code></li>
<li><code>org.eclipse.jdt.core.formatter.DefaultCodeFormatterConstants#FORMATTER_COMMENT_FORMAT_HEADER</code></li>
<li><code>org.eclipse.jdt.core.formatter.DefaultCodeFormatterConstants#FORMATTER_COMMENT_FORMAT_HTML</code></li>
<li><code>org.eclipse.jdt.core.formatter.DefaultCodeFormatterConstants#FORMATTER_COMMENT_FORMAT_SOURCE</code></li>
<li><code>org.eclipse.jdt.core.formatter.DefaultCodeFormatterConstants#FORMATTER_COMMENT_FORMAT</code></li>
<li><code>org.eclipse.jdt.core.formatter.DefaultCodeFormatterConstants#FORMATTER_COMMENT_INDENT_PARAMETER_DESCRIPTION</code></li>
<li><code>org.eclipse.jdt.core.formatter.DefaultCodeFormatterConstants#FORMATTER_COMMENT_INDENT_ROOT_TAGS</code></li>
<li><code>org.eclipse.jdt.core.formatter.DefaultCodeFormatterConstants#FORMATTER_COMMENT_INSERT_EMPTY_LINE_BEFORE_ROOT_TAGS</code></li>
<li><code>org.eclipse.jdt.core.formatter.DefaultCodeFormatterConstants#FORMATTER_COMMENT_INSERT_NEW_LINE_FOR_PARAMETER</code></li>
<li><code>org.eclipse.jdt.core.formatter.DefaultCodeFormatterConstants#FORMATTER_COMMENT_LINE_LENGTH</code></li>
</ul>
</li>
<li>Added constant for the javadoc location attribute name: <code>IClasspathAttribute#JAVADOC_LOCATION_ATTRIBUTE_NAME</code>.</li>
<li>Added API to create an array type binding key from a type key and array dimension: <code>BindingKey#createArrayTypeBindingKey(String typeKey, int arrayDimension)</code></li>
<li>Added API to create a binding key from a type name: <code>BindingKey#createTypeBindingKey(String typeName)</code>.</li>
<li>Added API to create a parameterized or raw type binding key from a generic type binding key and argument type binding keys:
    <code>BindingKey#createParameterizedTypeBindingKey(String genericTypeKey, String[] argumentTypeKeys)</code>.</li>
<li>Added API to create a type variable binding key from a type variable name and a declaring key: <code>createTypeVariableBindingKey(String typeVariableName, String declaringKey)</code></li>
<li>Added API to create a wildcard binding key from a type key and wildcard kind: <code>BindingKey#createWildcardTypeBindingKey(String typeKey, char kind)</code></li>
<li>Added API to query whether a field is an enum constant: <code>IField#isEnumConstant()</code></li>
<li>Added API to code assist for access rule management.
<ul>
<li>Added JavaCore#CODEASSIST_FORBIDDEN_REFERENCE_CHECK and JavaCore#CODEASSIST_DISCOURAGED_REFERENCE_CHECK options</li>
<li>Removed JavaCore#CODEASSIST_RESTRICTIONS_CHECK (Replaced by CODEASSIST_FORBIDDEN_REFERENCE)</li>
<li>Added CompletionProposal#getAccessibility()</li>
</ul>
</li>
</ul>

<h3>Problem Reports Fixed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=89088">89088</a>
[performance] Scanner is sending 2 messages per identifier character
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=83502">83502</a>
Need API to create binding keys.
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=88845">88845</a>
NPE in codeComplete for supertype that extends invisible type
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=70827">70827</a>
[Search] wrong reference match to private method of supertype
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=88300">88300</a>
[search] Reference search result is changed by placement of private method
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=87173">87173</a>
Surface compiler information about boxing/unboxing in the DOM AST (implicit conversion)
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=88841">88841</a>
IAE while opening ASTView
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=88548">88548</a>
Need to get constant value on expression
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=88921">88921</a>
[Formatter] Adopt comment formatter from JDT/UI inside JDT/Core API
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=88849">88849</a>
Infinite loop in scanner when using eof=Integer.MAX_VALUE
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=88859">88859</a>
Constant for the name of the Javadoc attribute
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=71460">71460</a>
[model] Non *.java file association with Java contents.
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=88756">88756</a>
[codeassist] Code assist propose anonymous enum
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=76863">76863</a>
[1.5][model] IField should offer a method isEnumConstant
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=88757">88757</a>
[API] SwitchStatement.statements() returns list of SwitchGroups

<a name="v_542"></a>
<p><hr><h1>
Eclipse Platform Build Notes&nbsp;<br>
Java Development Tooling Core</h1>
Eclipse SDK 3.1M6 - 22nd March 2005
<br>Project org.eclipse.jdt.core v_542
(<a href="http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.jdt.core/?only_with_tag=v_542">cvs</a>).
<h2>
What's new in this drop</h2>
<ul>
<li>The internal build state format has changed and a full build is expected when restarting an existing workspace with this version of JDT Core.</li>
<li>Added the following APIs to control access rules severity:
     <ul>
     <li><code>org.eclipse.jdt.core.IAccessRule</code>
           <ul>
           <li><code>int K_ACCESSIBLE;</code></li>
           <li><code>int K_NON_ACCESSIBLE;</code></li>
           <li><code>int K_DISCOURAGED;</code></li>
           <li><code>IPath getPattern();</code></li>
           <li><code>int getKind();</code></li>
           </ul>
      </li>
      <li><code>org.eclipse.jdt.core.JavaCore</code>
           <ul>
           <li><code>String COMPILER_PB_DISCOURAGED_REFERENCE;</code></li>
           <li><code>IAccessRule newAccessRule(IPath pattern, int kind);</code></li>
           <li><code>IClasspathEntry newContainerEntry(
							IPath containerPath, 
							IAccessRule[] accessRules, 
							IClasspathAttribute[] extraAttributes,
							boolean isExported);</code></li>
           <li><code>IClasspathEntry newLibraryEntry(
							IPath path,
							IPath sourceAttachmentPath,
							IPath sourceAttachmentRootPath,
							IAccessRule[] accessRules, 
							IClasspathAttribute[] extraAttributes,
							boolean isExported);</code></li>
           <li><code>IClasspathEntry newProjectEntry(
							IPath path, 
							IAccessRule[] accessRules, 
							boolean combineAccessRules,
							IClasspathAttribute[] extraAttributes,
							boolean isExported);</code></li>
           <li><code>IClasspathEntry newVariableEntry(
							IPath variablePath,
							IPath variableSourceAttachmentPath,
							IPath variableSourceAttachmentRootPath,
							IAccessRule[] accessRules, 
							IClasspathAttribute[] extraAttributes,
							boolean isExported);</code></li>
           </ul>
      </li>
      <li><code>org.eclipse.jdt.core.IClasspathEntry</code>
            <ul>
           <li><code>boolean combineAccessRules();</code>
           <li><code>IAccessRule[] getAccessRules();</code>
           </ul>
      </li>
      </ul>
</li>
<li>Code select now works into Javadoc comment wherever a reference can be specified
(ie. @see, @link, @linkplain, @throws, @exception, @param or @value tags)<br>
(see bug <a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=54968">54968</a>).<br>
For example, hit F3 with cursor located in <code>MyClass</code>, in following Javadoc comment:
<pre>
/**
 * @see MyClass This is my class
 */
</pre>
will open editor on MyClass.java file.
</li>
<li>New CodeSelect feature: Code select return an element if the selection is an enum constant inside a switch label.
<pre>
Colors c;
swith(c) {
  case BLUE:
  case RED; // select RED
}
</pre>
</li>
<li>Added new kind of type signature: <code>Signature#WILDCARD_TYPE_SIGNATURE</code>.<br>
<code>Signature#getTypeSignatureKind(char[])</code> and <code>Signature#getTypeSignatureKind(String)</code>
now return <code>Signature#WILDCARD_TYPE_SIGNATURE</code> if the signature is a wildcard : * or +Ljava.lang.Object; or -Ljava.lang.Object;
</li>
<li>Added new completion API to describe context in which the completion occurs.<br>
Currently only the expected types of the potential completion proposals are proposed.
<pre>
 X x = zzz&lt;complete here&gt;
</pre>
In this example the expected type is <code>X</code>. It is not mandatory to a proposal
to respect this expectation and it is possible that there is no completion proposal.
<pre>
public class CompletionContext  {
  public char[][] getExpectedTypesSignatures() {...}
  public char[][] getExpectedTypesKeys() {...}
}
</pre>
Client must override <code>CompletionRequestor#acceptContext(..)</code> to know the context.
This method call ocurs after the call to <code>beginReporting()</code> and before the call to any
<code>accept(CompletionProposal)</code> method.
<pre>
public class CompletionRequestor {
  ...
  public void acceptContext(CompletionContext context) {..}
  ...   
}
</pre>
</li>
</ul>

<h3>Problem Reports Fixed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=87644">87644</a>
Control access rules severity
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=88625">88625</a>
[1.5][compiler] Invalid Enum comparing (Build id: I20050219-1500)
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=87998">87998</a>
[1.5][compiler] Enum constants generate warnings about synthetic constructor access
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=88562">88562</a>
Internal compiler error when compiling GNU Classpath
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=88295">88295</a>
[1.5][assist] too many completion on enum case label
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=88446">88446</a>
[1.5] annotations declared inside generic classes are not visible at runtime
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=54968">54968</a>
[javadoc][select] ICodeAssist#codeSelect doesn't work for member references in javadoc
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=85379">85379</a>
[1.5][select][enum] Code resolve on enum in switch
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=88429">88429</a>
Redundant information in SourceMethodElementInfo
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=88428">88428</a>
Class file reader's method info still hold on byte array
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=88223">88223</a>
[1.5][compiler] Local enums are not reported as error
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=88224">88224</a>
[1.5][DOM] ASTRewriteAnalyzer blows up with local enums
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=86971">86971</a>
[1.5][codeselect] F3 should perform if selecting '@Deprecated'
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=85713">85713</a>
Signature.getTypeSignatureKind does not like wildcard types
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=87762">87762</a>
[model] suspicious huge amount of IPackageFragmentRoot[]
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=88252">88252</a>
Deleting a MemberValuePair with a NormalAnnotation child does not work
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=87818">87818</a>
[compiler] local enums are illegal, but does this need to be a syntax error?
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=69657">69657</a>
[dom] deprecate JLS2 once JLS3 is fully supported
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=81797">81797</a>
NPE in SortElementBuilder
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=80036">80036</a>
EmptyStackException in CompilationUnitSorter
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=88187">88187</a>
Unexpected deprecation warnings during full build
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=88094">88094</a>
[1.5] compiler accepts two methods with same erasure
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=86970">86970</a>
[codeassist] Add an API on completion proposal API to surface the expected type
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=88124">88124</a>
More deprecated warnings than expected



<a name="v_541"></a>
<p><hr><h1>
Eclipse Platform Build Notes&nbsp;<br>
Java Development Tooling Core</h1>
Eclipse SDK 3.1M6 - 15th March 2005
<br>Project org.eclipse.jdt.core v_541
(<a href="http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.jdt.core/?only_with_tag=v_541">cvs</a>).
<h2>
What's new in this drop</h2>
<ul>

<li>Compiler now recognizes <code>@Deprecated</code> annotations, and treats them equivalent
to doc comment <code>/** @deprecated */</code>.
</li>
<li>Added optional compiler diagnosis to flag deprecated constructs missing a proper
<code>@Deprecated</code> annotation (to encourage using annotations instead of doc comment tag).
Corresponding problem IDs are: <code>IProblem.FieldMissingDeprecatedAnnotation</code>,
<code>IProblem.MethodMissingDeprecatedAnnotation</code>,
<code>IProblem.TypeMissingDeprecatedAnnotation</code>.
<pre>
* COMPILER / Reporting Missing @Deprecated Annotation
*    When enabled, the compiler will issue an error or a warning whenever encountering a declaration
*    carrying a @deprecated doc tag but has no corresponding @Deprecated annotation.
*     - option id:        "org.eclipse.jdt.core.compiler.problem.missingDeprecatedAnnotation"
*     - possible values:   { "error", "warning", "ignore" }
*     - default:           "ignore"     
</pre>
</li>
<li>JLS2 API have been deprecated (see bug <a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=69657">69657</a>).</li>
<li>Allowed javadoc reference to varargs methods (see bug <a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=87845">87845</a>).<br>
The 1.5 spec for the Javadoc tool does not mention the possibility
of a variable arity indicator in method references. However, the 1.5
Javadoc tool itself does indeed support it. Since it makes sense to have
a way to explicitly refer to variable arity methods, it seems more likely
that the Javadoc spec is wrong in this case.<br>
Following API methods were added to <code>MethodRefParameter</code>:
<pre>
/**
 * The "varargs" structural property of this node type (added in JLS3 API).
 * @since 3.1
 */
public static final SimplePropertyDescriptor VARARGS_PROPERTY;
/**
 * Returns whether this method reference parameter is for
 * the last parameter of a variable arity method (added in JLS3 API).
 * <p>
 * Note that the binding for the type <code>Foo</code>in the vararg method
 * reference <code>#fun(Foo...)</code> is always for the type as 
 * written; i.e., the type binding for <code>Foo</code>. However, if you
 * navigate from the MethodRef to its method binding to the
 * type binding for its last parameter, the type binding for the vararg
 * parameter is always an array type (i.e., <code>Foo[]</code>) reflecting
 * the way vararg methods get compiled.
 * </p>
 * 
 * @return <code>true</code> if this is a variable arity parameter,
 *    and <code>false</code> otherwise
 * @exception UnsupportedOperationException if this operation is used in
 * a JLS2 AST
 * @since 3.1
 */ 
public boolean isVarargs();
/**
 * Sets whether this method reference parameter is for the last parameter of
 * a variable arity method (added in JLS3 API).
 * 
 * @param variableArity <code>true</code> if this is a variable arity
 *    parameter, and <code>false</code> otherwise
 * @since 3.1
 */ 
public void setVarargs(boolean variableArity);
</pre>
</li>
<li>Added new flags on nature of match to specify that declaring or return type should be ignored during the search
(see bug <a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=80264">80264</a>).<br>
These flags are defined on <code>IJavaSearchConstants</code> interface:
<pre>
/**
 * Ignore declaring type while searching result.
 * Can be used in conjunction with any of the nature of match.
 * @since 3.1
 */
int IGNORE_DECLARING_TYPE = 0x10;
/**
 * Ignore return type while searching result.
 * Can be used in conjunction with any of the nature of match.
 * Note that:
 * 	- for fields search, pattern will ignore field type
 * 	- this flag will have no effect for types search
 * @since 3.1
 */
int IGNORE_RETURN_TYPE = 0x20;
</pre>
Note that these flags are active only for search of declarations (ie. <code>IJavaSearchConstants.DECLARATIONS</code> and <code>IJavaSearchConstants.ALL_OCCURRENCES</code>)
and while searching for IJavaElement (see doc of <code>SearchPattern.createPattern(IJavaElement, int)</code> API method).
</li>
<li>Improved API for type name requestor. Abstract class <code>TypeNameRequestor</code> replaces interface <code>ITypeNameRequestor</code> which is deprecated.<br>
There's now only a single method for type name requestor while accepting a type:
<pre>
/**
 * Accepts a top-level or a member type.
 *
 * The default implementation of this method does nothing.
 * Subclasses should override.
 *
 * @param modifiers the modifier flags of the type. Note that for source type,
 *	these flags may slightly differ from thoses get after resolution.
 *	For example an interface defined by <code>interface A {}</code>, although obviously public,
 *	will be returned false by <code>Flags.isPublic(modifiers)</code> due to the fact
 *	that its declaration does not explicitely define <code>public</code> flag.
 *	@see org.eclipse.jdt.core.Flags
 * @param packageName the dot-separated name of the package of the type
 * @param simpleTypeName the simple name of the type
 * @param enclosingTypeNames if the type is a member type, 
 *	the simple names of the enclosing types from the outer-most to the
 *	direct parent of the type (for example, if the class is x.y.A$B$C then
 *	the enclosing types are [A, B]. This is an empty array if the type
 *	is a top-level type.
 * @param path the full path to the resource containing the type. If the resource is a .class file
 *	or a .java file, this is the full path in the workspace to this resource. If the
 *	resource is an archive (that is, a .zip or .jar file), the path is composed of 2 paths separated
 *	by <code>IJavaSearchScope.JAR_FILE_ENTRY_SEPARATOR</code>: 
 *	the first path is the full OS path to the archive (if it is an external archive), 
 *	or the workspace relative <code>IPath</code> to the archive (if it is an internal archive), 
 *	the second path is the path to the resource inside the archive.
 */
public void acceptType(int modifiers, char[] packageName, char[] simpleTypeName, char[][] enclosingTypeNames, String path)
</pre>
Clients can now distinguish Annotation, Enum, Interface and Class using <code>Flags</code> API methods on <code>modifiers</code> parameter.
</li>
<li>Added support for package-info.java. This allows to define annotations on the package declaration. See bug <a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=86167">86167</a> for 
further details.</li>
<li>Added API <code>JavaCore#newProjectEntry(IPath, IPath[], IPath[], boolean, IClasspathAttribute[], boolean)</code>
      that take a 'combineAccessRestrictions' flag to control whether access restrictions of exported libraries of the project
      should be combined with the access restrictions of this project entry.
</li>
<li>Added API method <code>AST#newName(String qualifiedName)</code> for creating 
<code>SimpleName</code> or <code>QualifiedName</code>
nodes depending on the form of the given name string.
</li>
</ul>

<h3>Problem Reports Fixed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=83643">83643</a>
[1.5] @Deprecated members not 'slashed'
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=86291">86291</a>
[1.5][compiler] Annotation attribute see members of the annotated type
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=69657">69657</a>
[dom] deprecate JLS2 once JLS3 is fully supported
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=77349">77349</a>
[compiler] ClassFormatError when accessing clone() or finalize() methods from an interface
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=87956">87956</a>
compiling error on jdk1.5 collection generics
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=87900">87900</a>
Error 'Requesting Java AST from selection': Bug in the Java AST parser
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=87754">87754</a>
[1.5][javadoc][dom] Type of ArrayType component type inside MethodRef has no binding
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=87845">87845</a>
[1.5][dom][javadoc] allow javadoc references to vararg methods
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=87778">87778</a>
[search] doesn't find all declarations of method with covariant return type
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=80264">80264</a>
[search] Search for method declarations in workspace, disregarding declaring type
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=85924">85924</a>
[1.5][compiler[ code generation error in M5 w/regard to generics
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=87849">87849</a>
[AST] SimpleName.setIdentifier() not detecting bogus identifiers
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=86779">86779</a>
AST#resolveWellKnownType(..) should support primitive type wrappers
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=85900">85900</a>
[1.5] [compiler] internal compiler reports name clash
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=87777">87777</a>
Bindings.isEqualTo returns false for equal bindings
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=86902">86902</a>
[1.5][compiler] Raw field access is not flagged as unsafe type operation
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=81498">81498</a>
[search] ITypeNameRequestor should support enums and annotations as well
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=87490">87490</a>
Internal compiler error
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=85491">85491</a>
[1.5] Compiler rejects autoboxing-calls to overloaded varargs methods as ambiguous
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=87613">87613</a>
Access restrictions should only apply to project's own package fragment roots
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=86167">86167</a>
[1.5] Add support for package-info.java
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=87350">87350</a>
IllegalArgumentException when converting AST with invalid enum body declaration
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=85262">85262</a>
[1.5] Bound mismatch: type R is not a valid substitute for the bounded parameter...
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=87498">87498</a>
StackOverflowError when marking occurrences of Comparable in Collections.min(..)
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=87481">87481</a>
[1.5] type reference in CastExpression is generic type instead of parameterized
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=87463">87463</a>
The built-in Eclipse compiler behaves differently than IBM or Sun JDK
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=85226">85226</a>
[1.5] EnumConstantDeclaration should declare resolveConstructorBinding
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=36938">36938</a>
[plan item][1.5] Add early support for J2SE 1.5 features
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=87404">87404</a>
[javadoc] Unexpected not defined warning on constructor
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=85811">85811</a>
BindingKey.toSignature should return method signature for methods
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=87411">87411</a>
[dom] API: ast.newName(String qualifiedName)
	  	
<a name="v_540"></a>
<p><hr><h1>
Eclipse Platform Build Notes&nbsp;<br>
Java Development Tooling Core</h1>
Eclipse SDK 3.1M6 - 8th March 2005
<br>Project org.eclipse.jdt.core v_540
(<a href="http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.jdt.core/?only_with_tag=v_540">cvs</a>).
<h2>
What's new in this drop</h2>
<ul>
</ul>

<h3>Problem Reports Fixed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=83693">83693</a>
[search][javadoc] References to methods/constructors: range does not include parameter lists
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=87273">87273</a>
[1.5][compiler] Code with generics compiles, but throws a NoSuchMethodError when executed
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=87050">87050</a>
ASTParser#createASTs(..) cannot resolve method type parameter binding from key
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=83002">83002</a>
[1.5] Compiler generates incorrect signature for throws clause.
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=87318">87318</a>
[1.5][compiler] Array.asList(int[]) should be accepted
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=87171">87171</a>
Find declaring node doesn't work for methods/fields using type parameters
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=86908">86908</a>
Code formatter fails to format when this code is present
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=86967">86967</a>
[1.5][dom] NPE in BindingKeyResolver for multi-level parameterized type binding
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=86898">86898</a>
[1.5][compiler] compiler should flag unchecked cast
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=87267">87267</a>
[1.5][compiler] cast from Integer[] to int[] should fail
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=82830">82830</a>
AST: String concatenation represented as single node
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=83393">83393</a>
[1.5][javadoc] reference to vararg method also considers non-array type as correct
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=83285">83285</a>
[javadoc] Javadoc reference to constructor of secondary type has no binding / not found by search
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=87042">87042</a>
Passing null as first vararg makes parameter null (3.1M4)
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=86906">86906</a>
[1.5][dom] SourceType#createField fails for enums
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=86878">86878</a>
Parameterized varargs causes Java formatter to fail
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=80221">80221</a>
[dom][javadoc] No Javadoc comment node when return type missing
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=86901">86901</a>
[1.5][search] Static import method references not found in unused import

<a name="v_539"></a>
<p><hr><h1>
Eclipse Platform Build Notes&nbsp;<br>
Java Development Tooling Core</h1>
Eclipse SDK 3.1M6 - 1st March 2005
<br>Project org.eclipse.jdt.core v_539
(<a href="http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.jdt.core/?only_with_tag=v_539">cvs</a>).
<h2>
What's new in this drop</h2>
<ul>
<li>Fix for <a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=83319">bug 83319</a> required the index version to be incremented. 
     Indexes will be automatically regenerated upon subsequent search queries (accounting for indexing notification in search progress dialogs).
</li>
<li>Added optional compiler diagnosis to flag incomplete enum switch statements.
Corresponding problem ID is: <code>IProblem.MissingEnumConstantCase</code>
<pre>
* COMPILER / Reporting Incomplete Enum Switch
*    When enabled, the compiler will issue an error or a warning whenever an enum constant has
*    no corresponding case label in an enum switch statement
*    type has no case label matching an enum constant.
*     - option id:        "org.eclipse.jdt.core.compiler.problem.incompleteEnumSwitch"
*     - possible values:   { "error", "warning", "ignore" }
*     - default:           "ignore"
</pre>
</li>
<li>Added API <code>org.eclipse.jdt.core.dom.CompilationUnit#getJavaElement()</code> to retrieve the compilation unit
     or class file the compilation unit node was created from.
</li>
<li>Added API <code>IMethodBinding#isSubsignature(IMethodBinding)</code> to find out if a method's signature 
     is a subsignature of another method.
</li>
<li>Added optional compiler diagnosis to flag method overriding a superclass method, but missing 
proper <code>@Override</code> annotation.
Corresponding problem ID is: <code>IProblem.MissingOverrideAnnotation</code>

<pre>
* COMPILER / Reporting Missing @Override Annotation
*    When enabled, the compiler will issue an error or a warning whenever encountering a method
*    declaration which overrides a superclass method but has no @Override annotation.
*     - option id:        "org.eclipse.jdt.core.compiler.problem.missingOverrideAnnotation"
*     - possible values:   { "error", "warning", "ignore" }
*     - default:           "ignore"                               
</pre>
</li>
<li>New CodeAssist feature: Enum constant are proposed inside switch label if the expression is an enum.
<pre>
Colors c;
swith(c) {
  case BLUE:
  case RED&lt;complete here&gt;
}
</pre>
</li>
<li>New CodeAssist feature: Annotation's attribute name are proposed.
<pre>
@Annot(attr&lt;complete here&gt;=value)
</pre>
To propose this new completion kind a new API has been added: CompletionProposal.ANNOTATION_ATTRIBUTE_REF.<br>
<pre>
/**
 * Completion is a reference to annotation's attribute.
 * This kind of completion might occur in a context like
 * &lt;code&gt;"@Annot(attr^=value)"&lt;/code&gt; and complete it to
 * &lt;code&gt;"@Annot(attribute^=value)"&lt;/code&gt;.
 * &lt;p&gt;
 * The following additional context information is available
 * for this kind of completion proposal at little extra cost:
 * &lt;ul&gt;
 * &lt;li&gt;{@link #getDeclarationSignature()} -
 * the type signature of the annotation that declares the attribute that is referenced
 * &lt;/li&gt;
 * &lt;li&gt;{@link #getFlags()} -
 * the modifiers flags of the attribute that is referenced
 * &lt;/li&gt;
 * &lt;li&gt;{@link #getName()} -
 * the simple name of the attribute that is referenced
 * &lt;/li&gt;
 * &lt;li&gt;{@link #getSignature()} -
 * the type signature of the attribute's type (as opposed to the
 * signature of the type in which the referenced attribute
 * is declared)
 * &lt;/li&gt;
 * &lt;/ul&gt;
 * &lt;/p&gt;
 * 
 * @see #getKind()
 */
 public static final int ANNOTATION_ATTRIBUTE_REF = 13;
</pre>
</li>
</ul>

<h3>Problem Reports Fixed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=83319">83319</a>
[1.5][search] Search does not find references to statically imported methods
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=86838">86838</a>
[1.5] [compiler] Eclipse compiles parameterized code that javac says is "is not within its bound"
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=84121">84121</a>
[1.5][search][varargs] reference to type reported as inaccurate in vararg
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=83388">83388</a>
[search] SearchRequestor reports 'null' as match
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=86775">86775</a>
[1.5][compiler] Infer Generic Types Arguments throws NPE
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=86596">86596</a>
[search] Search for type finds segments in import
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=79378">79378</a>
[search] IOOBE when inlining a method
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=68825">68825</a>
[compiler][1.5] detect not-exhaustive enum switches
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=81377">81377</a>
[1.5][search] Semantics of search for methods with generics
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=84944">84944</a>
[1.5][builder] Parameterized return type is sometimes not visible.
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=83770">83770</a>
[1.5] ITypeBinding getQualifiedName doesn't cover the case of parameterized member type
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=84140">84140</a>
The type binding of a vararg should be an array not a simple type
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=83100">83100</a>
[5.0] need IVariableBinding.isGeneric/Parametrized, getGeneric..
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=86663">86663</a>
[DOM] AbortCompilation should not abort the creation of the tree
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=86463">86463</a>
[1.5][compiler] Compiler-Bug using generics
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=86611">86611</a>
[1.4] 1.5 power double causes compiler internal failure
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=86531">86531</a>
Javadoc: class AST has several parameterless methods claiming to throw IllegalArgumentException
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=86217">86217</a>
NPE resolving bounds of Type Variable
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=84554">84554</a>
[1.5] code assist in enum switch statements
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=75702">75702</a>
[dom] Need a way to get back from an AST to the originating ICompilationUnit
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=86410">86410</a>
formatting generics type parameters
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=86487">86487</a>
[1.5] infinite loop in enhanced for statement when the current element is optimized out
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=73676">73676</a>
[dom] Need API on bindings for overriding and assignment rules
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=72258">72258</a>
[model] Should be able to dynamicaly set the size of Java model cache
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=84562">84562</a>
[DCR][1.5][options] Optional warning/error to avoid accidental overrides with JDK 5.0
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=85538">85538</a>
[1.5] compiler does not reject cyclic annotation element types
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=86141">86141</a>
[recovery] ClassCastException with annotation of parameter
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=86179">86179</a>
[1.5] Type parameters lost with nested inheritance and generics

<a name="v_538"></a>
<p><hr><h1>
Eclipse Platform Build Notes&nbsp;<br>
Java Development Tooling Core</h1>
Eclipse SDK 3.1M6 - 22nd February 2005
<br>Project org.eclipse.jdt.core v_538
(<a href="http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.jdt.core/?only_with_tag=v_538">cvs</a>).
<h2>
What's new in this drop</h2>
<ul>
<li>Inclusion/exclusion filters used as import restrictions have been renamed into 'accessible files' and 'non accessible files' patterns.
     The following APIs have been added on <code>IClasspathEntry</code>: <code>getAccessibleFiles()</code> and <code>getNonAccessibleFiles()</code>.
     These are valid only for library, project, container and variable entries. <code>getInclusionPatterns()</code> and <code>getExclusionPatterns()</code> 
     temporary return the accessible files and non accessible files patterns for these entries.
</li>
<li>Added ability to associate classpath attributes to a classpath entry (see <code>IClasspathAttribute</code>). A classpath attribute
     is created using <code>JavaCore#newClasspathAttribute(String, String)</code>. Then one can associate this attribute with 
     a classpath entry using one of:
     <ul>
     <li><code>JavaCore#newContainerEntry(IPath containerPath, IPath[] accessibleFiles, IPath[] nonAccessibleFiles, IClasspathAttribute[] extraAttributes, boolean isExported)</code></li>
     <li><code>JavaCore#newLibraryEntry(IPath path, IPath sourceAttachmentPath, IPath sourceAttachmentRootPath, IPath[] accessibleFiles, IPath[] nonAccessibleFiles, IClasspathAttribute[] extraAttributes, boolean isExported)</code></li>
     <li><code>JavaCore#newProjectEntry(IPath path, IPath[] accessibleFiles, IPath[] nonAccessibleFiles, IClasspathAttribute[] extraAttributes, boolean isExported)</code></li>
     <li><code>JavaCore#newSourceEntry(IPath path, IPath[] inclusionPatterns, IPath[] exclusionPatterns, IPath specificOutputLocation, IClasspathAttribute[] extraAttributes)</code></li>
     <li><code>JavaCore#newVariableEntry(IPath variablePath, IPath variableSourceAttachmentPath, IPath variableSourceAttachmentRootPath, IPath[] accessibleFiles, IPath[] nonAccessibleFiles, IClasspathAttribute[] extraAttributes, boolean isExported)</code></li>
     </ul>
</li>
<li>Added optional compiler diagnosis when a type parameter declaration is hiding another type.
Corresponding problem ID is: <code>IProblem.TypeParameterHidingType</code>
<pre>
* COMPILER / Reporting Type Parameter Declaration Hiding another Type
*    When enabled, the compiler will issue an error or a warning whenever a type parameter
*    declaration is hiding some type.
*     - option id:         "org.eclipse.jdt.core.compiler.problem.typeParameterHiding"
*     - possible values:   { "error", "warning", "ignore" }
*     - default:           "warning"
</pre>
</li>
<li>The predicates <code>isInterface()</code> on Java element and DOM AST are now answering <code>true</code>
for annotation types. Indeed, annotation types are allowed to be implemented just like regular interfaces.
</li>
<li>Added optional compiler diagnosis signalling usage of an annotation type as a super interface.
Corresponding problem ID is: <code>IProblem.AnnotationTypeUsedAsSuperInterface</code>
<pre>
* COMPILER / Reporting Use of Annotation Type as Super Interface
*    When enabled, the compiler will issue an error or a warning whenever an annotation type is used
*    as a super-interface. Though legal, this is discouraged.
*     - option id:         "org.eclipse.jdt.core.compiler.problem.annotationSuperInterface"
*     - possible values:   { "error", "warning", "ignore" }
*     - default:           "warning"
</pre>
</li>
</ul>

<h3>Problem Reports Fixed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=72704">72704</a>
[compiler][1.5] unexpected IBindings and class files with conflicting method argument types
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=85397">85397</a>
[1.5][enum] erroneous strictfp keyword on enum type produces error on constructor
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=83321">83321</a>
[1.5][assist][enum] no override completion proposals in type when followed by a package visible enum
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=85402">85402</a>
[1.5][assist] NPE while trying to complete on empty annotation
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=85290">85290</a>
[1.5] Code assist for annotations
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=85810">85810</a>
[1.5][search] Missed type parameter reference in implements clause
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=85421">85421</a>
[1.5][search] NPE while searching type parameter reference in workspace
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=85432">85432</a>
Make jdtcore.jar an executable jar
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=85933">85933</a>
Type parameters in anonymous type is missing
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=82429">82429</a>
[1.5] Need emulation of Unicode 4 using 1.4 libraries
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=85062">85062</a>
[compiler] Implicit static method invocation should target the receiver type not the declaring class
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=84355">84355</a>
[1.5] Generics bounds overzealous when converting to Object
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=85477">85477</a>
[1.5] certain unchecked conversion not reported
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=85303">85303</a>
[1.5] wrong declaring class for invokevirtual call


<a name="v_537"></a>
<p><hr><h1>
Eclipse Platform Build Notes&nbsp;<br>
Java Development Tooling Core</h1>
Eclipse SDK 3.1M5 - 15th February 2005 - 3.1 MILESTONE 5
<br>Project org.eclipse.jdt.core v_537
(<a href="http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.jdt.core/?only_with_tag=v_537">cvs</a>).
<h2>
What's new in this drop</h2>
<ul>
</ul>

<h3>Problem Reports Fixed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=85203">85203</a>
VerifyError running o.e.pdu.ui from workspace
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=85160">85160</a>
[compiler] java.lang.Object.finalize() method cannot be invoked on an array type
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=85157">85157</a>
[compiler] Integer[] is not compatible with String[] in conditional expression
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=85215">85215</a>
[DOM][1.5] Annotation type getModifiers() always returns 0
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=85115">85115</a>
[1.5] AST annotation.isTopLevel() doesn't work
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=84724">84724</a>
[5.0][search] fails to find call sites for varargs constructors
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=85125">85125</a>
When bracket is placed after MethodDeclarator, build fails.

<a name="v_536"></a>
<p><hr><h1>
Eclipse Platform Build Notes&nbsp;<br>
Java Development Tooling Core</h1>
Eclipse SDK 3.1M5 - 14th February 2005
<br>Project org.eclipse.jdt.core v_536
(<a href="http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.jdt.core/?only_with_tag=v_536">cvs</a>).
<h2>
What's new in this drop</h2>
<ul>
</ul>

<h3>Problem Reports Fixed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=78906">78906</a>
[1.5][compiler] this$0 is not allowed as a field in a member class
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=79396">79396</a>
[compiler] Static receiver for a static method invocation should be generated to cover side-effects
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=84801">84801</a>
Bad code generated for Java 5.0
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=83902">83902</a>
[1.5] AbstractMethodError when using covariant returns
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=83901">83901</a>
[1.5] AbstractMethodError: Compiler fails to catch missing methods of implemented interface
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=82461">82461</a>
[5.0] Unconventional formatting of annotations in ASTRewrite
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=81244">81244</a>
error range for generic vararg argument
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=84743">84743</a>
[1.5][compiler] Cast between two interfaces doesn't need to check compatibility of method return types
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=84869">84869</a>
Missing constant for "org.eclipse.jdt.core.compiler.problem.autoboxing"
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=84770">84770</a>
Formatter fails in specific case (.class in code)
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=84778">84778</a>
NaiveASTFlattener should add spaces around extendedOperands in InfixExpression
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=84791">84791</a>
[1.5][compiler] eclipse doesn't allow types to be derived from annotation types
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=83600">83600</a>
[code assist] METHOD_REF proposals have non-standard signatures
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=80630">80630</a>
[1.5] Conditional expression unboxing  should handle this case
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=84717">84717</a>
Typo in javadoc of Signature.C_GENERIC_END
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=84528">84528</a>
Not visiting line comments in compilation unit?
	  	
<a name="v_535"></a>
<p><hr><h1>
Eclipse Platform Build Notes&nbsp;<br>
Java Development Tooling Core</h1>
Eclipse SDK 3.1M5 - 8th February 2005
<br>Project org.eclipse.jdt.core v_535
(<a href="http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.jdt.core/?only_with_tag=v_535">cvs</a>).
<h2>
What's new in this drop</h2>
<ul>
<li> Tuned generic method type argument inference (JLS 15.12.2.7&amp;8).
</li>
<li> Optional diagnosis for assignment with no effect now also detects: "var = var++;" scenario.
<li>Added APIs <code>IType#getKey()</code>, <code>IField#getKey()</code>, <code>IMethod#getKey()</code>
    that return a binding key for these Java elements.
</li>
<li>Added APIs <code>IType#isResolved()</code>, <code>IField#isResolved()</code>, 
    <code>IMethod#isResolved()</code> that return whether these Java elements are resolved elements
    and thus whether their key (see above) contains resolved information.
</li>
<li>Added API class <code>org.eclipse.jdt.core.BindingKey</code> to decode a binding key
    obtained from <code>IBinding#getKey()</code> or one of the <code>getKey()</code> methods above.
</li>
</ul>

<h3>Problem Reports Fixed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=84717">84717</a>
Typo in javadoc of Signature.C_GENERIC_START
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=84669">84669</a>
[5.0] VerifyError: Expecting to find object/array on stack
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=84593">84593</a>
[1.5][compiler] NPE during problem detection with raw reference to parameterized inner class
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=84558">84558</a>
Strange error message when using keywords "const" and "goto" as variable names
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=83648">83648</a>
[1.5] Enum constructor cannot be public or protected
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=83379">83379</a>
[1.5] compiler does not warn when overriding methods with parameters as array and vararg
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=84345">84345</a>
[1.5][compiler] Widening reference is possible when boxing in a cast expression
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=83615">83615</a>
[1.5][compiler] lenient subclass checking with interdependent type variables
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=84480">84480</a>
Warning for "no effect assignment" j = j++
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=83500">83500</a>
Can't restore a secondary top level from key
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=84416">84416</a>
Stepping into message send without receiver should highlight message before sending message
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=76773">76773</a>
Stepping through conditional looks like it evaluates both halves
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=84504">84504</a>
[Format] Extra empty line before class in default package when imports are specified
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=83383">83383</a>
IllegalArgumentException in Signature.getParameterCount
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=83218">83218</a>
[1.5] Covariant return type &amp; generics
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=83499">83499</a>
NPE when restoring ITypeBinding from key
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=83611">83611</a>
compiler reports error but there is no error
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=84055">84055</a>
[1.5] Unnecessary cast  wrongly reported with boxing
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=83965">83965</a>
[1.5][compiler] Widening conversion is possible when unboxing in a cast expression
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=81544">81544</a>
[dom] java.util.List&lt;URL&gt; sometimes has a binding, sometimes not
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=82647">82647</a>
[compiler][1.5] Erroneous error with autoboxing and conditional operand
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=79696">79696</a>
[dom] Wrong type binding in qualified name
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=84215">84215</a>
ArrayIndexOutOfBoundsException, internal compiler error
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=84181">84181</a>
[1.5] ITypeBinding.isFromSource incorrect on raw bindings
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=83376">83376</a>
[1.5] compiler should error on ambiguous method invocation due to duplicate static imports
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=78934">78934</a>
[1.5][dom] ParameterizedType for nested generic types has missing bindings
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=83162">83162</a>
Eclipse reports no name clash with equivalent bridge methods
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=81332">81332</a>
[1.5][compiler] Is this a name clash?
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=80626">80626</a>
[1.5] enum types cannot define a compareTo(Object o) method


<a name="v_534"></a>
<p><hr><h1>
Eclipse Platform Build Notes&nbsp;<br>
Java Development Tooling Core</h1>
Eclipse SDK 3.1M5 - 1st February 2005
<br>Project org.eclipse.jdt.core v_534
(<a href="http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.jdt.core/?only_with_tag=v_534">cvs</a>).
<h2>
What's new in this drop</h2>
<ul>
<li>Add CompletionProposal#getDeclaringKey() and CompletionProposal#getKey() API
</li>
</ul>

<h3>Problem Reports Fixed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=84064">84064</a>
AST: Wrong source ranges for superconstructorinv with type args
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=83939">83939</a>
[1.5][compiler] null is allowed as a legal element value in annotations
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=83817">83817</a>
IBinding#isEqualTo(..) returns true for methods of different parameterized types
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=82349">82349</a>
[compiler][1.5] Problems deriving from generic class that uses inner classes
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=83904">83904</a>
[compiler][1.5] Y&lt;T&gt; should be uniquely defined in the same signature
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=83646">83646</a>
NPE renaming package
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=83398">83398</a>
[compiler][1.5] compiler allows adding Object to List<? super Number>
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=83219">83219</a>
NPE in ProblemReporter with duplicate abstract enum methods
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=83860">83860</a>
[1.5] java.lang.VerifyError with Enums
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=83847">83847</a>
[compiler][1.5] can create annonymous class of an enum
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=83236">83236</a>
ClassCastException using code assist in a javadoc comment
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=83822">83822</a>
Classes at root of project not found in Open Type dialog
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=83593">83593</a>
Rename of enum type does not update constructor / throws ClassCastException
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=83225">83225</a>
[1.5] incorrect(?) compiler errors with type inference
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=83127">83127</a>
[1.5][javadoc][dom] Wrong / strange bindings for references in javadoc to methods with type variables as parameter types
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=80257">80257</a>
[1.5][javadoc][dom] Type references in javadocs should have generic binding, not raw
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=83713">83713</a>
[search] IAE while searching reference to parameterized type
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=83684">83684</a>
[formatting] Formatting codes like A extends B.C&lt;Object&gt; has no effect.
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=83599">83599</a>
CU dirty after move refactoring


<a name="v_533"></a>
<p><hr><h1>
Eclipse Platform Build Notes&nbsp;<br>
Java Development Tooling Core</h1>
Eclipse SDK 3.1M5 - 25th January 2005
<br>Project org.eclipse.jdt.core v_533
(<a href="http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.jdt.core/?only_with_tag=v_533">cvs</a>).
<h2>
What's new in this drop</h2>
<ul>
<li>Search engine is now able to find references and declarations to ITypeParameter.<br>
To perform this kind of search, clients need to create a pattern using <code>SearchPattern.createPattern(IJavaElement,int,int)</code>
providing searched ITypeParameter for IJavaElement parameter.
</li>
<li><code>TypeParameter#resolveBinding()</code> now returns an <code>ITypeBinding</code> instead of
     an <code>IBinding</code></li>
<li>Java model operations have been ported off the deprecated JDOM. They now use AST rewrite. This enables
     these operations on local and anonymous types, enumerations and annotation types.</li>
</ul>

<h3>Problem Reports Fixed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=83489">83489</a>
[select] Code select returns IType instead of ITypeParameter on method parameters types
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=83536">83536</a>
"Incompatible argument to function" at vararg function
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=83300">83300</a>
[1.5] ClassCastException in #getJavaElement() on binding of annotation element
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=81190">81190</a>
[1.5][search] no search for type parameters - SearchPattern is null
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=82671">82671</a>
[compiler][1.5]Protected field not visible to subclass in different package when having a class parameter
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=83210">83210</a>
Unidentical ITypeBindings for same type from same AST from reconcile
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=80800">80800</a>
getErasure() of ITypeBinding and IMethodBinding don't match the JLS
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=83304">83304</a>
[1.5][search] Erasure match doesn't work for binary parameterized types
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=83078">83078</a>
Auto formating multiple classes has errors
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=25800">25800</a>
Class file editor uses non-standard modifier order
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=82859">82859</a>
[1.5] void.class is incompatible with Void.TYPE
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=83297">83297</a>
[1.5] Annotation bindings don't provide their declared elements/methods
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=43483">43483</a>
[model] Can not add method to local type
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=77894">77894</a>
[model] Remove dependency to old JDOM in JavaModel implementation
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=83161">83161</a>
Can't access public field from private subclass
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=78151">78151</a>
'Insert single proposals automatically' should not insert without prefix
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=83096">83096</a>
[1.5][compiler] NPE for class with duplicate type parameter
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=82547">82547</a>
[1.5][compiler] NullPointerException compiling invalid source
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=83098">83098</a>
IBinding#isEqualTo(..) does not compare occurrence count of local variables


<a name="v_532"></a>
<p><hr><h1>
Eclipse Platform Build Notes&nbsp;<br>
Java Development Tooling Core</h1>
Eclipse SDK 3.1M5 - 18th January 2005
<br>Project org.eclipse.jdt.core v_532
(<a href="http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.jdt.core/?only_with_tag=v_532">cvs</a>).
<h2>
What's new in this drop</h2>
<ul>
<li>Support for generic methods/constructors search has been added to SearchEngine (see bug <a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=75642">75642</a>).<br>
User can now search for declaration and/or references to generic methods/constructors or parameterized methods/constructors (like <code>public &lt;U&gt; void foo(U u){}</code> or <code>&lt;String&gt;foo("")</code> for example).
This search can be done either selecting a JavaElement or using Java Search dialog.
</li>
<li>Added new API <code>JavaConventions#validateTypeVariableName(String)</code>.</li>
<li>Added new API <code>JavaCore#newTypeHierarchy(IRegion,WorkingCopyOwner,IProgressMonitor)</code> that creates a hierarchy
     independently of a project.</li>
</ul>

<h3>Problem Reports Fixed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=83032">83032</a>
VerifyError for anonymous declaration using variable arguments
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=75642">75642</a>
[1.5][search] Methods and constructor search does not work with generics
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=83013">83013</a>
[5.0] TypeDeclaration after AnnotationTypeDeclaration has wrong source range
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=82985">82985</a>
Static imports can't resolve bindings
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=83011">83011</a>
[5.0] TypeName of an Annotation has no binding
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=79144">79144</a>
[1.5][compiler] generic type checking not performed for method return array types
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=82844">82844</a>
[1.5] Array type as type variable bound gives internal compiler error
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=81590">81590</a>
[1.5][compiler] Iteration over nested arrays is broken
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=82439">82439</a>
[compiler] [1.5] internal compiler reports type mismatch
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=80945">80945</a>
[1.5] Code assist does not offer static fields and methods from static imports
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=82590">82590</a>
[compiler] [1.5]  internal compiler reports method not implemented
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=81721">81721</a>
[compiler][1.5] Correct use of generic interfaces give compiler error
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=82754">82754</a>
[1.5] too many methods allowed by static import
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=80745">80745</a>
[1.5][compiler] Two interfaces with methods with compatible return types are compatible
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=80736">80736</a>
[1.5] Compiler doesn't check that bounds have methods with same return type
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=73535">73535</a>
[1.5][model] Method to validate type parameter names missing in JavaConventions
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=82740">82740</a>
[assist] NPE inside CompletionEngine with 1.5 code if compliance source level is 1.4
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=80098">80098</a>
newTypeHierarchy(IRegion,...) should not be constrained to an IJavaProject
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=82510">82510</a>
[compiler] Util.bind(...) methods should use MessageFormat
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=81706">81706</a>
[1.5] Static import of static method produces compile error
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=82670">82670</a>
[5.0] wrong source range for VariableDeclarationFragment with ArrayCreation
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=80743">80743</a>
[compiler] Interface cannot define a method from Object with a different return type
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=82616">82616</a>
CharacterLiteral.charValue fails for '\000'
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=77283">77283</a>
Incremental and full builds produce different problem markers for same duplicate type error
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=74394">74394</a>
[compiler] Provide XML output option for Eclipse compiler
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=81719">81719</a>
[compiler][1.5] Correct use of generic abstract classes give compiler error
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=81945">81945</a>
[compiler] Enum and Duplicate case error
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=82542">82542</a>
Internal error during AST creation
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=82558">82558</a>
[select] Text selection fail on constructor when parameters are parameterized types
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=78232">78232</a>
[1.5][generics]Erroneous warning implementing generic method from interface
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=82504">82504</a>
[compiler][1.5] ClassCastException when parsing a CastExpression between an array type and a type variable


<a name="v_531"></a>
<p><hr><h1>
Eclipse Platform Build Notes&nbsp;<br>
Java Development Tooling Core</h1>
Eclipse SDK 3.1M5 - 11th January 2005
<br>Project org.eclipse.jdt.core v_531
(<a href="http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.jdt.core/?only_with_tag=v_531">cvs</a>).
<h2>
What's new in this drop</h2>
<ul>
<li>Added API <code>ASTParser#createBindings(IJavaElement[],IProgressMonitor)</code> to create the DOM bindings for the given 
     Java elements.</li>
<li>Fix for <a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=82004">bug 82004</a> required the index version to be incremented. 
     Indexes will be automatically regenerated upon subsequent search queries (accounting for indexing notification in search progress dialogs).
</li>
<li>Merged problem <code>IProblem.UnnecessaryArgumentCast</code> with <code>IProblem.UnnecessaryCast</code> since it provided little additional value,
and was rather perceived as confusing. From now on, only <code>IProblem.UnnecessaryCast</code> is reported.
</ul>

<h3>Problem Reports Fixed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=82514">82514</a>
[1.5][javadoc] Problem with generics in javadoc
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=82382">82382</a>
IMethodBinding#getJavaElement() for method m(T t) in parameterized type Gen&lt;T&gt; is null
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=81923">81923</a>
In certain cases generics seens to be applied before autoboxing
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=82250">82250</a>
[5.0] don't allow duplicate interface bounds
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=82432">82432</a>
[1.5] VerifyError with Autoboxing
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=82187">82187</a>
[compiler] [1.5] internal compiler reports bound mismatch
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=82159">82159</a>
[compiler][1.5] Eclipse vs. javac: Differences when creating generic inner types
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=81535">81535</a>
[compiler] compliance 1.5 should work with source 1.4 on 1.5 libraries
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=82137">82137</a>
[select] Code resolve doesn't work on static imports [5.0]
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=82102">82102</a>
Should not compile related methods with different signatures but same erasures
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=76761">76761</a>
[model] ImportContainer.hasChildren() should not return true
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=79334">79334</a>
[classpath] Build path info not updated properly
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=82217">82217</a>
[compiler][5.0] switch on enum allows non enum constants
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=73081">73081</a>
Inconsistant type cast warning.
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=81856">81856</a>
quote problems in property files (JDT)
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=68823">68823</a>
[dom] Ctrl+C command fails when "assert" is enabled
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=81824">81824</a>
A generic interface is allowed to be implemented more than once - contrary to Java language specification
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=81571">81571</a>
Autoboxing ambiguousy
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=81568">81568</a>
[1.5][compiler] Covariant return types fails when an interface extends another interface
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=82216">82216</a>
IVariableBinding: Need to know if it is enum constant or normal var
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=78520">78520</a>
[model] IType#getSuperInterfaceTypeSignatures() doesn't include type arguments
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=82253">82253</a>
[5.0] Signature#getSimpleName(String) inserts superfluous whitespace characters
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=78698">78698</a>
[format] Space before ? should default to false
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=81063">81063</a>
[model] Clarify the problem requestor paramter in becomeWorkingCopy
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=82004">82004</a>
[model][5.0] 3.1M4 type hierarchy for generic interface
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=82141">82141</a>
AST: Missing Bindings on annotations
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=82140">82140</a>
AST: Annotation node not in AST
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=82136">82136</a>
Interface with own Annotations not accessible when used as a library
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=81727">81727</a>
[1.5] Redundant warning of parameterized return type
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=81762">81762</a>
[model] AIOOB in breakpoints view

<a name="v_530"></a>
<p><hr><h1>
Eclipse Platform Build Notes&nbsp;<br>
Java Development Tooling Core</h1>
Eclipse SDK 3.1M5 - 4th January 2005
<br>Project org.eclipse.jdt.core v_530
(<a href="http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.jdt.core/?only_with_tag=v_530">cvs</a>).
<h2>
What's new in this drop</h2>
<ul>
<li> Added optional compiler diagnosis reporting when boxing/unboxing conversion is performed. Corresponding problem IDs are:
<code>IProblem.BoxingConversion</code> and <code>IProblem.UnboxingConversion</code>.
<pre>
* COMPILER / Reporting Boxing/Unboxing Conversion
*    When enabled, the compiler will issue an error or a warning whenever a boxing or an unboxing
*    conversion is performed.
*     - option id:         "org.eclipse.jdt.core.compiler.problem.autoboxing"
*     - possible values:   { "error", "warning", "ignore" }
*     - default:           "ignore"
</pre>
</li>	 
<li> Renamed unsafe type operation optional problem into unchecked type operation, to better match notion of
"unchecked" warning from JLS 3rd edition.
<pre>
* COMPILER / Reporting Unchecked Type Operation
*    When enabled, the compiler will issue an error or a warning whenever an operation involves generic types, and potentially
*    invalidates type safety since involving raw types (e.g. invoking #foo(X&lt;String&gt;) with arguments  (X)).
*     - option id:         "org.eclipse.jdt.core.compiler.problem.uncheckedTypeOperation"
*     - possible values:   { "error", "warning", "ignore" }
*     - default:           "warning"
</pre>
</li>
</ul>

<h3>Problem Reports Fixed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=81556">81556</a>
[search] correct results are missing in java search
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=81825">81825</a>
[1.5][compiler] Internal compiler error
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=71195">71195</a>
[model] NullPointerException @ org.eclipse.jdt.internal.core.Buffer.removeBufferChangedListener
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=79883">79883</a>
[prefs] -pluginCustomization doesn't pick up compiler preferences
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=81718">81718</a>
[1.5] "Static import never used" warning disappears when variable of same name is declared
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=81971">81971</a>
[1.5][compiler] compiler allows use of void type as method arguments
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=82053">82053</a>
generic semantics have some problems
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=82088">82088</a>
[search][javadoc] Method parameter types references not found in @see/@link tags
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=79766">79766</a>
[model] NPE in CancelableNameEnvironment
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=81417">81417</a>
[dom] getJavaElement() throws a NPE for WildcardBinding
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=81724">81724</a>
[1.5] NullPointerException in FieldBinding.canBeSeenBy when using static import
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=80223">80223</a>
[search] Declaration search doesn't consider visibility to determine overriding methods
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=81084">81084</a>
[1.5][search]Rename field fails on field based on parameterized type with member type parameter
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=80890">80890</a>
[search] Strange search engine behaviour
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=81376">81376</a>
[search] Clarify effects of R_ERASURE_MATCH for searches other than TYPE
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=81618">81618</a>
[1.5][compiler] unsafe type operation warning
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=78122">78122</a>
[compiler] Detect and visually indicate auto-boxing in Jdk1.5 code
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=78592">78592</a>
[1.5][compiler] missing unchecked cast warning
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=78591">78591</a>
[1.5][compiler] missing unchecked cast warning


<a name="v_529"></a>
<p><hr><h1>
Eclipse Platform Build Notes&nbsp;<br>
Java Development Tooling Core</h1>
Eclipse SDK 3.1M4 - 16th December 2004 - 3.1 MILESTONE 4
<br>Project org.eclipse.jdt.core v_529
(<a href="http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.jdt.core/?only_with_tag=v_529">cvs</a>).
<h2>
What's new in this drop</h2>
<ul>
</ul>

<h3>Problem Reports Fixed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=81258">81258</a>
IMethodBinding#getJavaElement() is null with inferred method parameterization
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=80765">80765</a>
[1.5][generics] Invalid class files generated, compiler strange behaviour 
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=81317">81317</a>
ClasspathTests.java and GenericTypeTest.java could not be read (illegal characters)
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=81262">81262</a>
[Java 5] Verification error when creating anonymous enum subtypes
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=80964">80964</a>
[1.5] Annotations with RetentionPolicy.RUNTIME are lost after a rebuild
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=80028">80028</a>
Ambiguous method error where javac succeeds
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=80739">80739</a>
[1.5] Two methods ends up with the same signatures
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=81134">81134</a>
[dom] [5.0] NPE when creating AST
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=81023">81023</a>
[1.5] Wrong position for class instance creation with type parameters
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=81141">81141</a>
CCE in ProblemBinding when using annotations
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=80544">80544</a>
[1.5][annot]error on @Override of abstract methods


<a name="v_528"></a>
<p><hr><h1>
Eclipse Platform Build Notes&nbsp;<br>
Java Development Tooling Core</h1>
Eclipse SDK 3.1M4 - 14th December 2004
<br>Project org.eclipse.jdt.core v_528
(<a href="http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.jdt.core/?only_with_tag=v_528">cvs</a>).
<h2>
What's new in this drop</h2>
<ul>
</ul>

<h3>Problem Reports Fixed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=80957">80957</a>
NPE using code assist for unresolved type
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=80960">80960</a>
[dom] NPE in ASTConverter#convert(...)

<a name="v_527"></a>
<p><hr><h1>
Eclipse Platform Build Notes&nbsp;<br>
Java Development Tooling Core</h1>
Eclipse SDK 3.1M4 - 14th December 2004
<br>Project org.eclipse.jdt.core v_527
(<a href="http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.jdt.core/?only_with_tag=v_527">cvs</a>).
<h2>
What's new in this drop</h2>
<ul>
</ul>

<h3>Problem Reports Fixed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=80918">80918</a>
[1.5][search] ClassCastException when searching for references to binary type
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=80914">80914</a>
[1.5][search] SearchPattern R_EQUIVALENT_MATCH matchRule does not work properly
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=80910">80910</a>
[javadoc] Invalid missing reference warning on @see or @link tags

<a name="v_526"></a>
<p><hr><h1>
Eclipse Platform Build Notes&nbsp;<br>
Java Development Tooling Core</h1>
Eclipse SDK 3.1M4 - 13th December 2004
<br>Project org.eclipse.jdt.core v_526
(<a href="http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.jdt.core/?only_with_tag=v_526">cvs</a>).
<h2>
What's new in this drop</h2>
<ul>
<li>
Initial support for search on annotations has been implemented. Declarations or references to annotation types are now found by search engine.<br>
However, it is not currently able to find annotation member (fields or methods). This should be done for next milestone.
</li>
<li>
SearchPattern now accept two new flags for match rule: R_ERASURE_MATCH and R_EQUIVALENT_MATCH (see bug <a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=79790">79790</a>).<br>
<pre>
	/**
	 * Match rule: The search pattern matches search results as raw types or parameterized types with same erasure.
	 * Example:
	 *	- pattern: List&lt;Exception&gt;
	 *	- match: List&lt;Object&gt;
	 * Can be combined to all other match rules, e.g. {@link #R_CASE_SENSITIVE} | {@link #R_ERASURE_MATCH}
	 * This rule is not activated by default, so raw types or parameterized types with same erasure will not be found
	 * for pattern List&lt;String&gt;,
	 * Note that with this pattern, the match selection will be only on the erasure even for parameterized types.
	 * @since 3.1
	 */
	public static final int R_ERASURE_MATCH = 16;
	/**
	 * Match rule: The search pattern matches search results as raw types or parameterized types with equivalent type parameters.
	 * Example:
	 *	- pattern: List&lt;Exception&gt;
	 *	- match:
	 * 		+ List&lt;? extends Throwable&gt;
	 * 		+ List&lt;? super RuntimeException&gt;
	 * 		+ List&lt;?&gt;
	 * Can be combined to all other match rules, e.g. {@link #R_CASE_SENSITIVE} | {@link #R_EQUIVALENT_MATCH}
	 * This rule is not activated by default, so raw types or equivalent parameterized types will not be found
	 * for pattern List&lt;String&gt;,
	 * This mode is overridden by {@link  #R_ERASURE_MATCH} as erasure matches obviously include equivalent ones.
	 * That means that pattern with rule set to {@link #R_EQUIVALENT_MATCH} | {@link  #R_ERASURE_MATCH}
	 * will return same results than rule only set with {@link  #R_ERASURE_MATCH}.
	 * @since 3.1
	 */
	public static final int R_EQUIVALENT_MATCH = 32;
</pre>
Added new API method to make this flag settable even while creating pattern using a IJavaElement:
<ul>
<li><code>SearchPattern#createPattern(IJavaElement element, int limitTo, int matchRule)</code></li>
</ul>
</li>
<li>
SearchMatch now has a rule field which shows the rule used while reporting the match (initial implementation for bug <a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=79866">79866</a>).<br>
Added new API methods to access this field:
<ul>
<li><code>SearchMatch#getRule()</code><br></li>
<li><code>SearchMatch#setRule(int)</code></li>
</ul>
</li>
<li>Added API IType#getFullyQualifiedParameterizedName() that shows the type parameter/arguments if the type is generic/parameterized.</li>
<li>Added support in Java model for annotation types and annotations.</li>
<li>Support for indexing annotation types required the index version to be incremented. 
      Indexes will be automatically regenerated upon subsequent search queries (accounting for indexing notification in search progress dialogs).</li>
<li>Added compiler support for autoboxing </li>
<li>Code Assist now works for annotations. When performing a completion inside an annotation name,
 proposals are possibles types and annotations types are more relevant than other types</li>
<li>Code Select now works for annotations and annotation methods in correct code.</li>
<li>Recovery now works for annotation type declaration and annotation method declaration</li>
</ul>

<h3>Problem Reports Fixed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=80338">80338</a>
getReturnType() throws a NullArgumentException
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=80788">80788</a>
Interface and annotation member types are implicitiely static
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=80780">80780</a>
IncompatibleClassChangeError for Annotations
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=80714">80714</a>
Strange syntax diagnosis with incorrect annotations
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=80699">80699</a>
Code Select does not work for annotations inside class file
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=79790">79790</a>
[1.5][search] Need to distinguish between raw and restricted search in the case of instantiated types
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=80672">80672</a>
[1.5] Annotation change does not trigger recompilation
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=80466">80466</a>
ITypeBinding#getJavaElement() is null for declaration of java.util.List&lt;E&gt;
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=80083">80083</a>
VerifyError on String-Operator += when using generics
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=77430">77430</a>
[1.5] case statements with enum values not correctly supported
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=80597">80597</a>
[compiler] NPE while reporting array empty dimensions problem
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=80126">80126</a>
[assist] CompletionRequestor.setIgnored should allow POTENTIAL_METHOD_DECLARATION
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=80602">80602</a>
Javadoc of ASTNode#getStartPosition() contains dangling reference to ASTParser 
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=80455">80455</a>
[5.0] ITypeBinding.canAssign not aware of type boxing
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=80579">80579</a>
NPE is ITypeBinding.isCastCompatible
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=80328">80328</a>
[annotation] annotation problem type should implements java,lang.annotation.Annotation
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=79953">79953</a>
AST Creation Error while editing Java file
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=78849">78849</a>
[1.5][compiler] Java 1.5 Boxing and Character?
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=79641">79641</a>
boolean autoboxing does not work with Object varargs
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=80384">80384</a>
Cannot decode package signature from CompletionProposal
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=79254">79254</a>
autoboxing does not work in combination with downcasting
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=80045">80045</a>
NPE in MethodBinding.signature
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=80378">80378</a>
Javadoc of CompletionProposal#getFlags() needs polish
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=80208">80208</a>
[1.5][compiler] NPE trying to resolve single static import
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=79803">79803</a>
[1.5][search] Search for references to type A reports match for type variable A
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=79860">79860</a>
[1.5][search] Search doesn't find type reference in type parameter bound

<a name="v_525"></a>
<p><hr><h1>
Eclipse Platform Build Notes&nbsp;<br>
Java Development Tooling Core</h1>
Eclipse SDK 3.1M4 - 7th December 2004
<br>Project org.eclipse.jdt.core v_525
(<a href="http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.jdt.core/?only_with_tag=v_525">cvs</a>).
<h2>
What's new in this drop</h2>
<ul>
<li> Compiler now checks annotation location according to @Target meta-annotation</li>
<li> Compiler now checks method overriding according to @Override annotation</li>
<!--
<li> Added compiler support to flag inconsistent null checks (using interprocedural flow analysis)
<pre>
* COMPILER / Reporting Inconsistent null Checks
*    When enabled, the compiler will issue an error or a warning whenever assumption were made on a variable
*    with respect to holding null/non-null values, but the assumption is not followed in a consistent manner.
*    Situations include:
*         - if variable was assumed to be null and further used to access field or methods
*         - if variable was assumed to be null or non-null and further tested for null cases.
*         
*     - option id:         "org.eclipse.jdt.core.compiler.problem.inconsistentNullCheck"
*     - possible values:   { "error", "warning", "ignore" }
*     - default:           "warning"
</pre>
</li>
-->
</ul>

<h3>Problem Reports Fixed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=79891">79891</a>
[GENERICS] Array of Inner Class creation works on eclipse, but fails to compile with sun jdk
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=79809">79809</a>
[1.5][dom][javadoc] Need better support for type parameter Javadoc tags
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=79904">79904</a>
[1.5][dom][javadoc] TagElement range not complete for type parameter tags
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=80144">80144</a>
[1.5] Mutually-recursive type bounds interfere with inheritance of generic type
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=76751">76751</a>
[1.5][annot] Can't use annotation classes as argument to generic methods
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=80014">80014</a>
@Retention(RetentionPolicy.RUNTIME) is ignored for annotations
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=80114">80114</a>
[1.5][Regression] Annotation type cannot have constructors
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=80021">80021</a>
[1.5] CCE in VariableBinding.getJavaElement()
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=80041">80041</a>
IVariableBinding#isEqualTo(..) doesn't tell parameters from different methods apart
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=77463">77463</a>
[1.5][annot] Wrong error marker text for type annotation
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=79967">79967</a>
NPE in WildcardBinding.signature with Mark Occurrences in Collections.class
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=79974">79974</a>
[1.5] Wrong javadoc for TypeDeclarationStatement 
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=79795">79795</a>
Code formatter doesn't handle enums well.
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=79673">79673</a>
[1.5] Wrong method binding
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=79797">79797</a>
[1.5] Inconsistent classfile - moving code around
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=79847">79847</a>
[1.5][annot] Array type cannot have two or more dimensions
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=79844">79844</a>
[1.5][annot] when int value can be contained in a short, the cast is not required
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=79848">79848</a>
[1.5][annot] Array of java.lang.Class is a legal value for the type of an annotation type member declaration
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=79779">79779</a>
Code Formatter fails with static imports
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=79668">79668</a>
[1.5][annot] implicit wrapping in array type
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=78915">78915</a>
[1.5][compiler] enum cannot be explicitly abstract
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=78916">78916</a>
[1.5][compiler] abstract methods in an enum declaration must be implemented for each constant
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=79690">79690</a>
Find declaring node doesn't work for type variables
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=79775">79775</a>
[dom]ClassCastException inside ASTConverter when opening a java file
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=79752">79752</a>
Need access to type binding of anonymous enumerations
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=79772">79772</a>
Internal compiler error with I20041123/24/30
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=79136">79136</a>
API clarification for *Binding#getErasure(): why not a "general back-link"?
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=76318">76318</a>
[tests] Cannot run ASTModelBridgeTests if workspace path segment count is 1
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=78914">78914</a>
[1.5][compiler] super() cannot be called in the constructor of an enum declaration

<a name="v_524"></a>
<p><hr><h1>
Eclipse Platform Build Notes&nbsp;<br>
Java Development Tooling Core</h1>
Eclipse SDK 3.1M4 - 30th November 2004
<br>Project org.eclipse.jdt.core v_524
(<a href="http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.jdt.core/?only_with_tag=v_524">cvs</a>).
<h2>
What's new in this drop</h2>
<ul>
<li>Support for generic types search has been added to SearchEngine (see bug <a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=75641">75641</a>).<br>
User can now search for declaration and/or references to generic types or parameterized types (like <code>public class List&lt;T&gt; {}</code> or <code>List&lt;String&gt;</code> for example).
This search can of course be done either selecting a JavaElement (see following point) or using Java Search dialog.
</li>
<li>Support for generic types and generic methods selection has been added inside CodeSelect.
When the result is a parameterized type reference, the returned JavaElement is a 
<code>ParameterizedSourceType</code> or <code>ParameterizedBinaryType</code>.
When the result is a parameterized method invocation, the returned JavaElement is a 
<code>ParameterizedSourceMethod</code> or <code>ParameterizedBinaryMethod</code>.
When the result is a field access to a generic type's field, the returned JavaElement is a 
<code>ParameterizedSourceField</code> or <code>ParameterizedBinaryField</code>.
</li>
<li>The internal Java model cache now adapts to the number of elements in the workspace. For example if a project
      has 1000 package fragment roots, the space limit of the cache of roots will increase to 1000. This size is reset to
      its default when the project is closed.
</li>
<li>Added the following compatibility rules APIs:
     <ul>
     <li><code>ITypeBinding#isAssignmentCompatible(ITypeBinding)</code></li>
     <li><code>ITypeBinding#isCastCompatible(ITypeBinding)</code></li>
     <li><code>ITypeBinding#isSubTypeCompatible(ITypeBinding)</code></li>
     <li><code>IMethodBinding#overrides(IMethodBinding)</code></li>
     </ul>
</li>
</ul>

<h3>Problem Reports Fixed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=79349">79349</a>
[1.5] Annotation with default value
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=79756">79756</a>
Erroneous compile error "The local variable may not have been initialized"
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=79635">79635</a>
NPE when asking an IMethodBinding whether it overrides itself
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=79667">79667</a>
[1.5][annot] value in member pair value must be a constant expression
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=79666">79666</a>
[1.5][annot] Default value of annotation type member declaration must be assignment compatible with return type
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=79663">79663</a>
[1.5][annot] Modifiers for field declaration must be public  in an annotation type declaration
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=79665">79665</a>
[1.5][annot] Field declarations inside annotation type declaration must be constant
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=79512">79512</a>
[1.5] Extract Method must not generate return type with type variable [refactoring][1.5]
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=79609">79609</a>
ITypeBinding#isEqualTo(..) thinks independent method type parameters are equal
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=79610">79610</a>
IVariableBinding#getJavaElement() returns null for local variables
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=75641">75641</a>
[1.5][search] Types search does not work with generics
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=79612">79612</a>
ClassCastException on referenceTypeBinding.isEqualTo(primitiveTypeBinding)
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=79545">79545</a>
Eclipse vs Sun JDK: different class files from the same source code
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=78293">78293</a>
[1.5][compiler] Should flag implementing twice generic interface with different arguments
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=79544">79544</a>
ITypeBinding#isEqualTo(..) does not compare type arguments
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=79570">79570</a>
[1.5][DOM] v4 type binding should not be parameterized
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=78087">78087</a>
[dom] TypeBinding#getJavaElement() throws IllegalArgumentException for parameterized or raw reference to binary type
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=78183">78183</a>
TypeBinding#getQualifiedName() does not honor Javadocs
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=79109">79109</a>
[1.5][DOM] AnnotationTypeMemberDeclaration.resolveBinding() might return a IMethodBinding
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=79395">79395</a>
IllegalArgumentException in CompilationUnitResolver.parse (line 323)
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=77283">77283</a>
Incremental and full builds produce different problem markers for same duplicate type error
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=79263">79263</a>
ClassCastException in SourceElementParser
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=79460">79460</a>
IMethodBinding of non-generic method says isRawMethod()==true
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=79390">79390</a>
[1.5][compiler] ClassCastException creating a generic local class
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=77806">77806</a>
[1.5][dom] SimpleType AST node of List in List&lt;String&gt; has no type binding
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=79362">79362</a>
IllegalArgumentException during "Java AST creation"
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=75785">75785</a>
Missing binding on non-visible type
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=79163">79163</a>
[compiler] Dependency on indirectly referenced types not correctly computed
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=77272">77272</a>
[builder] Delta compilation fails to notice errors when removing an interface
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=79271">79271</a>
ITypeBinding#isEqualTo(..) returns true when comparing ArrayList&lt;Integer&gt; to its erasure
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=77388">77388</a>
[compiler] Reference to constructor includes space after closing parenthesis
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=78931">78931</a>
[select] cannot select qualified type name without the qualified package name
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=79267">79267</a>
[search] Refactoring of static generic member fails partially
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=72258">72258</a>
[model] Should be able to dynamicaly set the size of Java model cache

<a name="v_523"></a>
<p><hr><h1>
Eclipse Platform Build Notes&nbsp;<br>
Java Development Tooling Core</h1>
Eclipse SDK 3.1M4 - 23rd November 2004
<br>Project org.eclipse.jdt.core v_523
(<a href="http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.jdt.core/?only_with_tag=v_523">cvs</a>).
<h2>
What's new in this drop</h2>
<ul>
<li>Compiler is now able to parse 1.5 syntax in Javadoc comments (see bugs <a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=70891">70891</a>
and <a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=70892">70892</a>).<br>
Note: these changes only apply to <a href="http://java.sun.com/j2se/1.5.0/docs/tooldocs/solaris/javadoc.html#@param">@param</a> and
<a href="http://java.sun.com/j2se/1.5.0/docs/tooldocs/solaris/javadoc.html#{@value}">{@value}</a> tags.
</li>
<li>Batch AST creation API was finalized. See <code>ASTParser#createASTs(ICompilationUnit[],String[],ASTRequestor,IProgressMonitor)</code>
     and <code>ASTRequestor</code>.
</li>
</ul>

<h3>Problem Reports Fixed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=79110">79110</a>
[1.5] Missing attribute for local and anonymous classes
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=78057">78057</a>
[dom] Can IBinding#getKey() return null?
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=78757">78757</a>
MethodBinding.getJavaElement() returns null
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=78930">78930</a>
ITypeBinding#getJavaElement() throws NPE for type variable
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=73675">73675</a>
[dom] Need AST creation pipeline
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=73971">73971</a>
[1.5] Ambiguous method error with overloaded parameterized methods
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=78581">78581</a>
[search] NPE while searching
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=79108">79108</a>
[1.5][DOM] enumConstantDeclaration.resolveBinding() always returns null
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=77645">77645</a>
[1.5][dom] navigate from local var binding to declaring method binding
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=79098">79098</a>
[dom] [1.5] EnhancedForStatement#resolveBinding() is superfluous
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=77562">77562</a>
[1.5] overriding methods with more specific generic return types causes compile errors
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=79091">79091</a>
[compiler] Should report invalid type only on the name
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=77093">77093</a>
[search] No references found to method with member type argument
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=77184">77184</a>
[1.5][select] Code select does not select enum declarations
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=78801">78801</a>
[assist] NPE attempting to code assist for parameters
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=78128">78128</a>
Error deleting project with jar file referenced by other project
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=78275">78275</a>
[recovery] NPE in GoToNextPreviousMemberAction with syntax error
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=70891">70891</a>
[1.5][javadoc] Compiler should accept new 1.5 syntax for @param
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=78858">78858</a>
[1.5] Internal compiler error: java.lang.NullPointerException at ParameterizedTypeBinding.getMethods
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=78905">78905</a>
[1.5][compiler] Wrong hex decimal floating point literal is not rejected
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=77630">77630</a>
[compiler] no error when importing package inside static import
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=78075">78075</a>
normal and static import of the same class doesn't work correctly
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=78056">78056</a>
[1.5] static import of a static member of a non static member type must be allowed
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=77955">77955</a>
[1.5] member classes of super class are not allowed inside static import
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=78082">78082</a>
[1.5][search] FieldReferenceMatch in static import should not include qualifier
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=78714">78714</a>
"Convert local to field" should know about prefixes
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=75814">75814</a>
Inconsistent results when adding a breakpoint to class file with src attached
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=78190">78190</a>
[dom] Add ast creation performance tests
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=78189">78189</a>
[model] Add hierarchy performance tests
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=78188">78188</a>
[search] Add search performance test
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=78740">78740</a>
IDOMType.getFlags() fails to represent interface flags correctly.
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=78735">78735</a>
IBinding#isEqualTo(..) fails with a field that hides another
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=78232">78232</a>
[1.5][generics]Erroneous warning implementing generic method from interface
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=78140">78140</a>
[1.5][compiler] Unchecked conversion warning when overriding a generic method
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=77861">77861</a>
[1.5] Illegal class file generated with duplicate methods
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=77785">77785</a>
[1.5][compiler] Generics: missing name clash error
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=77496">77496</a>
[1.5] compiler doesn't detect illegal method overriding due to non-matching return type parameters
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=74936">74936</a>
[1.5] Compiler does not warn for missing implementation of Map.putAll abstract method
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=74594">74594</a>
[1.5] ClassFormat error when running this example


<a name="v_522"></a>
<p><hr><h1>
Eclipse Platform Build Notes&nbsp;<br>
Java Development Tooling Core</h1>
Eclipse SDK 3.1M4 - 16th November 2004
<br>Project org.eclipse.jdt.core v_522
(<a href="http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.jdt.core/?only_with_tag=v_522">cvs</a>).
<h2>
What's new in this drop</h2>
<ul>
<li>In 1.5 compliant mode, T[].clone() invocations are considered to be of type T[], as opposed to Object
previously. </li>

<li>New ComletionProposal kind <code>METHOD_NAME_REFERENCE</code>.
This completion is a reference to a method name.
<br>This kind of completion might occur in a context like
<code>"import java.lang.Math.co^"</code> and complete it to
<code>"import java.lang.Math.cos;"</code>.
</li>
</ul>

<h3>Problem Reports Fixed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=77808">77808</a>
[1.5][dom] type bindings for raw List and List&lt;E&gt; have same key
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=78704">78704</a>
[1.5][compiler]Internal compiler error in org.eclipse.jdt.internal.compiler.lookup.ReferenceBinding
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=78663">78663</a>
[1.5][compiler] Generics, assign error with equal types
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=78649">78649</a>
[1.5] ITypeBinding.isUpperBound wrong
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=77398">77398</a>
[1.5] Organize imports does not honor enum types [code manipulation]
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=78464">78464</a>
[1.5][compiler] bad args_size attribute value for Enum constructor
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=78104">78104</a>
[1.5][compiler] java.lang.Object.clone() implicitely needs an implicit cast to receiver type
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=78321">78321</a>
Problem with Enum.values in static initializer.
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=78310">78310</a>
[dom] [1.5] improve tests for IBindings
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=78015">78015</a>
[1.5][compiler] AbstractMethodError
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=78266">78266</a>
[dom] [1.5] API of ITypeBinding: no isGenericType() query
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=64310">64310</a>
[1.5][model] Signature implementation does not fully support generic parameterized type names
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=77968">77968</a>
[compiler] ArrayIndexOutOfBoundsException from parser when using Java editor
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=77573">77573</a>
[1.5][assist] Code assist does not propose static fields
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=78008">78008</a>
[1.5][compiler] java.lang.VerifyError on shortcut if-else
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=78018">78018</a>
[1.5][javadoc] Missing Javadoc comments Problem for enums
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=73784">73784</a>
[search] java search internal error
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=77644">77644</a>
[dom] AST node extended positions may be wrong while moving
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=78160">78160</a>
Invalid classfile for problem type

<a name="v_521"></a>
<p><hr><h1>
Eclipse Platform Build Notes&nbsp;<br>
Java Development Tooling Core</h1>
Eclipse SDK 3.1M4 - 9th November 2004
<br>Project org.eclipse.jdt.core v_521
(<a href="http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.jdt.core/?only_with_tag=v_521">cvs</a>).
<h2>
What's new in this drop</h2>
<ul>
<li><code>ICompletionRequestor</code> was deprecated. Use <code>CompletionRequestor</code> instead.
</li>
</ul>

<h3>Problem Reports Fixed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=77359">77359</a>
[1.5][dom] Pull up of type declaration facilities
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=76132">76132</a>
[1.5][wildcards] Bound mismatch incorrectly diagnosed with type variable quantification
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=78139">78139</a>
[1.5][compiler] spurious type mismatch problems with generics.
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=77602">77602</a>
[javadoc] "Only consider members as visible as" is does not work for syntax error
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=77510">77510</a>
[javadoc] compiler wrongly report deprecation when option "process javadoc comments" is not set
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=78027">78027</a>
[1.5] Generics, bound mismatch
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=78089">78089</a>
[1.5] [compiler] Annotations are not accepted inside interfaces
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=74119">74119</a>
[1.5] Unexpected compile error with bound types with Eclipse 3.1M1.
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=78049">78049</a>
[1.5][compiler] Missed error for generic array creation.
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=73970">73970</a>
[1.5][dom] overloaded parameterized methods have same method binding key
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=77422">77422</a>
[1.5][compiler] ArrayIndexOutOfBoundsException with vararg constructor of generic superclass

<a name="v_520"></a>
<p><hr><h1>
Eclipse Platform Build Notes&nbsp;<br>
Java Development Tooling Core</h1>
Eclipse SDK 3.1M3 - 4th November 2004 - 3.1 MILESTONE 3
<br>Project org.eclipse.jdt.core v_520
(<a href="http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.jdt.core/?only_with_tag=v_520">cvs</a>).
<h2>
What's new in this drop</h2>
<ul>
</ul>

<h3>Problem Reports Fixed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=77244">77244</a>
[1.5][enum] final enum class crashes the compiler

<a name="v_519"></a>
<p><hr><h1>
Eclipse Platform Build Notes&nbsp;<br>
Java Development Tooling Core</h1>
Eclipse SDK 3.1M3 - 4th November 2004
<br>Project org.eclipse.jdt.core v_519
(<a href="http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.jdt.core/?only_with_tag=v_519">cvs</a>).
<h2>
What's new in this drop</h2>
<ul>
</ul>

<h3>Problem Reports Fixed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=76780">76780</a>
[model] return type not recognized correctly on some generic methods
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=77772">77772</a>
[1.5] some enums failing to parse; internal error dialog pops up while typin
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=77538">77538</a>
[dom] AST rewrite fails to generate the modified code


<a name="v_518"></a>
<p><hr><h1>
Eclipse Platform Build Notes&nbsp;<br>
Java Development Tooling Core</h1>
Eclipse SDK 3.1M3 - 2nd November 2004
<br>Project org.eclipse.jdt.core v_518
(<a href="http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.jdt.core/?only_with_tag=v_518">cvs</a>).
<h2>
What's new in this drop</h2>
<ul>
<li>Added API that allows to batch the creation of DOM ASTs: <code>ASTParser#createASTs(ICompilationUnit[] compilationUnits, String[] bindingKeys, ASTRequestor requestor, IProgressMonitor monitor)</code>.
      Note this API is still under development and subject to change without notice.
</li>
</ul>

<h3>Problem Reports Fixed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=70056">70056</a>
[1.5] Please support varargs
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=77327">77327</a>
[1.5] Contravariance of generic Type raises Error
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=71612">71612</a>
[1.5] ClassFormatError when running simple example
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=76434">76434</a>
[1.5]  Generics, assign error despite equal types
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=76720">76720</a>
[1.5] Implementing generic bounded subinterface causes Bound mismatch error
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=76219">76219</a>
[1.5][wildcards] Not-necessarily-unbounded wildcards in method formal parameter types
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=76601">76601</a>
[1.5] parameterized types: eclipse incorrectly reports errors

<a name="v_517"></a>
<p><hr><h1>
Eclipse Platform Build Notes&nbsp;<br>
Java Development Tooling Core</h1>
Eclipse SDK 3.1M3 - 2nd November 2004
<br>Project org.eclipse.jdt.core v_517
(<a href="http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.jdt.core/?only_with_tag=v_517">cvs</a>).
<h2>
What's new in this drop</h2>
<ul>
<li>Search engine is now able to find declarations and references to varargs methods. This required the index version to be incremented.
     Indexes will be automatically regenerated upon subsequent search queries (accounting for indexing notification in search progress dialogs).
</li>
<li>Default severity for access restriction violations got raised to "warning".
<pre>
* COMPILER / Reporting Forbidden Reference to Type with Restricted Access
*    When enabled, the compiler will issue an error or a warning when referring to a type with restricted access, as defined according
*    to the access restriction specifications.
*     - option id:         "org.eclipse.jdt.core.compiler.problem.forbiddenReference"
*     - possible values:   { "error", "warning", "ignore" }
*     - default:           "warning"
</pre>
</li>
</ul>

<h3>Problem Reports Fixed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=77273">77273</a>
[model] ArrayIndexOutOfBoundsException when creating type hierarchy with duplicate types
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=76359">76359</a>
[1.5] Unsafe operation not reported while using member type
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=77235">77235</a>
ArrayIndexOutOfBounds in Parser in reconciler
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=68710">68710</a>
Open Declaration opens wrong target
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=77249">77249</a>
Annotation on class cancels "public" modifier
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=77212">77212</a>
[1.5][enum] declared enum type .valueOf(String) throws ArrayIndexOutOfBoundsException
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=75400">75400</a>
[1.5] Wrong type mismatch error reported
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=75156">75156</a>
[1.5] wrong diagnosis for method override
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=70695">70695</a>
[1.5] warning for easily detectible incorrect bounds
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=72643">72643</a>
[1.5] parser doesn't recognize when generic methods aren't used
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=77051">77051</a>
[1.5] Type mismatch involving super
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=77175">77175</a>
[1.5] DefaultBindingResolver#resolveType(EnumDeclaration) always returns null
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=75328">75328</a>
[1.5][wildcards] Bound Mismatch for ? type
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=72886">72886</a>
[search] references to endVisit(MethodInvocation) reports refs to endVisit(SuperMethodInvocation)
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=75329">75329</a>
[classpath] Restrict visibility of Java Project content
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=74285">74285</a>
Code assist doesn't  suggest parameter names for methods of generic types
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=74588">74588</a>
[1.5] missing enclosing instance is wrongly reported when accessing an enclosing instance variable.
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=76313">76313</a>
[1.5] Error while using parametrized static factory
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=77151">77151</a>
[1.5] Enum constant cannot be qualified when used as a case label
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=77118">77118</a>
[1.5] Covariance: cannot override method returning Object with method returning an interface
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=77052">77052</a>
[1.5] Type mismatch on embedded type parameters
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=76620">76620</a>
Selection bug (Open Declaration)
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=76874">76874</a>
[1.5] Out of memory reconciling some invalid enum source
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=76682">76682</a>
Certain code prevents saving and copy operations
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=74669">74669</a>
[1.5] NullPointerException during save and compile
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=74032">74032</a>
[1.5] Generics: bad method referenced when a type variable extends two types

<a name="v_516"></a>
<p><hr><h1>
Eclipse Platform Build Notes&nbsp;<br>
Java Development Tooling Core</h1>
Eclipse SDK 3.1M3 - 26th October 2004
<br>Project org.eclipse.jdt.core v_516
(<a href="http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.jdt.core/?only_with_tag=v_516">cvs</a>).
<h2>
What's new in this drop</h2>
<ul>
<li>Support for search on enum has been implemented. Declarations or references to enum type, fields, constructors and methods are correctly found by search engine.
</li>
<li>Support to compute type hierarchies on enum required the index version to be incremented.
     Indexes will be automatically regenerated upon subsequent search queries (accounting for indexing notification in search progress dialogs).
</li>
<li>Added support inside CompletionEngine to not propose completion when an access restriction is violated.
Currently access restrictions are applied only to top level types.
</li>
<li>Added code assist option to not propose completion when an access restriction is violated.
<pre>
	 * CODEASSIST / Activate Access Restrictions Sensitive Completion
	 *    When active, completion doesn't show that is access restricted.
	 *     - option id:         "org.eclipse.jdt.core.codeComplete.restrictionsCheck"
	 *     - possible values:   { "enabled", "disabled" }
	 *     - default:           "disabled"
</pre>
</li>
<li>Added first-cut of enumeration support into compiler. Requires some more work to properly
diagnose error situations, and be leveraged in various JDT/Core functionalities.
</li>
<li>Improved problem descriptions to show ellipsis in varargs method signatures
</li>
<li>Added <code>org.eclipse.jdt.core.util.ClassFileBytesDisassembler#SYSTEM</code> field to support an extra-detailed output from the
disassembler. It can show constant pool contents.
</li>
<li>In order to fix bug <a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=76440">76440</a>, two APIs on <code>org.eclipse.jdt.core.Signature</code> have been added to handle var args in the signature decoding.
<ul>
<li><code>Signature#toCharArray(char[],char[],char[][],boolean,boolean,boolean)</code>
</li>
<li><code>Signature#toString(String,String,String[],boolean,boolean,boolean)</code>
</li>
</ul>
</li>
<li>Added compiler option to diagnose need for cast of varargs argument. Matching problem IDs are 
<code>IProblem.MethodVarargsArgumentNeedCast</code> &amp; <code>IProblem.ConstructorVarargsArgumentNeedCast</code>
<pre>
* COMPILER / Reporting Varargs Argument Needing a Cast in Method/Constructor Invocation
*    When enabled, the compiler will issue an error or a warning whenever a varargs arguments should be cast
*    when passed to a method/constructor invocation. (e.g. Class.getMethod(String name, Class ... args )  
*    invoked with arguments ("foo", null)).
*     - option id:         "org.eclipse.jdt.core.compiler.problem.varargsArgumentNeedCast"
*     - possible values:   { "error", "warning", "ignore" }
*     - default:           "warning"
</pre>
</li>
</ul>

<h3>Problem Reports Fixed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=74851">74851</a>
[1.5] enum errors in 3.1M1
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=75134">75134</a>
[1.5] Type mismatch error generated
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=76880">76880</a>
Unable to resolve enum type
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=76766">76766</a>
[1.5] Option to format empty enum declaration or empty enum constant body has no effect
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=76642">76642</a>
Inner Enum Declarations not formatted
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=76093">76093</a>
Varargs support should define a subtype of ArrayTypeReference
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=76472">76472</a>
Duplicate entries in the constant pool for some methods
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=76440">76440</a>
[1.5] Disassembler doesn't render 1.5 constructs correctly
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=76524">76524</a>
need a isVarargs() method on IMethodBinding
	 
<a name="v_515"></a>
<p><hr><h1>
Eclipse Platform Build Notes&nbsp;<br>
Java Development Tooling Core</h1>
Eclipse SDK 3.1M3 - 19th October 2004
<br>Project org.eclipse.jdt.core v_515
(<a href="http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.jdt.core/?only_with_tag=v_515">cvs</a>).
<h2>
What's new in this drop</h2>
<ul>
<li>Code assist use static imports to propose completions.
</li>
<li>2 new Javadoc compiler options have been added (see bugs <a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=53977">53977</a>
and <a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=75701">75701</a>).<br>
While reporting problems on invalid Javadoc tags, user can now decide not to report deprecation and/or visibility warnings on references used in @see, @link or @values tags.
<br>
Here's the description of these new options:
<pre>
	 * COMPILER / Reporting Invalid Javadoc Tags with Deprecated References
	 *    Specify whether the compiler will report deprecated references used in Javadoc tags.
	 *    Note that this diagnosis can be enabled based on the visibility of the construct associated with the Javadoc;
	 *    also see the setting "org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility".
	 *     - option id:         "org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsDeprecatedRef"
	 *     - possible values:   { "enabled", "disabled" }
	 *     - default:           "enabled"
	 * 
	 * COMPILER / Reporting Invalid Javadoc Tags with Not Visible References
	 *    Specify whether the compiler will report non-visible references used in Javadoc tags.
	 *    Note that this diagnosis can be enabled based on the visibility of the construct associated with the Javadoc;
	 *    also see the setting "org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsVisibility".
	 *     - option id:         "org.eclipse.jdt.core.compiler.problem.invalidJavadocTagsNotVisibleRef"
	 *     - possible values:   { "enabled", "disabled" }
	 *     - default:           "enabled"
	 * 
</pre>
</li>
<li>Changed build state format to record access restrictions. As a consequence, a full rebuild will be
required when reusing existing workspaces.
</li>
<li>Added tracing (org.eclipse.jdt.core/debug/resolution) to show the number of packages, roots and working copies used during name resolution.</li>
<li>New API <code>org.eclipse.jdt.core.dom.EnumDeclaration#enumConstants()</code>. The enum constants are now in a separate list
from the body declarations. The  <code>org.eclipse.jdt.core.dom.EnumDeclaration#getEnumConstants()</code> method has been deprecated and
will be removed after M3. See bug <a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=76190">76190</a> for further details.
</li>
<li>New requestor API <code>CompletionRequestor</code> is implemented inside code assist engine.
</li>
<li>Added missing API to <code>IType</code> for new completion requestor support:
<ul>
  <li><code>IType#codeComplete(char[],int,int,char[][],char[][],int[],boolean,CompletionRequestor,WorkingCopyOwner)</code></li>
  <li><code>IType#codeComplete(char[],int,int,char[][],char[][],int[],boolean,CompletionRequestor)</code></li>
</ul>
</li>
<li>Added missing API to <code>IEvaluationContext</code> for new completion requestor support:
<ul>
  <li><code>IEvaluationContext#codeComplete(String,int,CompletionRequestor, WorkingCopyOwner)</code></li>
  <li><code>IEvaluationContext#codeComplete(String,int,CompletionRequestor)</code></li>
</ul>
</li>
<li>Added new API inside <code>Signature</code> to extract package name part or type name part of a type signature:
<ul>
  <li><code>Signature#getSignatureQualifier(char[])</code></li>
  <li><code>Signature#getSignatureQualifier(String)</code></li>
  <li><code>Signature#getSignatureSimpleName(char[])</code></li>
  <li><code>Signature#getSignatureSimpleName(String)</code></li>
</ul>
</li>
<li>Added support in Java model for varargs methods:
     <ul>
     <li><code>Flags.isVarargs(method.getFlags())</code> now returns whether the method is a varargs method.</li>
     <li>Operations that resolve (like reconcile, search, etc.) now convert varargs source methods into varargs MethodDeclarations.</li>
     </ul>
</li>
<li> Introduced access restrictions so as to better enforce API contracts across components.
<p>
<i>Problem:</i> Libraries are usually packaged to contain both API for compile-time and implementation for runtime;
and thus expose a superset of the API contract to client programs, allowing them to make forbidden
assumptions on internals (a typical restriction for Eclipse developpers is to not use internal classes 
from prerequisite plug-ins). 
One solution for solving this issue is to separate the API from its implementation into 2 distinct libraries 
(compile-time/runtime) and then use the classpath rules to only include the API portion on the classpath
for compiling. However, this usually proves to be unrealistic, since the API is often mixed with some implementation
aspects (not officially part of the API) which are carrying references to its internals 
(supertype hierarchy, field or method signatures). When it happens, then the compiler needs the implementation
also to be on the classpath in order to resolve all signatures appropriately; which goes back to the original
problem of exposing too much to unaware clients.
<p>
Instead, we allowed classpath rules to be associated with some import restrictions so as to select portions 
of prerequisite projects or libraries which are legal to use inside this project. 
Access restrictions are expressed as inclusion/exclusion rules on classpath entries (using Ant fileset notation
for discriminating on package and/or file names, e.g. <code>excluding='**/internal/'</code> would exclude 
all types defined any <code>internal</code> package),
and can be associated to project, library, classpath variable or classpath container classpath entries. 
Note that restrictions are automatically combined along a classpath chain. For instance, if a classpath container entry is
associated with some restrictions, then when resolved to a set of entries, these will automatically inherit the
container restrictions (and could still provide further custom restrictions on a per entry basis).
<p>
When a forbidden reference to a restricted type is detected, the compiler will issue a problem which severity
can be controlled by JavaCore preference "org.eclipse.jdt.core.compiler.problem.forbiddenReference". 
Corresponding problem marker ID is <code>IProblem.ForbiddenReference</code>.
<pre>
* COMPILER / Reporting Forbidden Reference to Type with Restricted Access
*    When enabled, the compiler will issue an error or a warning when referring to a type with restricted access, as defined according
*    to the access restriction specifications.
*     - option id:         "org.eclipse.jdt.core.compiler.problem.forbiddenReference"
*     - possible values:   { "error", "warning", "ignore" }
*     - default:           "ignore"
</pre>

<p>
In order to challenge this new functionality before leveraged in UI or PDE, Eclipse developpers need to perform
the following two actions:
<ol>
<li> edit some .classpath file to exclude all types located in "**/internal/" packages from prerequisites;
i.e. replace line
<pre>
	&lt;classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins"/&gt;
</pre>
with
<pre>
	&lt;classpathentry kind="con" path="org.eclipse.pde.core.requiredPlugins" excluding="**/internal/"/&gt;
</pre>
</li>
<li> enable compiler warning for forbidden references, i.e. add the following line to the workspace 
default preferences located in: <code>&lt;workspace&gt;\.metadata\.plugins\org.eclipse.core.runtime\.settings\org.eclipse.jdt.core.prefs</code>
<pre>
	org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
</pre>
Note: alternatively, it could be specified on a per project basis, by adding line to <code>&lt;project&gt;/.settings/org.eclipse.jdt.core.prefs</code>.
</li>
</ol>
</li>
<li>Static imports are now supported:
<pre>
<b><font color="#0000ff">import static</font></b> <i><font color="#A0A0A0">type</font></i>.*;
<b><font color="#0000ff">import static</font></b> <i><font color="#A0A0A0">type</font></i>.<i><font color="#A0A0A0">identifier</font></i>;
</pre>
Java Search is also able to find referenced type, field and/or member in static imports but required the index version to be incremented.<br>
Indexes will be automatically regenerated upon subsequent search queries (accounting for indexing notification in search progress dialogs).
</li>
</ul>

<h3>Problem Reports Fixed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=76324">76324</a>
[Javadoc] Wrongly reports invalid link format in @see and @link
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=74369">74369</a>
[Javadoc] incorrect javadoc in local class
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=75701">75701</a>
[Javadoc] References in Javadoc to deprecated members
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=53977">53977</a>
[DCR] [Javadoc] Add a Javadoc option not to report errors on non-visible references
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=76360">76360</a>
[1.5] NPE when using static import
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=76174">76174</a>
[1.5] missing error when using static import
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=76159">76159</a>
Missing type in hierarchy
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=76328">76328</a>
Using latest, NPE in codeassist
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=66296">66296</a>
Slow closing editor after startup
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=76277">76277</a>
IllegalArgumentException: Invalid string literal : &gt;("i" + "ib2")&lt;
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=76190">76190</a>
DCR AST: EnumDeclaration: Separate field and body statement lists
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=76244">76244</a>
[1.5] No error on invalid static import declaration
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=76181">76181</a>
Formatter fails on EnumDeclaration
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=74776">74776</a>
[Search] Wrong search results for almost identical method
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=29865">29865</a>
Source visibility in project dependency
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=76181">76181</a>
Formatter fails on EnumDeclaration
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=76100">76100</a>
AST: Javadoc node not available on AnnotationTypeDeclaration
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=76103">76103</a>
[1.5] Inner AnnotationTypeDeclaration not parsed
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=76027">76027</a>
Optimization of code assist in debugger
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=75090">75090</a>
source positions calculated wrongly


<a name="v_514"></a>
<p><hr><h1>
Eclipse Platform Build Notes&nbsp;<br>
Java Development Tooling Core</h1>
Eclipse SDK 3.1M3 - 12th October 2004
<br>Project org.eclipse.jdt.core v_514
(<a href="http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.jdt.core/?only_with_tag=v_514">cvs</a>).
<h2>
What's new in this drop</h2>
<ul>
<li>Type search works with generic (only for string pattern, see bug <a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=75641#c4">75641</a>).<br>
For example, user can enter <i><code>List&lt;String&gt;</code></i> in Java Search text and search for type references.<br>
Match(es) will be found if this parameterized type is used in the search scope.<br>
Note that some API changes still need to be done to make generic type search work while selecting a parameterized type from Java editor.
</li>
<li>Field search works with generic (see bug <a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=73277">73277</a>).<br>
For example, user can search for references to a field declared as <pre>List&lt;String&gt; ls;</pre>
Match(es) will be found if this field is used in the search scope.
</li>
</ul>

<h3>Problem Reports Fixed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=75649">75649</a>
[1.5] completion inside a wildcard does not work
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=52379">52379</a>
JavaElement.getElementInfo no longer works
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=74753">74753</a>
[1.5] codeassist failing on type parameter
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=73277">73277</a>
[1.5][Search] Fields search does not work with generics
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=73671">73671</a>
[1.5] Signature.getTypeArguments should also tolerate normal types
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=73078">73078</a>
ISourceManipulation.delete() tries to run in WorkspaceRoot scheduling rule
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=75561">75561</a>
Rename package results in I/O exception
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=75644">75644</a>
Array index out of bounds doing code assist
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=74286">74286</a>
IllegalArgumentException during codeselect
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=75720">75720</a>
[1.5] Formatter cannot format code that contains varargs
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=75112">75112</a>
[Search] Cannot find reference to a member type
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=75632">75632</a>
Infinite loop in DefaultCommentMapper#storeLeadingComments
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=75658">75658</a>
[1.5] SourceElementParser do not compute correctly bounds of type parameter
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=75488">75488</a>
Incorrect code formatting
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=70602">70602</a>
Why is equals(..) method of IBindings not implemented?

<a name="v_513"></a>
<p><hr><h1>
Eclipse Platform Build Notes&nbsp;<br>
Java Development Tooling Core</h1>
Eclipse SDK 3.1M3 - 5th October 2004
<br>Project org.eclipse.jdt.core v_513
(<a href="http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.jdt.core/?only_with_tag=v_513">cvs</a>).
<h2>
What's new in this drop</h2>
<ul>
<li>The batch compiler now support 5 as a valid version number for -target and -source options.
5 is equivalent to 1.5.</li>
<li>Added support for static imports. Can now import all static members of a type, such as <code>java.lang.Math</code>.</li>
<li>Added new API <code>IBinding#getJavaElement()</code> to get the Java element corresponding to a 
     <code>org.eclipse.jdt.core.dom.IBinding</code>.
</li>
</ul>

<h3>Problem Reports Fixed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=75466">75466</a>
[1.5] IAE in JavaElement.exists() for Collection&lt;E&gt;#containsAll(Collection&lt;?&gt;)
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=75455">75455</a>
[1.5] IAE on Content Assist for variable of type List&lt;? extends Number&gt;
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=75489">75489</a>
Batch compiler should support -target 5 or -source 5
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=73963">73963</a>
[1.5] Wrong errors in widening reference conversion to parameterized class type
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=75221">75221</a>
Failure in test for build I200409281200 
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=74126">74126</a>
Compiler should support new hexadecimal floating-point literals

<a name="v_512"></a>
<p><hr><h1>
Eclipse Platform Build Notes&nbsp;<br>
Java Development Tooling Core</h1>
Eclipse SDK 3.1M3 - 28th September 2004
<br>Project org.eclipse.jdt.core v_512
(<a href="http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.jdt.core/?only_with_tag=v_512">cvs</a>).
<h2>
What's new in this drop</h2>
<ul>
</ul>

<h3>Problem Reports Fixed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=74761">74761</a>
[1.5] Invalid compiler binding for qualified raw type reference
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=68927">68927</a>
'non-static access to static member' problem not reported for super field access
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=74938">74938</a>
Syntax error for annotation in 1.4 has unknown source range

<a name="v_511"></a>
<p><hr><h1>
Eclipse Platform Build Notes&nbsp;<br>
Java Development Tooling Core</h1>
Eclipse SDK 3.1M2 - 24th September 2004 - 3.1 MILESTONE 2
<br>Project org.eclipse.jdt.core v_511
(<a href="http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.jdt.core/?only_with_tag=v_511">cvs</a>).
<h2>
What's new in this drop</h2>
<ul>
</ul>

<h3>Problem Reports Fixed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=74934">74934</a>
ArrayIndexOutOfBoundsException with float literal

<a name="v_510"></a>
<p><hr><h1>
Eclipse Platform Build Notes&nbsp;<br>
Java Development Tooling Core</h1>
Eclipse SDK 3.1M2 - 23rd September 2004
<br>Project org.eclipse.jdt.core v_510
(<a href="http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.jdt.core/?only_with_tag=v_510">cvs</a>).
<h2>
What's new in this drop</h2>
<ul>
<li>Support for hexadecimal floating-point literals has been added. This is available in 1.5 mode only.</li>
</ul>

<h3>Problem Reports Fixed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=72583">72583</a>
[1.5] NPE in Scope.minimalErasedCandidate
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=74096">74096</a>
[1.5] visibility check ignores type bounds?
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=74592">74592</a>
[1.5] Invalid cycle diagnosis
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=74420">74420</a>
[1.5] Unexpected "Illegal forward reference to type parameter T"
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=74519">74519</a>
Can declare @interface in 1.4
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=74544">74544</a>
[1.5] Invalid compiler binding for parameterized qualified type reference
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=74514">74514</a>
NPE in AST creation
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=74014">74014</a>
prefix path for source attachements - automatic detection does not seem to work 

<a name="v_509"></a>
<p><hr><h1>
Eclipse Platform Build Notes&nbsp;<br>
Java Development Tooling Core</h1>
Eclipse SDK 3.1M2 - 21st September 2004
<br>Project org.eclipse.jdt.core v_509
(<a href="http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.jdt.core/?only_with_tag=v_509">cvs</a>).
<h2>
What's new in this drop</h2>
<ul>
</ul>

<h3>Problem Reports Fixed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=74355">74355</a>
-source 1.4 and -1.5 leads to an error
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=74320">74320</a>
[1.5] Unused private member diagnosis fooled by generics
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=74289">74289</a>
AIOOB Exception in WeakHashSet.cleanupGarbageCollectedValues 


<a name="v_508"></a>
<p><hr><h1>
Eclipse Platform Build Notes&nbsp;<br>
Java Development Tooling Core</h1>
Eclipse SDK 3.1M2 - 20th September 2004
<br>Project org.eclipse.jdt.core v_508
(<a href="http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.jdt.core/?only_with_tag=v_508">cvs</a>).
<h2>
What's new in this drop</h2>
<ul>
</ul>

<h3>Problem Reports Fixed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=73740">73740</a>
Diagnosis for serialization should not render j2me development impossible
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=74244">74244</a>
[1.5] boolean.class == Boolean.TYPE should be true
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=73995">73995</a>
[Javadoc] Wrong warning for missing return type description for @return {@inheritDoc}
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=72644">72644</a>
[1.5] Problems with generic maps
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=73356">73356</a>
Index not updated after adding a source folder 
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=73961">73961</a>
IPackageBinding#getName() should return "" for default package
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=73933">73933</a>
Clarifications of the DOM/AST API for VariableDeclarationExpression and VariableDeclarationStatement
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=73891">73891</a>
Should not use String#intern() 
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=73837">73837</a>
Java 1.5 generics problem (Eclipse 3.1M1)
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=73336">73336</a>
[1.5][search] Search Engine does not find type references of actual generic type parameters
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=73762">73762</a>
Line ends not reset when setting a different source 
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=73884">73884</a>
[1.5] Unexpected error for class implementing generic interface
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=73896">73896</a>
StackOverflowError resolving bindings of java.util.Collections
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=73678">73678</a>
[1.5] NPE when saving an editor which contains genric type

<a name="v_507"></a>
<p><hr><h1>
Eclipse Platform Build Notes&nbsp;<br>
Java Development Tooling Core</h1>
Eclipse SDK 3.1M2 - 14th September 2004
<br>Project org.eclipse.jdt.core v_507
(<a href="http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.jdt.core/?only_with_tag=v_507">cvs</a>).
<h2>
What's new in this drop</h2>
<ul>
</ul>

<h3>Problem Reports Fixed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=72683">72683</a>
Slow code assist in Display view 
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=73696">73696</a>
searching only works for IJavaSearchConstants.TYPE, but not CLASS or INTERFACE
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=73479">73479</a>
[Javadoc] Improve error message for invalid link in @see tags
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=73551">73551</a>
[Search] NPE while searching package declaration
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=73112">73112</a>
[Search] SearchEngine doesn't find all fields multiple field declarations
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=71267">71267</a>
[Search][Javadoc] SearchMatch in class javadoc reported with element of type IImportDeclaration
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=73348">73348</a>
[Javadoc] Missing description for return tag is not always warned
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=73573">73573</a>
[1.5] - CodeAssist - ArrayIndexOutOfBoundsException with genric type completion
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=67976">67976</a>
Exceptions in log when Opening type while checking out 
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=72684">72684</a>
MemberElementInfo#name should be removed 
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=73530">73530</a>
[1.5] VerifyError using generics and direct array access
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=73286">73286</a>
NPE on save
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=73497 ">73497</a>
Problem methods don't point to the right position in source
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=73561">73561</a>
AST: Enum constant source range too small
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=71279">71279</a>
[Search] NPE in TypeReferenceLocator when moving CU with unresolved type reference
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=67981">67981</a>
Add Java Exception Breakpoint is broken 
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=72859">72859</a>
NPE in ASTConverter
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=72214">72214</a>
[Prefs] IllegalStateException when importing preferences
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=62472">62472</a>
[1.5] Suspicious syntax errors for missing semicolon
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=72889">72889</a>
same key different types
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=68555">68555</a>
SearchEngine errors when package and class named the same
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=72891">72891</a>
missing type parameters for IMethodBindings
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=72882">72882</a>
ITypeBinding.getQualifiedName for type variables wrong
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=73371">73371</a>
[1.5] Code formatter doesn't seem to accept enum declarations
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=73048">73048</a>
Stackoverflow on AST creation
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=69002">69002</a>
CompilationUnit#destroy contains e.printStackTrace 
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=70787">70787</a>
Compilation warning for IndexManager 
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=73245">73245</a>
Error source range of 'class cannot be superinterface'

<a name="v_506"></a>
<p><hr><h1>
Eclipse Platform Build Notes&nbsp;<br>
Java Development Tooling Core</h1>
Eclipse SDK 3.1M2 - 7th September 2004
<br>Project org.eclipse.jdt.core v_506
(<a href="http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.jdt.core/?only_with_tag=v_506">cvs</a>).
<h2>
What's new in this drop</h2>
<ul>
<li><code>ITypeParameter</code>s are no longer children of their <code>IType</code> or <code>IMethod</code>.
     To get the type parameters of a type or a method use <code>IType/IMethod#getTypeParameters()</code>.</li>
<li>The temporary field <code>TypeParameter#ENABLED</code> has been removed.</li>
<li>Code select (<code>ICodeAssist#codeSelect()</code>) return a <code>ITypeParameter</code> when a type
    parameter is selected.</li>
<li>Added optional compiler diagnosis for usage of 'enum' as an identifier.
Corresponding problem ID is IProblem.UseEnumAsAnIdentifier.
</li>
<li>
<pre>
* COMPILER / Reporting Usage of 'enum' Identifier
*    When enabled, the compiler will issue an error or a warning whenever 'enum' is 
*    used as an identifier (reserved keyword in 1.5)
*     - option id:         "org.eclipse.jdt.core.compiler.problem.enumIdentifier"
*     - possible values:   { "error", "warning", "ignore" }
*     - default:           "warning"
</pre>
</li>
</ul>

<h3>Problem Reports Fixed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=66533">66533</a>
[1.5] add a warning for 'enum' used as identifier
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=70892">70892</a>
[1.5][Javadoc] Compiler should parse reference for inline tag @value
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=73255">73255</a>
[1.5][reconciling] ClassCastException in SourceTypeElementInfo#getTypeParameterBounds 
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=72946">72946</a>
Refactoring context menu does not show inline action on local variables [refactoring] [inline temp]

<a name="v_505"></a>
<p><hr><h1>
Eclipse Platform Build Notes&nbsp;<br>
Java Development Tooling Core</h1>
Eclipse SDK 3.1M2 - 31st August 2004
<br>Project org.eclipse.jdt.core v_505
(<a href="http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.jdt.core/?only_with_tag=v_505">cvs</a>).
<h2>
What's new in this drop</h2>
<ul>
<li>Added empty "performance" target to test.xml files.
</ul>

<h3>Problem Reports Fixed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=72772">72772</a>
[1.5][Search Engine] ClassCastException: org.eclipse.jdt.internal.compiler.lookup.ParameterizedTypeBinding

<a name="v_504"></a>
<p><hr><h1>
Eclipse Platform Build Notes&nbsp;<br>
Java Development Tooling Core</h1>
Eclipse SDK 3.1M2 - 31st August 2004
<br>Project org.eclipse.jdt.core v_504
(<a href="http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.jdt.core/?only_with_tag=v_504">cvs</a>).
<h2>
What's new in this drop</h2>
<ul>
<li>Added new Java element <code>ITypeParameter</code> that represents a formal type parameter in a generic type or method.
     Note types and methods should have type parameters as children, but this is currently disabled as JDT UI doesn't support
     this kind of element yet.
     To enable set <code>org.eclipse.jdt.internal.core.TypeParameter#ENABLED</code> to <code>true</code>.</li>
</ul>

<h3>Problem Reports Fixed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=72942">72942</a>
[1.5] 'AT' is visible inside syntax error messages 
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=68343">68343</a>
IDOMType.setSuperInterfaces() with empty array has no impact on Interfaces 
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=72083">72083</a>
[1.5] NPE while compiling FindBugs
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=71080">71080</a>
[1.5] Type parameter bound &lt;E extends Enum&lt;E&gt;&gt; should be allowed
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=62070">62070</a>
Should revisit reference recording
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=36397">36397</a>
Compiling source which indirectly references unavailable classes
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=62822">62822</a>
[1.5] Bound mismatch: The type X is not a valid substitute for the bounded parameter
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=72094">72094</a>
NPE inside qualified type reference resolution
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=72468">72468</a>
"hierarchy of ... type is inconsistent" error message
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=59082">59082</a>
[1.5] Should not offer argument completion for non generic type
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=72501">72501</a>
[1.5] CodeAssist - ArrayIndexOutOfBoundsException with ParameterizedQualifiedTypeReference
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=72640">72640</a>
Codestream target level is initialized with source level
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=72560">72560</a>
[1.5] VerifyError in nested generics loop

<a name="v_503"></a>
<p><hr><h1>
Eclipse Platform Build Notes&nbsp;<br>
Java Development Tooling Core</h1>
Eclipse SDK 3.1M2 - 24th August 2004
<br>Project org.eclipse.jdt.core v_503
(<a href="http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.jdt.core/?only_with_tag=v_503">cvs</a>).
<h2>
What's new in this drop</h2>
<ul>
<li>All resource change listeners/builder now react to new encoding change notification.</li>
</ul>

<h3>Problem Reports Fixed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=70193">70193</a>
DBCS - The GB18030 character cannot be correctly generated into ".classpath" file when new a source folder named with GB18030 character. 
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=70997">70997</a>
Debugger doesn't stop in finally block
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=47074">47074</a>
inability to detect invalid cast between interfaces
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=71910">71910</a>
Weird exception handlers ranges with any exception handlers
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=72352">72352</a>
"No completion available" after cast to "String[]"
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=71702">71702</a>
code completion doesn't work anymore after Array cast. 
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=68847">68847</a>
[1.5] DCR Signature: API to separate raw type and type parameters 
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=72348">72348</a>
[1.5][Type Hierarchy] Super type hierarchy of class extending generic type is empty 
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=72105">72105</a>
[1.5] NPE in SelectionEngine.selectFrom 
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=72230">72230</a>
[1.5][Type Signature] IAE in createCharArrayTypeSignature 
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=68506">68506</a>
Java code formatter strips newline, leaving final line unterminated!
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=59052">59052</a>
[1.5][reconciling] DOM conversion incomplete for generics
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=72248">72248</a>
[1.5] StackOverflowError caused by methods type variable
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=72233">72233</a>
IAE creating AST for java.lang.SuppressWarnings
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=57585">57585</a>
memory optimization in JavaModelCache 
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=72238">72238</a>
[1.5] CodeAssist - Wrong completion inside parameterized type 
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=68585">68585</a>
index is out of date after encoding change 
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=68594">68594</a>
[1.5] NPE after code assist
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=70995">70995</a>
[1.5] Add 1.5 constructs in the code formatter
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=68842">68842</a>
[1.5] AST: parameter type binding: getKey seems wrong
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=71852">71852</a>
ClassCastException in HandleFactory.createElement(...)
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=69066">69066</a>
[1.5] getTypeArguments incorrect (?) when type argument is a type variable
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=68838">68838</a>
[1.5] AST: Missing bindings in type parameters
	  	
<a name="v_502"></a>
<p><hr><h1>
Eclipse Platform Build Notes&nbsp;<br>
Java Development Tooling Core</h1>
Eclipse SDK 3.1M1 - 10th August 2004 - 3.1 MILESTONE 1
<br>Project org.eclipse.jdt.core v_502
(<a href="http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.jdt.core/?only_with_tag=v_502">cvs</a>).
<h2>
What's new in this drop</h2>
<ul>
</ul>

<h3>Problem Reports Fixed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=66908">66908</a>
Code assist javadoc confused by duplicate java.lang.String
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=66570">66570</a>
Code assist fails due to capitalization
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=71705">71705</a>
[1.5] CodeAssist failure with simple test case
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=69598">69598</a>
[1.5] Auto Completion not available in new for-loop
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=71672">71672</a>
[1.5] MethodInvocation has no type arguments
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=67790">67790</a>
[1.5] AST: ConstructorInvocation type arguments not in source range
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=70292">70292</a>
[1.5] enum makes Copy, Cut commands fail
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=71241">71241</a>
[1.5] different methods with same erasure should not override
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=69901">69901</a>
[1.5] Interface / Generic: unchecked conversion should throw a warning
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=71467">71467</a>
JavaConventions.ValidatePackageName() does not return ERROR
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=71113">71113</a>
[1.5] improve DOM/AST specs for bindings for JLS3 constructs
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=71079">71079</a>
[1.5] ClassCastException resolving Javadoc
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=70969">70969</a>
[1.5] compile error with conditional operator and wildcards
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=70611">70611</a>
[1.5] Specific generic class declaration breaks save and load
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=69931">69931</a>
JDTCompilerAdapter prevents use of Cheetah
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=71007">71007</a>
[1.5] Qualified name not supported as member value
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=70984">70984</a>
[1.5] Invalid syntax error
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=70986">70986</a>
[Prefs] Old Java project prefs are not all stored while migrating to new API
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=70975">70975</a>
[1.5] Type mismatch when compiling against binary generic method
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=70656">70656</a>
[1.5] StackOverflow when resolving Enum&lt;FormattedFloatingDecimal$Form&gt; 


<a name="v_501"></a>
<p><hr><h1>
Eclipse Platform Build Notes&nbsp;<br>
Java Development Tooling Core</h1>
Eclipse SDK 3.1M1 - 27th July 2004 - Codename "Cheetah"
<br>Project org.eclipse.jdt.core v_501
(<a href="http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.jdt.core/?only_with_tag=v_501">cvs</a>).
<h2>
What's new in this drop</h2>
<ul>
<li>Plugin version ID got incremented to 3.1.0. </li>
<li>Added support for method return type covariance</li>
<li>Added optional compiler diagnosis for serializabe classes missing a declaration of serialVersionUID field.
Corresponding problem ID is IProblem.MissingSerialVersion.
</li>
<pre>
* COMPILER / Reporting Missing Declaration of serialVersionUID Field on Serializable Class
*    When enabled, the compiler will issue an error or a warning whenever a serializable class is missing a local declaration 
*    of a serialVersionUID field. This field must be declared as static final and be of type long.
*     - option id:         "org.eclipse.jdt.core.compiler.problem.missingSerialVersion"
*     - possible values:   { "error", "warning", "ignore" }
*     - default:           "warning"
</pre>
<li>Added <code>isConstructor()</code> and <code>isSynthetic()</code> getters to MethodReferenceMatch.
<br>
When a search requestor (<code>SearchRequestor</code>) accepts this kind of match,
it can now distinguish between method and constructor reference matches. It can also know
if a constructor reference match is a default constructor or use an implicit super call.
<br>
Note that synthetic method reference match is not supported yet.
</li>
<li>Once 1.5 source compliance is enabled, the typecheck rules for conditional operator (a ? b : c) 
allows scenario where 'b' and 'c' have a common supertype (i.e. it is no longer required for
one to be assignable to the other as in the past). This is required by JLS 3rd edition.
</li>
<li>Fix for bug <a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=69028">69028</a>
     requires the index version to be incremented. Indexes will be automatically regenerated upon
     subsequent search queries (accounting for indexing notification in search progress dialogs).
</li>
<li>The spec for MethodDeclaration.typeParameters was changed to remove the
clause that said that type parameters were not meaningful for
constructors. According to the latest JLS3, both constructors and methods
are allowed to have type parameters.
(bug <a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=70665">70665</a>).
</li>
</ul>

<h3>Problem Reports Fixed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=48336">48336</a>
[Search] Participants should surface in search progress
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=70598">70598</a>
[Encoding] ArrayIndexOutOfBoundsException while testing BOM on *.txt files
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=70767">70767</a>
[1.5] NPE compiling code with explicit constructor invocation
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=70717">70717</a>
Batch compiler should report compilation errors to console
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=70665">70665</a>
[DOM/AST] missing type parameters for constructor declaration in JLS3
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=70618">70618</a>
[1.5] Variable T should be allowed as argument of supertype
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=70616">70616</a>
[1.5] Unable to bind type variable in binary from Enum&lt;E&gt;
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=70609">70609</a>
[1.5] NPE compiling Container
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=70606">70606</a>
[1.5] ClassCastException compiling DefaultTreeCellEditor
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=69351">69351</a>
[1.5] Error should be issued if generic type is extending Throwable
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=62822">62822</a>
[1.5] Bound mismatch: The type X is not a valid substitute for the bounded parameter
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=69626">69626</a>
[1.5] The return type is incompatible
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=41018">41018</a>
Method reference with member type parameter(s) not found
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=70053">70053</a>
[1.5] VerifyError - incompatible argument to function
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=69942">69942</a>
compiler warning for serializable classes that do not explicitly declare serialVersionUID
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=70398">70398</a>
Java AST creation error due to NullPointerException in IF statement test block.
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=43587">43587</a>
Searching for references to default constructors reports questionable results
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=70243">70243</a>
[1.5] no warning for unsafe cast
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=69799">69799</a>
[1.5] NPE when saving File with forEach loop
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=69320">69320</a>
[1.5] generic parameter type compiles by eclipse, not by javac
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=69800">69800</a>
[1.5] eclipse fails to report incompatible types
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=70295">70295</a>
[1.5] method(Class<?>) is not applicable for Class<? extends Object>
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=70247">70247</a>
[1.5] NPE in TypeVariableBinding
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=68726">68726</a>
[Javadoc] Target attribute in @see link triggers warning
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=68993">68993</a>
IllegalArgumentException when opening project preferences
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=69806">69806</a>
formatter doesn't handle strictfp correctly.
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=69776">69776</a>
[1.5] VerifyError: Incompatible object argument for function call
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=69713">69713</a>
[1.5] Cannot save java document, throws nullpointer
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=69542">69542</a>
[1.5] ByteCode differs from javac ByteCode in behaviour
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=69554">69554</a>
Eclipse Java compiler is not completely compliant to Javac
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=69658">69658</a>
typo in javadoc of ClassInstanceCreation
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=69308">69308</a>
All ASTNodes that deal with modifiers should offer a method setModifiers(List modifiers)
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=69302">69302</a>
[Javadoc] Invalid reference warning inconsistent with javadoc tool
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=69275">69275</a>
[Javadoc] Invalid warning on @see link
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=69272">69272</a>
[Javadoc] Invalid malformed reference (missing separator)
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=68087">68087</a>
[Javadoc] '-' character should be accepted in tag names
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=68025">68025</a>
Javadoc processing does not detect some wrong links
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=68017">68017</a>
Javadoc processing does not detect missing argument to @return
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=69573">69573</a>
[1.5] Missing Message for Compiler
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=69028">69028</a>
Anonymous type in argument of super() is not in type hierarchy 
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=69375">69375</a>
[1.5] wildcards: no error for incorrect assignment
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=68698">68698</a>
Bug in inner class emulation:compiler doesn't reject illegal code.
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=69359">69359</a>
[1.5] Trouble with "unnecassary cast" warnings
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=69271">69271</a>
decimal integer literals should not consist of FULL WIDTH Unicode digits
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=69349">69349</a>
[DOM/AST] Wrong end position for method declaration
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=69152">69152</a>
[NPE] An internal error occurred during: "Override indicator installation job". 
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=68010">68010</a>
[1.5] Return type of bridge method is not correct inside outliner 
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=69170">69170</a>
[1.5] no error for new T[0]
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=69353">69353</a>
[1.5] Should reject usage of type parameter in catch block
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=69288">69288</a>
[1.5] Unsafe type operations should be reported against individual expressions
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=64305">64305</a>
[1.5] Bad "return type is incompatible" error for array values
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=69251">69251</a>
[1.5] can't instantiate bounded wildcard
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=69141">69141</a>
[1.5] Wildcards with lower bound do not work
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=69276">69276</a>
[1.5] NPE in ReturnStatement
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=64154">64154</a>
[1.5] incorrect 'constructor not visible'
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=65943">65943</a>
Closing/opening a project doesn't have the correct delta 
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=68998">68998</a>
[1.5] NPE in java compiler
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=68146">68146</a>
Search should not populate Java model cache 
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=67789">67789</a>
Java element delta from refresh contains excluded package 
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=68845">68845</a>
[1.5] AST: AbstractTypeDeclaration should have resolveBinding
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=66512">66512</a>
Invalid classpath entry not rejected 
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=67643">67643</a>
[1.5] Incompatible conditional operand types
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=68981">68981</a>
[1.5] NPE in code assist
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=68891">68891</a>
[1.5] TypeVariableBinding does not know his declaring type or method
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=68862">68862</a>
[1.5] ClassCastException when moving a a java file 

<a name="v_500"></a>
<p><hr><h1>
Eclipse Platform Build Notes&nbsp;<br>
Java Development Tooling Core</h1>
Eclipse SDK 3.1M1 - 29th June 2004 - Codename "Cheetah"
<br>Project org.eclipse.jdt.core v_500 (Cheetah06)
(<a href="http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.jdt.core/?only_with_tag=v_500">cvs</a>).
<h2>
What's new in this drop</h2>
<ul>
<li>From target 1.5 on, the JSR bytecode instruction is no longer generated. As a consequence, the 
    corresponding compiler option status will be ignored as soon as -target 1.5 is specified.
</li>
<li>Batch compiler defaults to 1.5 source and target, when toggled in 1.5 compliant mode ("-1.5").
</li>
<li>Added support for generics to JavaModel, thus enabling editor problem reconciling, outliner, type hierarchies. </li>
<li>Improved codeassist and codeselect handling of generics </li>
</ul>

<h3>Problem Reports Fixed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=68837">68837</a>
[1.5] AST: Missing source range in parameterized type
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=68133">68133</a>
[1.5] VerifyError: Code segment has wrong length in class file
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=68863">68863</a>
Missing entry in local variable attribute
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=68440">68440</a>
[1.5] VerifyError with new for loop
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=64159">64159</a>
[1.5] call to addAll(Collection<? extends T>) incorrectly dissalowed
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=68602">68602</a>
[1.5] AST converter fails on local types
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=66424">66424</a>
[1.5] Collections in new style for loop
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=64417">64417</a>
[1.5] NPE in SourceTypeBinding.resolveTypesFor
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=68730">68730</a>
[1.5] No completion
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=65953">65953</a>
[1.5] Internal Compiler Error: ArrayIndexOutOfBoundsException
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=58470">58470</a>
[1.5] Source mapper fooled by generics 
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=64336">64336</a>
[1.5] Signature does allow to create parameterized type signatures
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=68557">68557</a>
[1.5] ArrayIndexOutOfBoundsException in SourceTypeConverter
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=68006">68006</a>
[1.5] Invalid modifier after parse
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=65503">65503</a>
[1.5] "new" for-loop inside "old" for-loop gives error
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=65870">65870</a>
[1.5] AST creation fails when created with comments
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=64301">64301</a>
[1.5] Cast required where no cast should be required
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=63556">63556</a>
[1.5] Error when creating generic classes specializing distant generic parameters
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=63590">63590</a>
[1.5] Cheetah allows generic throws clause
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=63555">63555</a>
[1.5] Cannot put generic type fields inside static inner class
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=58722">58722</a>
[1.5] cannot extend interfaces


<a name="v_429_Cheetah05"></a>
<p><hr><h1>
Eclipse Platform Build Notes&nbsp;<br>
Java Development Tooling Core</h1>
Eclipse Platform Build Notes&nbsp;<br>
Eclipse SDK 3.1M1 - 15th May 2004
<br>Project org.eclipse.jdt.core v_429_Cheetah05
(<a href="http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.jdt.core/?only_with_tag=v_429_Cheetah05">cvs</a>).
<h2>
What's new in this drop</h2>
<ul>
<li>
Cast/instanceof operations are now fully supported, along with extra diagnosis for unsafe type operations.
</li>
<li>
Explicit parameterizations of message sends and constructor calls are also supported.
</li>
</ul>

<h3>Problem Reports Fixed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=62416">62416</a>
[1.5] An error has occurred when creating this (Java) editor
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=62292">62292</a>
[1.5] Missing receiver in parameterized message send
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=61507">61507</a>
[1.5] NPE in computeCompatibleMethod
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=60681">60681</a>
[1.5] Return type not strict enough
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=60563">60563</a>
[1.5] VerifyError when using generics and arrays
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=59258">59258</a>
Possibility to share compiler preferences for a shared project
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=60556">60556</a>
[1.5] Collections.unmodifiableList(List&lt;A&gt;)
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=58978">58978</a>
[1.5] Generic method needs better error reporting
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=59983">59983</a>
[1.5] Internal compiler error
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=58903">58903</a>
[1.5] Implementing inherited generic methods


<a name="v_422_Cheetah04"></a>
<p><hr><h1>
Eclipse Platform Build Notes&nbsp;<br>
Java Development Tooling Core</h1>
Eclipse Platform Build Notes&nbsp;<br>
Eclipse SDK 3.1M1 - 23th April 2004
<br>Project org.eclipse.jdt.core v_422_Cheetah04
(<a href="http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.jdt.core/?only_with_tag=v_422_Cheetah04">cvs</a>).
<h2>
What's new in this drop</h2>
<ul>
<li>
Wildcard type compatibilities got reworked quite significantly. In
particular, it now diagnoses
usage of methods which parameters are of wildcard type (see 59641).
</li>
<li>
Covariance is still not supported, but the Cheetah can now issue synthetic
bridge methods for allowing overriding to parameterized methods.
</li>
</ul>

<h3>Problem Reports Fixed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=59723">59723</a>
[1.5] Compiler rejects usage of ArrayList.toArray(char[][])
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=59628">59628</a>
[1.5] Erroneous diagnosis for missing abstract method implementation
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=59641">59641</a>
[1.5] Compiler should refuse usage of wildcard argument values
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=59147">59147</a>
[1.5] Compiler rejects correct code with wildcards and raw types
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=58979">58979</a>
[1.5] NullPointerException in compiler


<a name="v_421_Cheetah03"></a>
<p><hr><h1>
Eclipse Platform Build Notes&nbsp;<br>
Java Development Tooling Core</h1>
Eclipse Platform Build Notes&nbsp;<br>
Eclipse SDK 3.1M1 - 16th April 2004
<br>Project org.eclipse.jdt.core v_421_Cheetah03
(<a href="http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.jdt.core/?only_with_tag=v_421_Cheetah03">cvs</a>).
<h2>
What's new in this drop</h2>
<ul>
<li>
The Cheetah is now able to digest generic methods and perform type inference.
It also recognizes the Object.getClass() method and perform adequate
substitutions (see <a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=57784">57784</a>).
</li>
<li>
Generic types completion is available and type parameters are proposed
as possible completions.
Currently type parameter proposals are given by
ICompletionRequestor#acceptClass().
</li>
</ul>

<h3>Problem Reports Fixed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=58715">58715</a>
[1.5] The return type is incompatible
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=58631">58631</a>
[1.5] Cycle in hierarchy no longer detected
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=58666">58666</a>
[1.5] Object.getClass() need to be treated special ?
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=57784">57784</a>
[1.5] Errors using Arrays.asList(T [])
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=58461">58461</a>
[1.5] java.lang.VerifyError from enhanced for loop


<a name="v_421_Cheetah02"></a>
<p><hr><h1>
Eclipse Platform Build Notes&nbsp;<br>
Java Development Tooling Core</h1>
Eclipse Platform Build Notes&nbsp;<br>
Eclipse SDK 3.1M1 - 13th April 2004
<br>Project org.eclipse.jdt.core v_421_Cheetah02
(<a href="http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.jdt.core/?only_with_tag=v_421_Cheetah02">cvs</a>).
<h2>
What's new in this drop</h2>
<ul>
<li>
Properly decode signatures of parameterized member types which are flourishing in 1.5 class libs,
 and were reported as bogus inconsistencies with Cheetah01.
</li>
</ul>

<h3>Problem Reports Fixed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=53036">53036</a>
Incorrect highlighting for type problem in qualified type name
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=57716">57716</a>
[1.5] NPE compiling SelectionParser in source 1.5
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=57397">57397</a>
[1.5] Unable to save unit

<a name="v_420_Cheetah01"></a>
<p><hr><h1>
Eclipse Platform Build Notes&nbsp;<br>
Java Development Tooling Core</h1>
Eclipse Platform Build Notes&nbsp;<br>
Eclipse SDK 3.1M1 - 4th April 2004
<br>Project org.eclipse.jdt.core v_420_Cheetah01
(<a href="http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.jdt.core/?only_with_tag=v_420_Cheetah01">cvs</a>).
<h2>
What's new in this drop</h2>
<ul>
<li> JDK 1.5 support.
<li> JavaCore 1.5 specific options. Either augmented to consider 1.5 or added.
<pre>
* COMPILER / Setting Compliance Level
*    Select the compliance level for the compiler. In "1.3" mode, source and target settings
*    should not go beyond "1.3" level.
*     - option id:         "org.eclipse.jdt.core.compiler.compliance"
*     - possible values:   { "1.3", "1.4", "1.5" }
*     - default:           "1.4"
* 
* COMPILER / Setting Source Compatibility Mode
*    Specify whether which source level compatibility is used. From 1.4 on, 'assert' is a keyword
*    reserved for assertion support. Also note, than when toggling to 1.4 mode, the target VM
*   level should be set to "1.4" and the compliance mode should be "1.4".
*   Source level 1.5 is necessary to enable generics, autoboxing, covariance, annotations, enumerations
*   enhanced for loop, static imports and varargs. Once toggled, the target VM level should be set to "1.5"
*   and the compliance mode should be "1.5".
*     - option id:         "org.eclipse.jdt.core.compiler.source"
*     - possible values:   { "1.3", "1.4", "1.5" }
*     - default:           "1.3"
* 
* COMPILER / Defining Target Java Platform
*    For binary compatibility reason, .class files can be tagged to with certain VM versions and later.
*    Note that "1.4" target require to toggle compliance mode to "1.4" too. Similarily, "1.5" target require
*    to toggle compliance mode to "1.5".
*     - option id:         "org.eclipse.jdt.core.compiler.codegen.targetPlatform"
*     - possible values:   { "1.1", "1.2", "1.3", "1.4", "1.5" }
*     - default:           "1.2"
* 
* COMPILER / Reporting Unsafe Type Operation
*    When enabled, the compiler will issue an error or a warning whenever an operation involves generic types, and potentially
*    invalidates type safety since involving raw types (e.g. invoking #foo(X&lt;String&gt;) with arguments  (X)).
*     - option id:         "org.eclipse.jdt.core.compiler.problem.unsafeTypeOperation"
*     - possible values:   { "error", "warning", "ignore" }
*     - default:           "warning"
*
* COMPILER / Reporting final Bound for Type Parameter
*    When enabled, the compiler will issue an error or a warning whenever a generic type parameter is associated with a 
*    bound corresponding to a final type; since final types cannot be further extended, the parameter is pretty useless.
*     - option id:         "org.eclipse.jdt.core.compiler.problem.finalParameterBound"
*     - possible values:   { "error", "warning", "ignore" }
*     - default:           "ignore"
</pre>
</li>
</ul>

<h3>Problem Reports Fixed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=56731">56731</a>
[1.5] NPE inside ClassFileStruct when compiling with jre 1.5.0
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=51262">51262</a>
[1.5] Handling of additional bounds in type parameters
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=52673">52673</a>
[1.5] ArrayStoreException in 1.5 parser


<p><hr>
For earlier build notes, also see <a href="http://dev.eclipse.org/viewcvs/index.cgi/%7Echeckout%7E/org.eclipse.jdt.core/notes/R30_buildnotes_jdt-core.html">build notes up to Release 3.0</a>.

<br>&nbsp;
</body>
</html>
