<!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</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_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=70827">70827</a>
[Search] wrong reference match to private method of supertype
<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>
