<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
   <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
   <meta name="Author" content="IBM">
   <title>JDT/Core Release Notes 3.6</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.6 stream</b></font>
    </td>
  </tr>
  <tr><td align="left" width="72%" class="title2"><font size="-2">Java development tools 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://www.eclipse.org/jdt/core/index.php"><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.
	  For more information on 3.6 planning, please refer to <a href="http://www.eclipse.org/jdt/core/r3.6/index.php#release-plan">JDT/Core release plan</a>,
	  the next <a href="http://www.eclipse.org/jdt/core/r3.6/index.php#milestone-plan">milestone plan</a>,
	  the overall <a href="http://www.eclipse.org/eclipse/development/eclipse_project_plan_3_6.html">official plan</a>,
	  or the <a href="http://www.eclipse.org/eclipse/platform-releng/buildSchedule.html">build schedule</a>.
	  This present document covers all changes since Release 3.5 (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_5_maintenance">R3.5.x</a>,
		  <a href="http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.jdt.core/?only_with_tag=R3_4_maintenance">R3.4.x</a>,
		  <a href="http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.jdt.core/?only_with_tag=R3_3_maintenance">R3.3.x</a>,
		  <a href="http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.jdt.core/?only_with_tag=R3_2_maintenance">R3.2.x</a>,
		  <a href="http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.jdt.core/?only_with_tag=R3_1_maintenance">R3.1.x</a>,
		  <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_A14"></a>
<hr><h1>
Eclipse Platform Build Notes<br>
Java development tools core</h1>
Eclipse SDK 3.6M3 - October 13, 2009 - 3.6M3
<br>Project org.eclipse.jdt.core v_A14
(<a href="http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.jdt.core/?only_with_tag=v_A14">cvs</a>).
<h2>What's new in this drop</h2>

<h3>Problem Reports Fixed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=291391">291391</a>
update the Bundle-Version of the JDT Core Batch Compiler (ecj) from 3.3.0 to 3.6.*
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=284280">284280</a>
[1.5][compiler] Error on use generic interface in abstract super class
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=286228">286228</a>
[1.5][compiler] Generics inconsistencies possible regression
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=286601">286601</a>
[formatter] Code formatter formats anonymous inner classes wrongly when 'Never join lines' is on
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=215139">215139</a>
[search] More options for HierarchyScope
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=291472">291472</a>
[1.5][compiler] Access to a generic method is compiled incorrectly
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=283539">283539</a>
NamingConventions.suggestVariableNames doesn't work if name contains '_'
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=280784">280784</a>
[batch] Allow access restrictions to be reported as errors

<a name="v_A13"></a>
<hr><h1>
Eclipse Platform Build Notes<br>
Java development tools core</h1>
Eclipse SDK 3.6M3 - October 6, 2009
<br>Project org.eclipse.jdt.core v_A13
(<a href="http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.jdt.core/?only_with_tag=v_A13">cvs</a>).
<h2>What's new in this drop</h2>
<ul>
<li>Reverted fix for <a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=106478">106478</a>.</li>
</ul>

<h3>Problem Reports Fixed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=291322">291322</a>
Test errors when running JDT Core tests on Windows 7
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=282770">282770</a>
[compiler] Dead code detection should have specific @SuppressWarnings
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=290028">290028</a>
Use IResource#setDerived(boolean, IProgressMonitor) instead of IResource#setDerived(boolean)
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=287607">287607</a>
[1.5][compiler] cast of inner of generic enclosing type are not reported as unsafe
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=288749">288749</a>
Redundant superinterface not flagged inside one declaration
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=290905">290905</a>
[formatter] Certain formatter pref constellation cause endless loop ==&gt; OOME
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=285124">285124</a>
serialVersionUID still causes error/warning
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=290877">290877</a>
[DOM] If using a tag named '@enum' the ASTParser ignores this
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=281575">281575</a>
Eclipse hangs in SourceMapper while doing java proposals
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=290470">290470</a>
[JSR199][compiler] JDT compiler not jsr199 compatible.
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=290730">290730</a>
Rewriting SwitchStatement throws NPE

<a name="v_A12"></a>
<hr><h1>
Eclipse Platform Build Notes<br>
Java development tools core</h1>
Eclipse SDK 3.6M3 - September 29, 2009
<br>Project org.eclipse.jdt.core v_A12
(<a href="http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.jdt.core/?only_with_tag=v_A12">cvs</a>).
<h2>What's new in this drop</h2>

<h3>Problem Reports Fixed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=287676">287676</a>
[1.5][compiler] Useless cast warning not emited
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=290563">290563</a>
add specification for fine grain search flags
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=290376">290376</a>
Errant &quot;Comparing identical expressions&quot; warning with assignment
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=287592">287592</a>
[1.5][compiler] Wrong ambiguous compilation error
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=290049">290049</a>
Reconciling a compilation unit does not return an AST with bindings when it should (probably)
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=290034">290034</a>
Effects of @SuppressWarnings(&quot;unchecked&quot;) are broader in Eclipse than in javac
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=267561">267561</a>
[evaluation] LocalEvaluationEngine does not accept primitive types
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=163194">163194</a>
[1.6] compiler should warn about missing @Override annotation for interface method

<a name="v_A11"></a>
<hr><h1>
Eclipse Platform Build Notes<br>
Java development tools core</h1>
Eclipse SDK 3.6M3 - September 22, 2009
<br>Project org.eclipse.jdt.core v_A11
(<a href="http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.jdt.core/?only_with_tag=v_A11">cvs</a>).
<h2>What's new in this drop</h2>

<h3>Problem Reports Fixed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=289892">289892</a>
[compiler] NPE during binaryTypeBinding field initialization
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=287833">287833</a>
[formatter] Formatter removes the first character after the * in the &lt;pre&gt; tag
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=238943">238943</a>
SortElementsOperation doesn't use project specific settings
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=288621">288621</a>
[1.5][compiler] Creating type hierarchy failed when pressing F4
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=289538">289538</a>
[1.5][compiler] compiler fails to generate correct code for private constructor in inner class
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=289639">289639</a>
Problems opening perspective JavaPerspective, NPE on JavaModelManager.containersReset()
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=289516">289516</a>
Annotations (visible and invisible) should be preserved with target jsr14
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=289576">289576</a>
[1.5][compiler] Compiler changes 'private' modifier on methods with annotated parameter

<a name="v_A10"></a>
<hr><h1>
Eclipse Platform Build Notes<br>
Java development tools core</h1>
Eclipse SDK 3.6M2 - September 14, 2009 - 3.6M2
<br>Project org.eclipse.jdt.core v_A10
(<a href="http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.jdt.core/?only_with_tag=v_A10">cvs</a>).
<h2>What's new in this drop</h2>

<h3>Problem Reports Fixed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=288148">288148</a>
[perfs] Comments applied for performance tests may be obsolete
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=289247">289247</a>
[1.5][compiler]Detecting duplicate methods should not consider return type
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=288920">288920</a>
[compiler] NPE renaming run() method
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=288698">288698</a>
Cannot create type hierarchy for abstract types when they have inline descendants and *.class* in project name

<a name="v_A09"></a>
<hr><h1>
Eclipse Platform Build Notes<br>
Java development tools core</h1>
Eclipse SDK 3.6M2 - September 1, 2009
<br>Project org.eclipse.jdt.core v_A09
(<a href="http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.jdt.core/?only_with_tag=v_A09">cvs</a>).
<h2>What's new in this drop</h2>

<h3>Problem Reports Fixed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=287009">287009</a>
Inner Annotation Checks are Missing
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=287701">287701</a>
[dom] Length of Assignment should not include whitespace
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=285230">285230</a>
[performance] Duplicate buffers created for internal classes
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=286391">286391</a>
[compiler] jsr14 target behavior changed between ECJ 3.4.2 and ECJ 3.5

<a name="v_A08"></a>
<hr><h1>
Eclipse Platform Build Notes<br>
Java development tools core</h1>
Eclipse SDK 3.6M2 - August 25, 2009
<br>Project org.eclipse.jdt.core v_A08
(<a href="http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.jdt.core/?only_with_tag=v_A08">cvs</a>).
<h2>What's new in this drop</h2>

<h3>Problem Reports Fixed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=287462">287462</a>
[formatter] new failures in last 2 nightly builds
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=285565">285565</a>
[inline] Inlining constant or local variables causes exceptions with tab width 0
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=285799">285799</a>
HashtableOfObject rehashes and grows buffer on removeKey()
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=286912">286912</a>
[formatter] Never join lines preferences makes the formatter unstable in certain circumstances
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=286668">286668</a>
[formatter] 'Never Join Lines' joins lines that are split on method invocation
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=248661">248661</a>
Axis2:  Missing required libraries in Axis 2 WS Client Projects
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=286918">286918</a>
[javadoc] Compiler should warn when @see and @link tag references in package-info.java don't have fully qualified names
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=285466">285466</a>
[3.5 regression] fails to build IcedTea, works with 3.4.x
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=286956">286956</a>
NPE when asking to externalize constant
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=281609">281609</a>
[javadoc] &quot;Javadoc: Invalid reference&quot; warning for @link to Java package

<a name="v_A07"></a>
<hr><h1>
Eclipse Platform Build Notes<br>
Java development tools core</h1>
Eclipse SDK 3.6M2 - August 18, 2009
<br>Project org.eclipse.jdt.core v_A07
(<a href="http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.jdt.core/?only_with_tag=v_A07">cvs</a>).
<h2>What's new in this drop</h2>

<h3>Problem Reports Fixed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=286840">286840</a>
ClasspathJar getPath() should return a unique path
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=254738">254738</a>
NPE in HierarchyResolver.setFocusType
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=276294">276294</a>
Error does not go away after it is resolved
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=284785">284785</a>
[1.5][compiler] Eclipse compiler shows error on javac-valid construct: varargs plus overload
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=286405">286405</a>
Default value character of annotations in ClassFileEditor are badly printed
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=286407">286407</a>
[Model] IMemberValuePair don't return the right value for java.lang.annotation.RetentionPolicy annotations
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=285701">285701</a>
[1.5][compiler] Internal Compiler Error - ArrayIndexOutOfBoundsException

<a name="v_A06"></a>
<hr><h1>
Eclipse Platform Build Notes<br>
Java development tools core</h1>
Eclipse SDK 3.6M1 - August 3, 2009 - 3.6M1
<br>Project org.eclipse.jdt.core v_A06
(<a href="http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.jdt.core/?only_with_tag=v_A06">cvs</a>).
<h2>What's new in this drop</h2>

<h3>Problem Reports Fixed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=284948">284948</a>
[1.6][compiler] Java annotations are broken in editor when used on interface methods

<a name="v_A05"></a>
<hr><h1>
Eclipse Platform Build Notes<br>
Java development tools core</h1>
Eclipse SDK 3.6M1 - July 30, 2009
<br>Project org.eclipse.jdt.core v_A05
(<a href="http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.jdt.core/?only_with_tag=v_A05">cvs</a>).
<h2>What's new in this drop</h2>

<h3>Problem Reports Fixed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=276526">276526</a>
[content assist] Error - Type Duplicate interface Iterable for the type TestClass
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=191176">191176</a>
JavaProject#getOption optimizations

<a name="v_A04"></a>
<hr><h1>
Eclipse Platform Build Notes<br>
Java development tools core</h1>
Eclipse SDK 3.6M1 - July 28, 2009
<br>Project org.eclipse.jdt.core v_A04
(<a href="http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.jdt.core/?only_with_tag=v_A04">cvs</a>).
<h2>What's new in this drop</h2>

<h3>Problem Reports Fixed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=261909">261909</a>
ClassFileReader.getModifiers() answers funny bits
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=283225">283225</a>
[1.6][compiler] classfile versus source conformance check too strict
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=284679">284679</a>
[formatter] empty single semi statement prevent enum elements format
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=284482">284482</a>
[compiler] Collision cases not detected
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=284431">284431</a>
Different inherited thrown exception clauses are not properly handled
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=133911">133911</a>
type.move() returns unclear exception &quot;invalid destination&quot;
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=270436">270436</a>
[assist] Interface type proposed where only class is legal
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=210385">210385</a>
[compiler] ProblemReporter#getProblemCategory misbehaves when passed ProblemSeverities.Ignore as severity parameter
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=282891">282891</a>
[compiler] "Comparing identical expressions" warning sometimes invalid
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=282869">282869</a>
[compiler] Unnecessary cast warning for cast from char to int
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=270437">270437</a>
[assist] Completion proposal leads to cycle detected error
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=217443">217443</a>
Documentation for JavaCore#CORE_ENCODING does not match the observed behavior

<a name="v_A03"></a>
<hr><h1>
Eclipse Platform Build Notes<br>
Java development tools core</h1>
Eclipse SDK 3.6M1 - July 21, 2009
<br>Project org.eclipse.jdt.core v_A03
(<a href="http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.jdt.core/?only_with_tag=v_A03">cvs</a>).
<h2>What's new in this drop</h2>

<h3>Problem Reports Fixed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=283467">283467</a>
[formatter] wrong indentation with 'Never join lines' selected
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=281776">281776</a>
Should not warn for comparison of identical expression with float type
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=282768">282768</a>
[compiler] Dead code detection should ignore trivial case for ternary if operator
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=283133">283133</a>
[formatter] IAE when pasting a snippet
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=283299">283299</a>
Complete SourceRange API

<a name="v_A02"></a>
<hr><h1>
Eclipse Platform Build Notes<br>
Java Development Tooling Core</h1>
Eclipse SDK 3.6M1 - July 13, 2009
<br>Project org.eclipse.jdt.core v_A02
(<a href="http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.jdt.core/?only_with_tag=v_A02">cvs</a>).
<h2>What's new in this drop</h2>
<ul>
<li>Added new API type org.eclipse.jdt.core.SourceRange</li>
</ul>

<h3>Problem Reports Fixed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=271296">271296</a>
[assist] void typed proposal may not be appropriate in many contexts
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=281871">281871</a>
[content assist] The extension took too long to return from the 'computeCompletionProposals()' operation
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=281598">281598</a>
[assist] Problems during content assist - if project has empty zip file in classpath
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=235294">235294</a>
[formatter] javadoc for DefaultCodeFormatterConstants#FORMATTER_ALIGNMENT_FOR_ASSIGNMENT cites a non-API constant
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=280497">280497</a>
Incorrect null result for IJavaProject.getClasspathEntryFor(IPath)
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=204777">204777</a>
Clarify documentation for ITypeHierarchy created on interface types
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=88265">88265</a>
Make SourceRange API

<a name="v_A01"></a>
<hr><h1>
Eclipse Platform Build Notes<br>
Java development tools core</h1>
Eclipse SDK 3.6M1 - July 7, 2009
<br>Project org.eclipse.jdt.core v_A01
(<a href="http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.jdt.core/?only_with_tag=v_A01">cvs</a>).
<h2>What's new in this drop</h2>

<h3>Problem Reports Fixed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=260968">260968</a>
Deadlock in UserLibraryManager

<a name="v_A00"></a>
<hr><h1>
Eclipse Platform Build Notes<br>
Java development tools core</h1>
Eclipse SDK 3.6M1 - June 30, 2009
<br>Project org.eclipse.jdt.core v_A00
(<a href="http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.jdt.core/?only_with_tag=v_A00">cvs</a>).
<h2>What's new in this drop</h2>
<ul>
<li>New API added to handle the new <code>invokedynamic</code> bytecode:
<pre>
org.eclipse.jdt.core.util.ByteCodeVisitorAdapter:
	public void _invokedynamic(
			int pc,
			int index,
			IConstantPoolEntry nameEntry,
			IConstantPoolEntry descriptorEntry) {
		// default behavior is to do nothing
	}
</pre>
<pre>org.eclipse.jdt.core.util.IBytecodeVisitor#_invokedynamic(int, int, IConstantPoolEntry, IConstantPoolEntry)</pre>
<pre>org.eclipse.jdt.core.util.IOpcodeMnemonics#INVOKEDYNAMIC</pre>
</li>
</ul>

<h3>Problem Reports Fixed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=277450">277450</a>
[1.5][compiler] Problems with += and Autoboxing/Unboxing
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=206498">206498</a>
[1.7][compiler] Remove fix for bug 206483 once 1.7 VMS can handle .class files with version 51.0
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=191176">191176</a>
JavaProject#getOption optimizations
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=201762">201762</a>
Content Assist has no proposals with certain CU structure
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=281681">281681</a>
Stale code in CompilerOptions
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=231796">231796</a>
[formatter] @throws tag description is not indented using @param preference when there's a syntax error
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=255142">255142</a>
[select] Codeselect should not omit cast
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=235295">235295</a>
[formatter] javadoc of CodeFormatter#F_INCLUDE_COMMENTS needs improvement
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=280134">280134</a>
[1.5][compiler] Requesting Java AST from selection has encountered a problem
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=281317">281317</a>
[search] An internal error occurred during: "Java Search".
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=276373">276373</a>
Incorrect resource comparison with IJavaProject.isOnClasspath(IResource)
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=275518">275518</a>
[assist] Content assist does not provide proposals if invoked right after a method's opening brace
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=280888">280888</a>
change a java file in one plug-in will compile all related plugin projects
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=274466">274466</a>
[assist] Assert expressions should be proposed with high relevance
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=277382">277382</a>
NPE and other failures in Parser
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=275330">275330</a>
NPE from org.eclipse.jdt.internal.core.ClasspathChange.requestIndexing
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=273385">273385</a>
[model] NPE while closing project
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=280079">280079</a>
NPE while parsing K_CLASS_BODY_DECLARATIONS
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=280063">280063</a>
org.eclipse.jdt.internal.compiler.parser.Parser.parseClassBodyDeclarations(char[], int, int, CompilationUnitDeclaration) should return consistent results
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=267046">267046</a>
SourceMapper infinite loop on primitive type in generic
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=240934">240934</a>
Add support for the invokedynamic bytecode into the disassembler
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=267551">267551</a>
[formatter] Wrong spacing in default array parameter for annotation type
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=277965">277965</a>
[compiler] NPE in canBeSeenBy due to illegal protected toplevel class
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=273990">273990</a>
[compiler] FUP of 269388: Eclipse accepts code rejected by javac
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=279183">279183</a>
[1.6][compiler] Inconsistent stackmap frames generated by JDT cause VerifyError
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=209778">209778</a>
[search] TypeReferenceMatch#getOtherElements() fails for match in annotation
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=221065">221065</a>
[search] Search still finds overridden method
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=279836">279836</a>
[1.5][compiler] Eclipse compiler shows error on javac-valid construct: raw types on overridden methods
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=280616">280616</a>
[formatter] Valid 1.5 code is not formatted inside &lt;pre&gt; tag
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=280255">280255</a>
[formatter] Format edited lines adds two new lines on each save
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=280061">280061</a>
[formatter] AIOOBE while formatting javadoc comment
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=276938">276938</a>
Remove unreachable removes reachable logic in case statement.
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=274898">274898</a>
[recovery] IllegalArgumentException in ASTNode#setSourceRange()
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=277204">277204</a>
IAE in SharedASTProvider for generic local class.
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=276741">276741</a>
comparing identical value detection does not work for this
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=276740">276740</a>
comparing identical value detection does not work for primitive types
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=278745">278745</a>
Methods overloaded with unavailable types worked in 3.4 but give "indirectly referenced.." error in 3.5
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=278305">278305</a>
[1.5][compiler] JDT accepts supertype parameterized with wildcard
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=196308">196308</a>
[formatter] Don't escape entity when formatting in &lt;pre&gt; tags within javadoc comments
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=279359">279359</a>
[formatter] Formatter with 'never join lines' produces extra level of indent
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=273619">273619</a>
[formatter] Formatting repeats *} in javadoc

<hr>
<p>For earlier build notes, also see <a href="http://dev.eclipse.org/viewcvs/index.cgi/%7Echeckout%7E/org.eclipse.jdt.core/notes/R35_buildnotes_jdt-core.html">build notes up to Release 3.5</a>.</p>
<br>
  <p>
    <a href="http://validator.w3.org/check?uri=referer"><img
        src="http://www.w3.org/Icons/valid-html401"
        alt="Valid HTML 4.01 Transitional" height="31" width="88"></a>
  </p>
</body>
</html>

