blob: f9be712bb147e03649e2722daab2e8f81d92df97 [file] [log] [blame]
<!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.4</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.4 stream</b></font>
</td>
</tr>
<tr><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://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.4 planning, please refer to <a href="http://www.eclipse.org/jdt/core/r3.4/index.php#release-plan">JDT/Core release plan</a>,
the next <a href="http://www.eclipse.org/jdt/core/r3.4/index.php#milestone-plan">milestone plan</a>,
the overall <a href="http://www.eclipse.org/eclipse/development/eclipse_project_plan_3_4.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.3 (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_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_812"></a>
<hr><h1>
Eclipse Platform Build Notes<br>
Java Development Tooling Core</h1>
Eclipse SDK 3.4M2 - September 15, 2007 - 3.4 MILESTONE 2
<br>Project org.eclipse.jdt.core v_812
(<a href="http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.jdt.core/?only_with_tag=v_812">cvs</a>).
<h2>What's new in this drop</h2>
<ul>
<li>Added new API <code>org.eclipse.jdt.core.JavaCore#VERSION_CLDC_1_1</code> in order to support the cldc1.1 target inside the IDE.
</li>
</ul>
<h3>Problem Reports Fixed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=203454">203454</a>
NPE in compiler when processing annotations
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=203342">203342</a>
AST of a NumberLiteral has wrong source code range
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=203089">203089</a>
getDefaultOptions misses option
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=159214">159214</a>
[1.5] [compiler] Eclipse compiler wildcard bug
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=202404">202404</a>
[1.5][compiler] Incorrect handling of type variable bounds issued by capture conversion
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=203318">203318</a>
[1.5][compiler] Improper capture of wildcard with lesser bound than parameter
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=202936">202936</a>
[compiler] Compiler error for Java switch expression provides inaccurate list of allowed data types
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=203061">203061</a>
[compiler] Uninitialized member variables used in nonstatic initializers of peer members don't trigger compilation error
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=203058">203058</a>
Building workspace hangs in endless loop
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=202830">202830</a>
[compiler][1.5] eclipse fails to compile subclass when superclass has two generic methods of the same name
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=203020">203020</a>
formatter may change code semantics on unary operators
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=201182">201182</a>
[compiler][null] Null pointer access compiler warning fails when &quot;throw null&quot;
<a name="v_811"></a>
<hr><h1>
Eclipse Platform Build Notes<br>
Java Development Tooling Core</h1>
Eclipse SDK 3.4M2 - September 11, 2007
<br>Project org.eclipse.jdt.core v_811
(<a href="http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.jdt.core/?only_with_tag=v_811">cvs</a>).
<h2>What's new in this drop</h2>
<ul>
<li>Added an option that allows @throws javadoc entries to defuse the unused
declared thrown exception check.
<pre>
COMPILER / Consider Reference in Doc Comment for Unused Declared Thrown Exception Check
When enabled, the compiler will consider doc comment references to exceptions
(i.e. @throws clauses) for the unused declared thrown exception check. Thus,
documented exceptions will be considered as mandated as per doc contract.
The severity of the unused declared thrown exception problem is controlled
with option "org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownException".
Note: this option has no effect until the doc comment support is enabled
according to the option "org.eclipse.jdt.core.compiler.doc.comment.support".
- option id: "org.eclipse.jdt.core.compiler.problem.unusedDeclaredThrownExceptionIncludeDocReference"
- possible values: { "enabled", "disabled" }
- default: "enabled"
</pre>
See bug <a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=73244">73244</a>
for details.
</li>
</ul>
<h3>Problem Reports Fixed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=73244">73244</a>
[options] Improve &quot;Unnecessary declaration of thrown checked exceptions&quot;
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=89301">89301</a>
Any user operation that would trigger an autobuild should cancel a running autobuild
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=184298">184298</a>
[compiler][null] Spurious &quot;Variable can only be null&quot; warning in case of an infinite loop
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=201929">201929</a>
Member of local type should not have a fully qualified name
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=202134">202134</a>
[1.6][compiler] org.eclipse.jdt.tests.compiler.regression.ConformTest#test003 never ends in .16 mode
<a name="v_810"></a>
<hr><h1>
Eclipse Platform Build Notes<br>
Java Development Tooling Core</h1>
Eclipse SDK 3.4M2 - September 4, 2007
<br>Project org.eclipse.jdt.core v_810
(<a href="http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.jdt.core/?only_with_tag=v_810">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=202076">202076</a>
NPE in DeltaProcessor
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=182359">182359</a>
[compiler] optimize line number generation using the new getLineNumber method
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=185350">185350</a>
[1.6][compiler] Code generation seems to be much slower than in 1.5 mode
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=196253">196253</a>
[1.5][compiler] Failure to compile generics with wildcard and inner classes
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=189158">189158</a>
[1.5][compiler] Malformed generic signature for nested classes (. vs $)
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=201062">201062</a>
Missing library in project classpath even library exists
<a name="v_809"></a>
<hr><h1>
Eclipse Platform Build Notes<br>
Java Development Tooling Core</h1>
Eclipse SDK 3.4M2 - August 28, 2007
<br>Project org.eclipse.jdt.core v_809
(<a href="http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.jdt.core/?only_with_tag=v_809">cvs</a>).
<h2>What's new in this drop</h2>
<ul>
<li>Prefix matching can be disabled while using Camel Case API methods. (see
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=124624">bug 124624</a>).<br>
Following API methods have been added on <code>org.eclipse.jdt.core.compiler.CharOperation</code>:
<pre>
/**
* Answers true if the pattern matches the given name using CamelCase rules, or
* false otherwise. char[] CamelCase matching does NOT accept explicit wild-cards
* '*' and '?' and is inherently case sensitive.
*
* CamelCase denotes the convention of writing compound names without spaces,
* and capitalizing every term. This function recognizes both upper and lower
* CamelCase, depending whether the leading character is capitalized or not.
* The leading part of an upper CamelCase pattern is assumed to contain a
* sequence of capitals which are appearing in the matching name; e.g. 'NPE' will
* match 'NullPointerException', but not 'NewPerfData'. A lower CamelCase pattern
* uses a lowercase first character. In Java, type names follow the upper
* CamelCase convention, whereas method or field names follow the lower
* CamelCase convention.
*
* The pattern may contain lowercase characters, which will be match in a case
* sensitive way. These characters must appear in sequence in the name.
* For instance, 'NPExcep' will match 'NullPointerException', but not
* 'NullPointerExCEPTION' or 'NuPoEx' will match 'NullPointerException', but not
* 'NoPointerException'.
*
* Digit characters are treated in a special way. They can be used in the pattern
* but are not always considered as leading character. For instance, both
* 'UTF16DSS' and 'UTFDSS' patterns will match 'UTF16DocumentScannerSupport'.
*
* CamelCase may or may not match prefixes depending on the given parameter.
* When the prefix match parameter is <code>true</code>, the given pattern can
* match only a prefix of the given name. For instance, 'HM' , 'HaMa' and 'HMap'
* patterns will all match 'HashMap', 'HatMapper' <b>and</b> 'HashMapEntry'.
* Reversely, if the prefix match parameter is <code>false</code>, then pattern
* and name must have <b>exactly</b> the same number of parts, and their last
* parts must be identical if they contain lowercase characters.
* For instance, 'HMap' and 'HaMap' patterns will match 'HashMap' but neither
* 'HashMapEntry' nor 'HatMapper'. Note that when the last part does not contain
* lowercase characters, then the name may end with lowercase characters.
* So, 'HM' pattern will match both 'HashMap' <b>and</b> 'HatMapper' but will not
* match 'HashMapEntry'.
*
* Examples:
* 1. pattern = { 'N', 'P', 'E' }
* name = { 'N', 'u','l', 'l', 'P', 'o', 'i', 'n', 't', 'e', 'r', 'E', 'x', 'c', 'e', 'p', 't', 'i', 'o', 'n' }
* result => true
* 2. pattern = { 'N', 'P', 'E' }
* name = { 'N', 'o', 'P', 'e', 'r', 'm', 'i', 's', 's', 'i', 'o', 'n', 'E', 'x', 'c', 'e', 'p', 't', 'i', 'o', 'n' }
* result => true
* 3. pattern = { 'N', 'u', 'P', 'o', 'E', 'x' }
* name = { 'N', 'u','l', 'l', 'P', 'o', 'i', 'n', 't', 'e', 'r', 'E', 'x', 'c', 'e', 'p', 't', 'i', 'o', 'n' }
* result => true
* 4. pattern = { 'N', 'u', 'P', 'o', 'E', 'x' }
* name = { 'N', 'o', 'P', 'e', 'r', 'm', 'i', 's', 's', 'i', 'o', 'n', 'E', 'x', 'c', 'e', 'p', 't', 'i', 'o', 'n' }
* result => false
* 5. pattern = { 'n', p', 'e' }
* name = { 'N', 'u','l', 'l', 'P', 'o', 'i', 'n', 't', 'e', 'r', 'E', 'x', 'c', 'e', 'p', 't', 'i', 'o', 'n' }
* result => false
* 6. pattern = { 'I', 'P', 'L', '3' }
* name = { 'I', 'P', 'e', 'r', 's', 'p', 'e', 'c', 't', 'i', 'v', 'e', 'L', 'i', 's', 't', 'e', 'n', 'e', 'r', '3' }
* result => true
* 7. pattern = { 'H', M' }
* name = { 'H', 'a', 's', 'h', 'M', 'a', 'p', 'E', 'n', 't', 'r', 'y' }
* result => (prefixMatch == true)
* 8. pattern = { 'H', M', 'a', 'p' }
* name = { 'H', 'a', 't', 'M', 'a', 'p', 'p', 'e', 'r' }
* result => (prefixMatch == true)
*
* @param pattern the given pattern
* @param name the given name
* @param prefixMatch flag telling whether the pattern can match name prefix or not.
* . For example, when it's <code>true</code>:
* - 'HM' type string pattern will match 'HashMap' and 'HtmlMapper' types,
* but not 'HashMapEntry'
* - 'HMap' type string pattern will match 'HashMap' type but not 'HtmlMapper'.
* . and, when it's <code>false</code>:
* - 'HM' type string pattern will match both 'HashMap' and 'HtmlMapper'
* and 'HashMapEntry'
* - 'HMap' type string pattern will match both 'HashMap' and 'HtmlMapper'
* types.
*
* @return true if the pattern matches the given name, false otherwise
* @since 3.4
*/
public static final boolean camelCaseMatch(char[] pattern, char[] name, boolean prefixMatch) {
...
}
/**
* Answers true if a sub-pattern matches the sub-part of the given name using
* CamelCase rules, or false otherwise. char[] CamelCase matching does NOT
* accept explicit wild-cards '*' and '?' and is inherently case sensitive.
* Can match only subset of name/pattern, considering end positions as
* non-inclusive. The sub-pattern is defined by the patternStart and patternEnd
* positions.
*
* CamelCase denotes the convention of writing compound names without spaces,
* and capitalizing every term. This function recognizes both upper and lower
* CamelCase, depending whether the leading character is capitalized or not.
* The leading part of an upper CamelCase pattern is assumed to contain
* a sequence of capitals which are appearing in the matching name; e.g. 'NPE' will
* match 'NullPointerException', but not 'NewPerfData'. A lower CamelCase pattern
* uses a lowercase first character. In Java, type names follow the upper
* CamelCase convention, whereas method or field names follow the lower
* CamelCase convention.
*
* The pattern may contain lowercase characters, which will be match in a case
* sensitive way. These characters must appear in sequence in the name.
* For instance, 'NPExcep' will match 'NullPointerException', but not
* 'NullPointerExCEPTION' or 'NuPoEx' will match 'NullPointerException', but not
* 'NoPointerException'.
*
* Digit characters are treated in a special way. They can be used in the pattern
* but are not always considered as leading character. For instance, both
* 'UTF16DSS' and 'UTFDSS' patterns will match 'UTF16DocumentScannerSupport'.
*
* CamelCase may or may not match prefixes depending on the given parameter.
* When the prefix match parameter is <code>true</code>, the given pattern can
* match only a prefix of the given name. For instance, 'HM' , 'HaMa' and 'HMap'
* patterns will all match 'HashMap', 'HatMapper' <b>and</b> 'HashMapEntry'.
* Reversely, if the prefix match parameter is <code>false</code>, then pattern
* and name must have <b>exactly</b> the same number of parts, and their last
* parts must be identical if they contain lowercase characters.
* For instance, 'HMap' and 'HaMap' patterns will match 'HashMap' but neither
* 'HashMapEntry' nor 'HatMapper'. Note that when the last part does not contain
* lowercase characters, then the name may end with lowercase characters.
* So, 'HM' pattern will match both 'HashMap' <b>and</b> 'HatMapper' but will not
* match 'HashMapEntry'.
*
* Examples:
* 1. pattern = { 'N', 'P', 'E' }
* patternStart = 0
* patternEnd = 3
* name = { 'N', 'u','l', 'l', 'P', 'o', 'i', 'n', 't', 'e', 'r', 'E', 'x', 'c', 'e', 'p', 't', 'i', 'o', 'n' }
* nameStart = 0
* nameEnd = 20
* result => true
* 2. pattern = { 'N', 'P', 'E' }
* patternStart = 0
* patternEnd = 3
* name = { 'N', 'o', 'P', 'e', 'r', 'm', 'i', 's', 's', 'i', 'o', 'n', 'E', 'x', 'c', 'e', 'p', 't', 'i', 'o', 'n' }
* nameStart = 0
* nameEnd = 21
* result => true
* 3. pattern = { 'N', 'u', 'P', 'o', 'E', 'x' }
* patternStart = 0
* patternEnd = 6
* name = { 'N', 'u','l', 'l', 'P', 'o', 'i', 'n', 't', 'e', 'r', 'E', 'x', 'c', 'e', 'p', 't', 'i', 'o', 'n' }
* nameStart = 0
* nameEnd = 20
* result => true
* 4. pattern = { 'N', 'u', 'P', 'o', 'E', 'x' }
* patternStart = 0
* patternEnd = 6
* name = { 'N', 'o', 'P', 'e', 'r', 'm', 'i', 's', 's', 'i', 'o', 'n', 'E', 'x', 'c', 'e', 'p', 't', 'i', 'o', 'n' }
* nameStart = 0
* nameEnd = 21
* result => false
* 5. pattern = { 'n', p', 'e' }
* patternStart = 0
* patternEnd = 3
* name = { 'N', 'u','l', 'l', 'P', 'o', 'i', 'n', 't', 'e', 'r', 'E', 'x', 'c', 'e', 'p', 't', 'i', 'o', 'n' }
* nameStart = 20
* nameEnd = 9
* result => false
* 6. pattern = { 'I', 'P', 'L', '3' }
* patternStart = 0
* patternEnd = 4
* name = { 'I', 'P', 'e', 'r', 's', 'p', 'e', 'c', 't', 'i', 'v', 'e', 'L', 'i', 's', 't', 'e', 'n', 'e', 'r', '3' }
* nameStart = 0
* nameEnd = 21
* result => true
* 7. pattern = { 'H', M' }
* patternStart = 0
* patternEnd = 2
* name = { 'H', 'a', 's', 'h', 'M', 'a', 'p', 'E', 'n', 't', 'r', 'y' }
* nameStart = 0
* nameEnd = 12
* result => (prefixMatch == true)
* 8. pattern = { 'H', M', 'a', 'p' }
* patternStart = 0
* patternEnd = 4
* name = { 'H', 'a', 't', 'M', 'a', 'p', 'p', 'e', 'r' }
* nameStart = 0
* nameEnd = 9
* result => (prefixMatch == true)
*
* @param pattern the given pattern
* @param patternStart the start index of the pattern, inclusive
* @param patternEnd the end index of the pattern, exclusive
* @param name the given name
* @param nameStart the start index of the name, inclusive
* @param nameEnd the end index of the name, exclusive
* @param prefixMatch flag telling whether the pattern can match name prefix or not.
* . For example, when it's <code>true</code>:
* - 'HM' type string pattern will match 'HashMap' and 'HtmlMapper' types,
* but not 'HashMapEntry'
* - 'HMap' type string pattern will match 'HashMap' type but not 'HtmlMapper'.
* . and, when it's <code>false</code>:
* - 'HM' type string pattern will match both 'HashMap' and 'HtmlMapper'
* and 'HashMapEntry'
* - 'HMap' type string pattern will match both 'HashMap' and 'HtmlMapper'
* types.
*
* @return true if a sub-pattern matches the sub-part of the given name, false otherwise
* @since 3.4
*/
public static final boolean camelCaseMatch(char[] pattern, int patternStart, int patternEnd, char[] name, int nameStart, int nameEnd, boolean prefixMatch) {
...
}
</pre>
Note that same methods have been added on <code>SearchPattern</code> but with
<code>String</code> parameters instead of <code>char[]</code> ones (javadoc comments
are identical):
<pre>
public static final boolean camelCaseMatch(String pattern, String name, boolean prefixMatch) {
...
}
public static final boolean camelCaseMatch(String pattern, int patternStart, int patternEnd, String name, int nameStart, int nameEnd, boolean prefixMatch) {
...
}
</pre>
Note also that methods <code>camelCaseMatch(String, int, int, String, int, int)</code>
of <code>CharOperation</code> and <code>SearchPattern</code> classes have been
deprecated to avoid too many 'camelCaseMatch*' methods on these classes.
</li>
<li>Search Engine has been modified to better handle additional <code>SearchPattern</code>
constants while using Camel Case one (see <a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=200400">bug 200400</a>).<br>
Existing <code>SearchPattern#R_CAMELCASE_MATCH</code> constant has been deprecated and<br>
is <b>now replaced by <code>SearchPattern#R_CAMEL_CASE_MATCH</code></b>:<pre>
/**
* Match rule: The search pattern contains a Camel Case expression with
* a strict number of parts and preventing automatic prefix matching for the last
* part (if it consists of multiple letters).
*
* Examples:
* . 'HM' type string pattern will match 'HashMap' and 'HtmlMapper' types,
* but not 'HashMapEntry'
* . 'HMap' type string pattern will match 'HashMap' type but not 'HtmlMapper'.
*
* This Camel Case match rule does not allow prefix match but accept insensitive
* case. For instance, 'HashMap' or 'HASHMAP' patterns using this Camel Case
* rule will match both 'HashMap' but not 'HashMapEntry'.
*
* This rule still can be combined to prefix match to accept prefix matches
* ('HashMap' pattern matching 'HashMapEntry' name). It can also be combined
* to case sensitive match to reject case insensitive matches ('HAMA' pattern
* will not match 'HashMap' name).
*
* If {@link #R_PATTERN_MATCH} rule is also combined, then the real used
* match rule will depend on whether string pattern contains specific pattern
* characters (e.g. '*' or '?') or not. If it does, then only Pattern match rule will
* be used, otherwise only Camel Case match will be used.
* For example, with 'NPE' string pattern, search will only use
* Camel Case match rule, but with 'N*P*E*' string pattern, it will
* use only Pattern match rule.
*
* @see CharOperation#camelCaseMatch(char[], char[], boolean) for a detailed
* explanation of Camel Case matching.
*
* @since 3.4
*/
public static final int R_CAMEL_CASE_MATCH = 0x0100;
</pre>
This change was necessary has the obsolete <code>R_CAMELCASE_MATCH</code> could
not support correctly additional constants as <code>R_PREFIX_MATCH</code> or
<code>R_CASE_SENSITIVE</code>.<br>
However, this deprecated constant is still accepted for backward compatibility
but user is advised to replace it with <code>R_CAMEL_CASE_MATCH | R_PREFIX_MATCH</code>
</li>
</ul>
<h3>Problem Reports Fixed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=201066">201066</a>
[prefs] Preferences listeners are not removed while shutting down JavaModelManager
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=152841">152841</a>
[model] IJavaProject.findType(name, monitor) doesn't find secondary type
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=108456">108456</a>
IPackageFragmentRoot#getPackageFragment() should not accept invalid package names
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=201104">201104</a>
JavaElement of a recovered type binding should not return a compilation unit with no parent
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=190622">190622</a>
type binding marked as recovered but all is compiling
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=201064">201064</a>
[search] SearchEngine.searchAllTypeNames(..) does not find CamelCase match
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=183117">183117</a>
User Library Lost
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=200400">200400</a>
[search] Camel Case match prefix insensitive although spec says prefix sensitive
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=124624">124624</a>
[search] Camelcase matching routines should support end character
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=191739">191739</a>
"Duplicate nested type" bogus error on static class of abstract class or interface
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=200931">200931</a>
GENERATED_BY references still exist in some javadoc comments
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=200547">200547</a>
[1.5][compiler] Invalid ambiguous error when calling an overriden generic method with MULTIPLE bounds
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=198120">198120</a>
[1.5][compiler] Cannot directly invoke the abstract method huch(I1) for the type I1
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=196254">196254</a>
Overrides wrong for wildcard parameterized methods
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=193265">193265</a>
[1.5][compiler] Incorrect ambiguous method error involving abstract classes and enums
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=198253">198253</a>
unversioned downloads of ecj.jar and ecjsrc.zip
<a name="v_808"></a>
<hr><h1>
Eclipse Platform Build Notes<br>
Java Development Tooling Core</h1>
Eclipse SDK 3.4M2 - August 21, 2007
<br>Project org.eclipse.jdt.core v_808
(<a href="http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.jdt.core/?only_with_tag=v_808">cvs</a>).
<h2>What's new in this drop</h2>
<ul>
<li>New fix for <a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=186781">bug 186781</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>API method <code>JavaProject.setOption(String, String)</code> behavior has been slightly changed consequent upon following bugs fixing:
<ul>
<li><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=152562">bug 152562</a>:
<code>null</code> is now accepted for the option value and remove the corresponding preference from the project,</li>
<li><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=152578">bug 152578</a>:
the preference is not removed from project when the value is equals to the workspace preference value.</li>
</ul>
</li>
</ul>
<h3>Problem Reports Fixed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=183923">183923</a>
[prefs] NPE in JavaProject#setOptions
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=152578">152578</a>
[prefs] IJavaProject.setOption(Object,Object) wrongly removes key when value is equals to JavaCore one
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=152562">152562</a>
[prefs] IJavaProject.setOption(..., null) does not work
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=200449">200449</a>
[model] Classpath variable deprecation message is not flushed from cache when variable is removed
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=186113">186113</a>
[model] classpath variable deprecation messages not initialized when called
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=109695">109695</a>
[search] Numbers should be treated as upper-case letters in CamelCase matching
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=186781">186781</a>
StackOverflowError while computing launch button tooltip
<a name="v_807"></a>
<hr><h1>
Eclipse Platform Build Notes<br>
Java Development Tooling Core</h1>
Eclipse SDK 3.4M2 - August 15, 2007
<br>Project org.eclipse.jdt.core v_807
(<a href="http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.jdt.core/?only_with_tag=v_807">cvs</a>).
<h2>What's new in this drop</h2>
<ul>
<li>New fix for <a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=200064">bug 200064</a> required the index version to be incremented.
Indexes will be automatically regenerated upon subsequent search queries (accounting for indexing notification in search progress dialogs).
</li>
</ul>
<h3>Problem Reports Fixed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=200064">200064</a>
[search] ResourceException while searching for method reference
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=198051">198051</a>
[1.5][compiler] Improper Polymorphic Exception Handling
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=194399">194399</a>
IJavaProject.findType(String, String, WorkingCopyOwner) doesn't return the same element with different VMs.
<a name="v_806"></a>
<hr><h1>
Eclipse Platform Build Notes<br>
Java Development Tooling Core</h1>
Eclipse SDK 3.4M2 - August 14, 2007
<br>Project org.eclipse.jdt.core v_806
(<a href="http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.jdt.core/?only_with_tag=v_806">cvs</a>).
<h2>What's new in this drop</h2>
<ul>
<li>New fix for <a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=138184">bug 138184</a> required the index version to be incremented.
Indexes will be automatically regenerated upon subsequent search queries (accounting for indexing notification in search progress dialogs).
</li>
</ul>
<h3>Problem Reports Fixed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=169970">169970</a>
[model] code assist favorites must honour build path of project in context
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=135493">135493</a>
[search] Clarify TypeNameRequestor#acceptType(...)
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=138184">138184</a>
[search] Type Dialog (Could not uniquely map the name to a type)
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=199004">199004</a>
[search] Java Search in 'JRE libraries' finds matches in Application Libraries
<a name="v_805"></a>
<hr><h1>
Eclipse Platform Build Notes<br>
Java Development Tooling Core</h1>
Eclipse SDK 3.4M1 - August 2, 2007 - 3.4 MILESTONE 1
<br>Project org.eclipse.jdt.core v_805
(<a href="http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.jdt.core/?only_with_tag=v_805">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=198483">198483</a>
BuilderTests: need expectingUniqueCompiledClasses method
<a name="v_804"></a>
<hr><h1>
Eclipse Platform Build Notes<br>
Java Development Tooling Core</h1>
Eclipse SDK 3.4M1 - August 1, 2007
<br>Project org.eclipse.jdt.core v_804
(<a href="http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.jdt.core/?only_with_tag=v_804">cvs</a>).
<h2>What's new in this drop</h2>
<ul>
<li>All tests projects and org.eclipse.jdt.compiler.tool project's versions have been incremented.</li>
</ul>
<h3>Problem Reports Fixed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=198362">198362</a>
Formatter stops working when source code contains following line
<a name="v_803"></a>
<hr><h1>
Eclipse Platform Build Notes<br>
Java Development Tooling Core</h1>
Eclipse SDK 3.4M1 - July 30, 2007
<br>Project org.eclipse.jdt.core v_803
(<a href="http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.jdt.core/?only_with_tag=v_803">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=109636">109636</a>
Comment formatter doesn't support &quot;&amp;#42;/&quot;
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=197169">197169</a>
Formatter expands &amp;#64; in annotation in javadoc, creating invalid tag
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=198153">198153</a>
[formatter] adds extra space before expanded numerical entity
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=197400">197400</a>
NPE for completion engine in class static block
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=53727">53727</a>
[Tasks] longest tags should match
<a name="v_802"></a>
<hr><h1>
Eclipse Platform Build Notes<br>
Java Development Tooling Core</h1>
Eclipse SDK 3.4M1 - July 23, 2007
<br>Project org.eclipse.jdt.core v_802
(<a href="http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.jdt.core/?only_with_tag=v_802">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=166093">166093</a>
[search] NPE searching for references to private static method in class file
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=196514">196514</a>
Bunch of exception during code typing in JDT editor
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=186333">186333</a>
[search] Should better locate fields and methods matches on binary super types with unresolved references
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=167357">167357</a>
non-empty init block in local member type has no children
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=186114">186114</a>
IMethodBinding.overrides(..) should consider static
<a name="v_801"></a>
<hr><h1>
Eclipse Platform Build Notes<br>
Java Development Tooling Core</h1>
Eclipse SDK 3.4M1 - July 17, 2007
<br>Project org.eclipse.jdt.core v_801
(<a href="http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.jdt.core/?only_with_tag=v_801">cvs</a>).
<h2>What's new in this drop</h2>
<ul>
<li>Incremented JDT/Core plug-in id to "3.4.0" as fix for 186822 adds new constants in <code>org.eclipse.jdt.core.compiler.IProblem</code>.
</li>
</ul>
<h3>Problem Reports Fixed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=196339">196339</a>
[search] SearchEngine not returning correct result
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=196354">196354</a>
ClassCastException in package binding
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=196249">196249</a>
problem in parsing
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=195802">195802</a>
Name clash compile error generated if superclass is abstract
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=195468">195468</a>
[1.5][compiler] Eclipse compiler differs from javac with generics (name clash)
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=196653">196653</a>
[compiler] More resilience with unbound caught exceptions
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=192387">192387</a>
Wrong warning location for a non static reference to an enum value.
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=195228">195228</a>
[search] Invalid path in open type dialog
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=186822">186822</a>
[1.5][compiler] Add more resilience on annotation and enum type declaration with type parameters
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=97998">97998</a>
[builder] improve the error handling in case the build encounters a locked file within the the output folder
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=188876">188876</a>
[assist] Proposals inside an import statement shouldn't be fully qualified
<a name="v_800"></a>
<hr><h1>
Eclipse Platform Build Notes<br>
Java Development Tooling Core</h1>
Eclipse SDK 3.4M1 - July 9, 2007
<br>Project org.eclipse.jdt.core v_800
(<a href="http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.jdt.core/?only_with_tag=v_800">cvs</a>).
<h2>What's new in this drop</h2>
<ul>
<li>Incremented JDT/Core plug-in id to "3.3.100". Will go to "3.4.0" as soon as an API/feature gets added.
</li>
</ul>
<h3>Problem Reports Fixed</h3>
<a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=190960">190960</a>
[batch][compiler] help message for annotations processing should be improved
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=103654">103654</a>
BindingKey.getTypeArguments bug with qualified types
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=191125">191125</a>
[1.5] [assist] NPE in CompletionEngine.proposeType()
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=195489">195489</a>
[search] Javadoc reference not found while using SearchEngine.searchDeclarationsOfReferencedTypes
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=195317">195317</a>
[compiler] java.lang.ClassFormatError: Invalid pc in LineNumberTable
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=195509">195509</a>
Need to improve classpath resolution for Apache Harmony in org/eclipse/jdt/core/tests/util/Util.java
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=195526">195526</a>
org.eclipse.jdt.core.tests.compiler.regression.GenericTypeTest.test0744 depends on non-specified package-private class HashMap.Entry implementation
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=191082">191082</a>
AnnotationMirror.getPosition() returns wrong value
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=189799">189799</a>
[jsr269] Make getDocComment() behave more like javac
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=192774">192774</a>
Annotation AST nodes should have unique IAnnotationBindings
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=171703">171703</a>
Eclipse cannot find source for *.class files
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=193979">193979</a>
AST parser generates wrong AST
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=95288">95288</a>
[model] CreatePackageFragmentOperation runs with wrong ISchedulingRule
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=142044">142044</a>
[search] &quot;And&quot; Pattern fails with NullPointerException
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=111882">111882</a>
[assist] Invalid relevance while completing in case of a switch
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=195263">195263</a>
Update exportplugins.xml to 3.3.100 and 3.4
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=181488">181488</a>
[index] Lots of unbuffered sequential reads in DiskIndex
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=18311">18311</a>
api: ISourceReference::getSource can return undocumented result
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=129560">129560</a>
[spec] Questionable javadoc for IJavaElement#isStructureKnown()
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=178226">178226</a>
Clarify spec for IJarEntryResource
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=163229">163229</a>
[model] IAccessRule does not say it cannot be implemented by clients
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=149590">149590</a>
[model] bindings for duplicate local variables share same key
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=195091">195091</a>
Index is rebuilt on each startup
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=170889">170889</a>
[5.0][content assist] strange label for 'class' proposal
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=190965">190965</a>
[compiler] useless assignment to local variable parameters in Scope line 431
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=153125">153125</a>
[getter setter] Getters/setters for variables starting with non-Latin letter are generated incorrectly
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=186760">186760</a>
Two cases of switch in DeltaProcessor#fire could be merged
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=170954">170954</a>
void should not be proposed inside method
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=120766">120766</a>
problems when using classes of the same name
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=137452">137452</a>
Autocomplete adds &quot;Void&quot; instead of doing nothing
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=194420">194420</a>
Misleading error message when build fails due to out of sync workspace
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=132139">132139</a>
[assist] Duplicate names while completing in local variable declaration
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=99631">99631</a>
[assist][5.0] Unnecessary proposals on annotation completion
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=171037">171037</a>
[codeassist] if 1.4 or higher code assist after 'import' should not suggest types from default package
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=139446">139446</a>
[build path] bug in the Edit Library dialog box, when changing the default JRE, and switching from alternate JRE to workspace default
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=192497">192497</a>
Cannot always find method definition, depending on cursor position
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=151967">151967</a>
[1.5][assist] Code completion with enumerations implementing an interface
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=150632">150632</a>
[assist] Content Assist and Parameter Hints sometimes don't work for constructor call
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=194435">194435</a>
JDT Core manifest contains invalid prereqed version
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=185318">185318</a>
[assist] No proposals when completing inside a method import
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=102031">102031</a>
Content assist proposes same type twice after &quot;call(new |&quot;
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=157069">157069</a>
[assist] Content Assist introduces compile error
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=119434">119434</a>
[code select] Code select returns doubled java element
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=194034">194034</a>
[1.5][Compiler] Inconsistency with javac: subclass does not properly inherit generic method
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=185037">185037</a>
Optimization opportunity in MethodVerifier
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=191928">191928</a>
Use Util.log instead of printStackTrace at AbstractImageBuilder#612
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=194185">194185</a>
[search] for package declarations finds also subpackages
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=191908">191908</a>
[1.5][compiler] Missing strike through for deprecated declaration fragment
<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=192285">192285</a>
[formatter] Java source formatter not working if class has annotation on single line multiple fields declaration.
<hr>
<p>For earlier build notes, also see <a href="http://dev.eclipse.org/viewcvs/index.cgi/%7Echeckout%7E/org.eclipse.jdt.core/notes/R33_buildnotes_jdt-core.html">build notes up to Release 3.3</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>