diff options
22 files changed, 127 insertions, 57 deletions
diff --git a/org.eclipse.jdt.core/batch/org/eclipse/jdt/internal/compiler/batch/messages.properties b/org.eclipse.jdt.core/batch/org/eclipse/jdt/internal/compiler/batch/messages.properties index 56bc908f2d..dec2ba5078 100644 --- a/org.eclipse.jdt.core/batch/org/eclipse/jdt/internal/compiler/batch/messages.properties +++ b/org.eclipse.jdt.core/batch/org/eclipse/jdt/internal/compiler/batch/messages.properties @@ -12,7 +12,7 @@ ### compiler compiler.name = Eclipse Java Compiler -compiler.version = 0.430_Cheetah05 +compiler.version = 0.434_Cheetah05 compiler.copyright = Copyright IBM Corp 2000, 2004. All rights reserved. ### scanning diff --git a/org.eclipse.jdt.core/buildnotes_jdt-core.html b/org.eclipse.jdt.core/buildnotes_jdt-core.html index 5457699eba..662846d053 100644 --- a/org.eclipse.jdt.core/buildnotes_jdt-core.html +++ b/org.eclipse.jdt.core/buildnotes_jdt-core.html @@ -153,11 +153,69 @@ Incorrect highlighting for type problem in qualified type name [1.5] ArrayStoreException in 1.5 parser +<a name="v_434"></a> +<p><hr><h1> +Eclipse Platform Build Notes <br> +Java Development Tooling Core</h1> +Eclipse SDK 3.0RC1 Build - ?th May 2004 +<br>Project org.eclipse.jdt.core v_434 +(<a href="http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.jdt.core/?only_with_tag=v_434">cvs</a>). +<h2> +What's new in this drop</h2> +<ul> +</ul> + +<h3>Problem Reports Fixed</h3> + + +<a name="v_433"></a> +<p><hr><h1> +Eclipse Platform Build Notes <br> +Java Development Tooling Core</h1> +Eclipse SDK 3.0M9 Build - 21st May 2004 - 3.0 MILESTONE-9 / 3.0 RELEASE CANDIDATE 0 +<br>Project org.eclipse.jdt.core v_433 +(<a href="http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.jdt.core/?only_with_tag=v_433">cvs</a>). +<h2> +What's new in this drop</h2> +<ul>Put back test org.eclipse.jdt.core.tests.model.JavaElementDeltaTests.testBuildProjectUsedAsLib() +after bug <a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=62927">62927</a> was fixed. +</ul> + +<a name="v_432"></a> +<p><hr><h1> +Eclipse Platform Build Notes <br> +Java Development Tooling Core</h1> +Eclipse SDK 3.0M9 Build - 20th May 2004 +<br>Project org.eclipse.jdt.core v_432 +(<a href="http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.jdt.core/?only_with_tag=v_432">cvs</a>). +<h2> +What's new in this drop</h2> +<ul>Excluded test org.eclipse.jdt.core.tests.model.JavaElementDeltaTests.testBuildProjectUsedAsLib() +</ul> + +<a name="v_431"></a> +<p><hr><h1> +Eclipse Platform Build Notes <br> +Java Development Tooling Core</h1> +Eclipse SDK 3.0M9 Build - 20th May 2004 +<br>Project org.eclipse.jdt.core v_431 +(<a href="http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.jdt.core/?only_with_tag=v_431">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=62881">62881</a> +JDT/Core could be contributing a content type for JAR manifests +<br><a href="http://bugs.eclipse.org/bugs/show_bug.cgi?id=58580">58580</a> +VariableBinding.getVariableId() returns wrong IDs for nested types + <a name="v_430"></a> <p><hr><h1> Eclipse Platform Build Notes <br> Java Development Tooling Core</h1> -Eclipse SDK 3.0M9 Build - 18th May 2004 - 3.0 MILESTONE-9 / 3.0 RELEASE CANDIDATE 0 +Eclipse SDK 3.0M9 Build - 18th May 2004 <br>Project org.eclipse.jdt.core v_430 (<a href="http://dev.eclipse.org/viewcvs/index.cgi/org.eclipse.jdt.core/?only_with_tag=v_430">cvs</a>). <h2> diff --git a/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/AST.java b/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/AST.java index 1030461707..754efa8dc2 100644 --- a/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/AST.java +++ b/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/AST.java @@ -93,7 +93,7 @@ public final class AST { * * @since 3.0 */ - // TODO (jeem) deprecated Clients should use the JLS3 API. + // TODO (jeem) When JLS3 support is complete (post 3.0) - deprecated Clients should use the JLS3 API. public static final int JLS2 = 2; /** @@ -213,7 +213,7 @@ public final class AST { * * @see JavaCore#getDefaultOptions() */ - // TODO (jeem) deprecated Clients should port their code to use the new JLS3 API and call {@link #newAST(int)} instead of using this constructor. + // TODO (jeem) When JLS3 support is complete (post 3.0) - deprecated Clients should port their code to use the new JLS3 API and call {@link #newAST(int)} instead of using this constructor. public AST() { this(JavaCore.getDefaultOptions()); } @@ -275,7 +275,7 @@ public final class AST { * value type: <code>String</code>) * @see JavaCore#getDefaultOptions() */ - // TODO (jeem) deprecated Clients should port their code to use the new JLS3 API and call {@link #newAST(int)} instead of using this constructor. + // TODO (jeem) When JLS3 support is complete (post 3.0) - deprecated Clients should port their code to use the new JLS3 API and call {@link #newAST(int)} instead of using this constructor. public AST(Map options) { this(JLS2); // override scanner if 1.4 asked for diff --git a/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/BodyDeclaration.java b/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/BodyDeclaration.java index 3d32c88b5a..8b4d8d6459 100644 --- a/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/BodyDeclaration.java +++ b/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/BodyDeclaration.java @@ -209,7 +209,7 @@ public abstract class BodyDeclaration extends ASTNode { * an AST later than JLS2 * @see Modifier */ - // TODO (jeem ) - deprecated In the JLS3 API, this method is replaced by <code>modifiers()</code> which contains a list of a <code>Modifier</code> nodes. + // TODO (jeem) When JLS3 support is complete (post 3.0) - deprecated In the JLS3 API, this method is replaced by <code>modifiers()</code> which contains a list of a <code>Modifier</code> nodes. public void setModifiers(int modifiers) { // more efficient than just calling supportedOnlyIn2() to check if (this.modifiers != null) { diff --git a/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/ClassInstanceCreation.java b/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/ClassInstanceCreation.java index 08a24b291c..a7508887bf 100644 --- a/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/ClassInstanceCreation.java +++ b/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/ClassInstanceCreation.java @@ -78,7 +78,7 @@ public class ClassInstanceCreation extends Expression { * The "name" structural property of this node type (JLS2 API only). * @since 3.0 */ - // TODO (jeem) - @deprecated Replaced by {@link #TYPE_PROPERTY} in the JLS3 API. + // TODO (jeem) When JLS3 support is complete (post 3.0) - deprecated Replaced by {@link #TYPE_PROPERTY} in the JLS3 API. public static final ChildPropertyDescriptor NAME_PROPERTY = new ChildPropertyDescriptor(ClassInstanceCreation.class, "name", Name.class, MANDATORY, NO_CYCLE_RISK); //$NON-NLS-1$ @@ -397,7 +397,7 @@ public class ClassInstanceCreation extends Expression { * @exception UnsupportedOperationException if this operation is used in * an AST later than JLS2 */ - // TODO (jeem ) - deprecated In the JLS3 API, this method is replaced by <code>getType</code>, which returns a <code>Type</code> instead of a <code>Name</code>. + // TODO (jeem) When JLS3 support is complete (post 3.0) - deprecated In the JLS3 API, this method is replaced by <code>getType</code>, which returns a <code>Type</code> instead of a <code>Name</code>. public Name getName() { supportedOnlyIn2(); if (this.typeName == null) { @@ -426,7 +426,7 @@ public class ClassInstanceCreation extends Expression { * @exception UnsupportedOperationException if this operation is used in * an AST later than JLS2 */ - // TODO (jeem ) deprecated In the JLS3 API, this method is replaced by <code>setType</code>, which expects a <code>Type</code> instead of a <code>Name</code>. + // TODO (jeem) When JLS3 support is complete (post 3.0) - deprecated In the JLS3 API, this method is replaced by <code>setType</code>, which expects a <code>Type</code> instead of a <code>Name</code>. public void setName(Name name) { supportedOnlyIn2(); if (name == null) { diff --git a/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/FieldDeclaration.java b/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/FieldDeclaration.java index 29eb13ea6f..d15d5b0785 100644 --- a/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/FieldDeclaration.java +++ b/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/FieldDeclaration.java @@ -48,7 +48,7 @@ public class FieldDeclaration extends BodyDeclaration { * The "modifiers" structural property of this node type (JLS2 API only). * @since 3.0 */ - // TODO (jeem) - @deprecated Replaced by {@link #MODIFIERS2_PROPERTY} in the JLS3 API. + // TODO (jeem) When JLS3 support is complete (post 3.0) - deprecated Replaced by {@link #MODIFIERS2_PROPERTY} in the JLS3 API. public static final SimplePropertyDescriptor MODIFIERS_PROPERTY = internalModifiersPropertyFactory(FieldDeclaration.class); diff --git a/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/IVariableBinding.java b/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/IVariableBinding.java index ff92debaab..b8a6c00b62 100644 --- a/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/IVariableBinding.java +++ b/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/IVariableBinding.java @@ -67,9 +67,7 @@ public interface IVariableBinding extends IBinding { * <b>Local variables inside methods:</b> Local variables (and parameters) * declared within a single method are assigned ascending ids in normal * code reading order; var1.getVariableId()<var2.getVariableId() means that var1 is - * declared before var2. Note that the numbering does not include the local - * variables declared within the method's local (or anonymous) types - their - * ids would be relative to the methods of the local type. + * declared before var2. * </p> * <p> * <b>Local variables outside methods:</b> Local variables declared in a diff --git a/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/Initializer.java b/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/Initializer.java index a5e7c6cedd..876ec680c7 100644 --- a/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/Initializer.java +++ b/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/Initializer.java @@ -35,7 +35,7 @@ public class Initializer extends BodyDeclaration { * The "modifiers" structural property of this node type (JLS2 API only). * @since 3.0 */ - // TODO (jeem) - @deprecated Replaced by {@link #MODIFIERS2_PROPERTY} in the JLS3 API. + // TODO (jeem) When JLS3 support is complete (post 3.0) - deprecated Replaced by {@link #MODIFIERS2_PROPERTY} in the JLS3 API. public static final SimplePropertyDescriptor MODIFIERS_PROPERTY = internalModifiersPropertyFactory(Initializer.class); diff --git a/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/Javadoc.java b/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/Javadoc.java index 0b114de710..5e420c373e 100644 --- a/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/Javadoc.java +++ b/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/Javadoc.java @@ -32,7 +32,7 @@ public class Javadoc extends Comment { * The "comment" structural property of this node type (JLS2 API only). * @since 3.0 */ - // TODO (jeem) - @deprecated Replaced by {@link #TAGS_PROPERTY} in the JLS3 API. + // TODO (jeem) When JLS3 support is complete (post 3.0) - deprecated Replaced by {@link #TAGS_PROPERTY} in the JLS3 API. public static final SimplePropertyDescriptor COMMENT_PROPERTY = new SimplePropertyDescriptor(Javadoc.class, "comment", String.class, MANDATORY); //$NON-NLS-1$ diff --git a/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/MethodDeclaration.java b/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/MethodDeclaration.java index 7953aca216..69feab4ad2 100644 --- a/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/MethodDeclaration.java +++ b/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/MethodDeclaration.java @@ -73,7 +73,7 @@ public class MethodDeclaration extends BodyDeclaration { * The "modifiers" structural property of this node type (JLS2 API only). * @since 3.0 */ - // TODO (jeem) - @deprecated Replaced by {@link #MODIFIERS2_PROPERTY} in the JLS3 API. + // TODO (jeem) When JLS3 support is complete (post 3.0) - deprecated Replaced by {@link #MODIFIERS2_PROPERTY} in the JLS3 API. public static final SimplePropertyDescriptor MODIFIERS_PROPERTY = internalModifiersPropertyFactory(MethodDeclaration.class); @@ -102,7 +102,7 @@ public class MethodDeclaration extends BodyDeclaration { * The "returnType" structural property of this node type (JLS2 API only). * @since 3.0 */ - // TODO (jeem) - @deprecated Replaced by {@link #RETURN_TYPE2_PROPERTY} in the JLS3 API. + // TODO (jeem) When JLS3 support is complete (post 3.0) - deprecated Replaced by {@link #RETURN_TYPE2_PROPERTY} in the JLS3 API. public static final ChildPropertyDescriptor RETURN_TYPE_PROPERTY = new ChildPropertyDescriptor(MethodDeclaration.class, "returnType", Type.class, MANDATORY, NO_CYCLE_RISK); //$NON-NLS-1$ @@ -664,7 +664,7 @@ public class MethodDeclaration extends BodyDeclaration { * @exception UnsupportedOperationException if this operation is used in * an AST later than JLS2 */ - // TODO (jeem ) - deprecated In the JLS3 API, this method is replaced by <code>getReturnType2</code>, which may return <code>null</code>. + // TODO (jeem) When JLS3 support is complete (post 3.0) - deprecated In the JLS3 API, this method is replaced by <code>getReturnType2</code>, which may return <code>null</code>. public Type getReturnType() { supportedOnlyIn2(); if (this.returnType == null) { @@ -698,7 +698,7 @@ public class MethodDeclaration extends BodyDeclaration { * @exception UnsupportedOperationException if this operation is used in * an AST later than JLS2 */ - // TODO (jeem ) - deprecated In the JLS3 API, this method is replaced by <code>setReturnType2</code>, which accepts <code>null</code>. + // TODO (jeem) When JLS3 support is complete (post 3.0) - deprecated In the JLS3 API, this method is replaced by <code>setReturnType2</code>, which accepts <code>null</code>. public void setReturnType(Type type) { supportedOnlyIn2(); if (type == null) { diff --git a/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/SingleVariableDeclaration.java b/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/SingleVariableDeclaration.java index 43d5f684ee..7f2c7821c7 100644 --- a/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/SingleVariableDeclaration.java +++ b/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/SingleVariableDeclaration.java @@ -40,7 +40,7 @@ public class SingleVariableDeclaration extends VariableDeclaration { * The "modifiers" structural property of this node type (JLS2 API only). * @since 3.0 */ - // TODO (jeem) - @deprecated Replaced by {@link #MODIFIERS2_PROPERTY} in the JLS3 API. + // TODO (jeem) When JLS3 support is complete (post 3.0) - deprecated Replaced by {@link #MODIFIERS2_PROPERTY} in the JLS3 API. public static final SimplePropertyDescriptor MODIFIERS_PROPERTY = new SimplePropertyDescriptor(SingleVariableDeclaration.class, "modifiers", int.class, MANDATORY); //$NON-NLS-1$ @@ -413,7 +413,7 @@ public class SingleVariableDeclaration extends VariableDeclaration { * an AST later than JLS2 * @see Modifier */ - // TODO (jeem ) - deprecated In the JLS3 API, this method is replaced by <code>modifiers()</code> which contains a list of a <code>Modifier</code> nodes. + // TODO (jeem) When JLS3 support is complete (post 3.0) - deprecated In the JLS3 API, this method is replaced by <code>modifiers()</code> which contains a list of a <code>Modifier</code> nodes. public void setModifiers(int modifiers) { supportedOnlyIn2(); preValueChange(MODIFIERS_PROPERTY); diff --git a/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/TypeDeclaration.java b/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/TypeDeclaration.java index e581c64ed9..12b3fcd9ec 100644 --- a/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/TypeDeclaration.java +++ b/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/TypeDeclaration.java @@ -77,7 +77,7 @@ public class TypeDeclaration extends AbstractTypeDeclaration { * The "modifiers" structural property of this node type (JLS2 API only). * @since 3.0 */ - // TODO (jeem) - @deprecated Replaced by {@link #MODIFIERS2_PROPERTY} in the JLS3 API. + // TODO (jeem) When JLS3 support is complete (post 3.0) - deprecated Replaced by {@link #MODIFIERS2_PROPERTY} in the JLS3 API. public static final SimplePropertyDescriptor MODIFIERS_PROPERTY = internalModifiersPropertyFactory(TypeDeclaration.class); @@ -106,7 +106,7 @@ public class TypeDeclaration extends AbstractTypeDeclaration { * The "superclass" structural property of this node type (JLS2 API only). * @since 3.0 */ - // TODO (jeem) - @deprecated Replaced by {@link #SUPERCLASS_TYPE_PROPERTY} in the JLS3 API. + // TODO (jeem) When JLS3 support is complete (post 3.0) - deprecated Replaced by {@link #SUPERCLASS_TYPE_PROPERTY} in the JLS3 API. public static final ChildPropertyDescriptor SUPERCLASS_PROPERTY = new ChildPropertyDescriptor(TypeDeclaration.class, "superclass", Name.class, OPTIONAL, NO_CYCLE_RISK); //$NON-NLS-1$ @@ -114,7 +114,7 @@ public class TypeDeclaration extends AbstractTypeDeclaration { * The "superInterfaces" structural property of this node type (JLS2 API only). * @since 3.0 */ - // TODO (jeem) - @deprecated Replaced by {@link #SUPER_INTERFACE_TYPES_PROPERTY} in the JLS3 API. + // TODO (jeem) When JLS3 support is complete (post 3.0) - deprecated Replaced by {@link #SUPER_INTERFACE_TYPES_PROPERTY} in the JLS3 API. public static final ChildListPropertyDescriptor SUPER_INTERFACES_PROPERTY = new ChildListPropertyDescriptor(TypeDeclaration.class, "superInterfaces", Name.class, NO_CYCLE_RISK); //$NON-NLS-1$ @@ -549,7 +549,7 @@ public class TypeDeclaration extends AbstractTypeDeclaration { * @exception UnsupportedOperationException if this operation is used in * an AST later than JLS2 */ - // TODO (jeem ) - deprecated In the JLS3 API, this method is replaced by <code>getSuperclassType</code>, which returns a <code>Type</code> instead of a <code>Name</code>. + // TODO (jeem) When JLS3 support is complete (post 3.0) - deprecated In the JLS3 API, this method is replaced by <code>getSuperclassType</code>, which returns a <code>Type</code> instead of a <code>Name</code>. public Name getSuperclass() { supportedOnlyIn2(); return this.optionalSuperclassName; @@ -594,7 +594,7 @@ public class TypeDeclaration extends AbstractTypeDeclaration { * @exception UnsupportedOperationException if this operation is used in * an AST later than JLS2 */ - // TODO (jeem ) deprecated In the JLS3 API, this method is replaced by <code>setType</code>, which expects a <code>Type</code> instead of a <code>Name</code>. + // TODO (jeem) When JLS3 support is complete (post 3.0) - deprecated In the JLS3 API, this method is replaced by <code>setType</code>, which expects a <code>Type</code> instead of a <code>Name</code>. public void setSuperclass(Name superclassName) { supportedOnlyIn2(); ASTNode oldChild = this.optionalSuperclassName; @@ -642,7 +642,7 @@ public class TypeDeclaration extends AbstractTypeDeclaration { * @exception UnsupportedOperationException if this operation is used in * an AST later than JLS2 */ - // TODO (jeem ) - deprecated In the JLS3 API, this method is replaced by <code>superInterfaceTypes()</code> + // TODO (jeem) When JLS3 support is complete (post 3.0) - deprecated In the JLS3 API, this method is replaced by <code>superInterfaceTypes()</code> public List superInterfaces() { // more efficient than just calling supportedOnlyIn2() to check if (this.superInterfaceNames == null) { diff --git a/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/TypeDeclarationStatement.java b/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/TypeDeclarationStatement.java index 41996a30b7..300e6d26e3 100644 --- a/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/TypeDeclarationStatement.java +++ b/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/TypeDeclarationStatement.java @@ -41,7 +41,7 @@ public class TypeDeclarationStatement extends Statement { * The "typeDeclaration" structural property of this node type (JLS2 API only). * @since 3.0 */ - // TODO (jeem) - @deprecated Replaced by {@link #DECLARATION_PROPERTY} in the JLS3 API. + // TODO (jeem) When JLS3 support is complete (post 3.0) - deprecated Replaced by {@link #DECLARATION_PROPERTY} in the JLS3 API. public static final ChildPropertyDescriptor TYPE_DECLARATION_PROPERTY = new ChildPropertyDescriptor(TypeDeclarationStatement.class, "typeDeclaration", TypeDeclaration.class, MANDATORY, CYCLE_RISK); //$NON-NLS-1$ @@ -242,7 +242,7 @@ public class TypeDeclarationStatement extends Statement { * @exception UnsupportedOperationException if this operation is used in * an AST later than JLS2 */ - // TODO (jeem ) - deprecated In the JLS3 API, this method is replaced by <code>getDeclaration</code>, which returns <code>AbstractTypeDeclaration</code> instead of <code>TypeDeclaration</code>. + // TODO (jeem) When JLS3 support is complete (post 3.0) - deprecated In the JLS3 API, this method is replaced by <code>getDeclaration</code>, which returns <code>AbstractTypeDeclaration</code> instead of <code>TypeDeclaration</code>. public TypeDeclaration getTypeDeclaration() { supportedOnlyIn2(); return (TypeDeclaration) getDeclaration(); @@ -262,7 +262,7 @@ public class TypeDeclarationStatement extends Statement { * @exception UnsupportedOperationException if this operation is used in * an AST later than JLS2 */ - // TODO (jeem ) - deprecated In the JLS3 API, this method is replaced by <code>setDeclaration</code> which takes <code>AbstractTypeDeclaration</code> instead of <code>TypeDeclaration</code>. + // TODO (jeem) When JLS3 support is complete (post 3.0) - deprecated In the JLS3 API, this method is replaced by <code>setDeclaration</code> which takes <code>AbstractTypeDeclaration</code> instead of <code>TypeDeclaration</code>. public void setTypeDeclaration(TypeDeclaration decl) { supportedOnlyIn2(); // forward to non-deprecated replacement method diff --git a/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/VariableDeclarationExpression.java b/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/VariableDeclarationExpression.java index 3370c53c65..a3f8c57536 100644 --- a/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/VariableDeclarationExpression.java +++ b/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/VariableDeclarationExpression.java @@ -45,7 +45,7 @@ public class VariableDeclarationExpression extends Expression { * The "modifiers" structural property of this node type (JLS2 API only). * @since 3.0 */ - // TODO (jeem) - @deprecated Replaced by {@link #MODIFIERS2_PROPERTY} in the JLS3 API. + // TODO (jeem) When JLS3 support is complete (post 3.0) - deprecated Replaced by {@link #MODIFIERS2_PROPERTY} in the JLS3 API. public static final SimplePropertyDescriptor MODIFIERS_PROPERTY = new SimplePropertyDescriptor(VariableDeclarationExpression.class, "modifiers", int.class, MANDATORY); //$NON-NLS-1$ @@ -338,7 +338,7 @@ public class VariableDeclarationExpression extends Expression { * an AST later than JLS2 * @see Modifier */ - // TODO (jeem ) - deprecated In the JLS3 API, this method is replaced by <code>modifiers()</code> which contains a list of a <code>Modifier</code> nodes. + // TODO (jeem) When JLS3 support is complete (post 3.0) - deprecated In the JLS3 API, this method is replaced by <code>modifiers()</code> which contains a list of a <code>Modifier</code> nodes. public void setModifiers(int modifiers) { supportedOnlyIn2(); preValueChange(MODIFIERS_PROPERTY); diff --git a/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/VariableDeclarationStatement.java b/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/VariableDeclarationStatement.java index 787e3514bc..687d7c5b16 100644 --- a/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/VariableDeclarationStatement.java +++ b/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/VariableDeclarationStatement.java @@ -43,7 +43,7 @@ public class VariableDeclarationStatement extends Statement { * The "modifiers" structural property of this node type (JLS2 API only). * @since 3.0 */ - // TODO (jeem) - @deprecated Replaced by {@link #MODIFIERS2_PROPERTY} in the JLS3 API. + // TODO (jeem) When JLS3 support is complete (post 3.0) - deprecated Replaced by {@link #MODIFIERS2_PROPERTY} in the JLS3 API. public static final SimplePropertyDescriptor MODIFIERS_PROPERTY = new SimplePropertyDescriptor(VariableDeclarationStatement.class, "modifiers", int.class, MANDATORY); //$NON-NLS-1$ @@ -330,7 +330,7 @@ public class VariableDeclarationStatement extends Statement { * an AST later than JLS2 * @see Modifier */ - // TODO (jeem ) - deprecated In the JLS3 API, this method is replaced by <code>modifiers()</code> which contains a list of a <code>Modifier</code> nodes. + // TODO (jeem) When JLS3 support is complete (post 3.0) - deprecated In the JLS3 API, this method is replaced by <code>modifiers()</code> which contains a list of a <code>Modifier</code> nodes. public void setModifiers(int modifiers) { supportedOnlyIn2(); preValueChange(MODIFIERS_PROPERTY); diff --git a/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/builder/JavaBuilder.java b/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/builder/JavaBuilder.java index a4ddf82f20..c8e6abed3a 100644 --- a/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/builder/JavaBuilder.java +++ b/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/builder/JavaBuilder.java @@ -238,14 +238,12 @@ protected void clean(IProgressMonitor monitor) throws CoreException { try { notifier.checkCancel(); - if ((this.lastState = getLastState(currentProject)) != null) { - initializeBuilder(); - if (DEBUG && lastState != null) - System.out.println("Clearing last state : " + lastState); //$NON-NLS-1$ - clearLastState(); - removeProblemsAndTasksFor(currentProject); - new BatchImageBuilder(this).cleanOutputFolders(false); - } + initializeBuilder(); + if (DEBUG) + System.out.println("Clearing last state as part of clean : " + lastState); //$NON-NLS-1$ + clearLastState(); + removeProblemsAndTasksFor(currentProject); + new BatchImageBuilder(this).cleanOutputFolders(false); } catch (CoreException e) { Util.log(e, "JavaBuilder handling CoreException while cleaning: " + currentProject.getName()); //$NON-NLS-1$ IMarker marker = currentProject.createMarker(IJavaModelMarker.JAVA_MODEL_PROBLEM_MARKER); diff --git a/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/builder/NameSet.java b/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/builder/NameSet.java index 43c75af0f1..144d38a722 100644 --- a/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/builder/NameSet.java +++ b/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/builder/NameSet.java @@ -12,7 +12,7 @@ package org.eclipse.jdt.internal.core.builder; import org.eclipse.jdt.core.compiler.CharOperation; -public class NameSet { +public final class NameSet { // to avoid using Enumerations, walk the individual values skipping nulls public char[][] names; @@ -20,10 +20,12 @@ public int elementSize; // number of elements in the table public int threshold; public NameSet(int size) { - if (size < 3) size = 3; this.elementSize = 0; - this.threshold = size + 1; // size is the expected number of elements - this.names = new char[2 * size + 1][]; + this.threshold = size; // size represents the expected number of elements + int extraRoom = (int) (size * 1.5f); + if (this.threshold == extraRoom) + extraRoom++; + this.names = new char[extraRoom][]; } public char[] add(char[] name) { diff --git a/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/builder/QualifiedNameSet.java b/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/builder/QualifiedNameSet.java index b773fc95ab..91036b2484 100644 --- a/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/builder/QualifiedNameSet.java +++ b/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/builder/QualifiedNameSet.java @@ -20,10 +20,12 @@ public int elementSize; // number of elements in the table public int threshold; public QualifiedNameSet(int size) { - if (size < 3) size = 3; this.elementSize = 0; - this.threshold = size + 1; // size is the expected number of elements - this.qualifiedNames = new char[2 * size + 1][][]; + this.threshold = size; // size represents the expected number of elements + int extraRoom = (int) (size * 1.5f); + if (this.threshold == extraRoom) + extraRoom++; + this.qualifiedNames = new char[extraRoom][][]; } public char[][] add(char[][] qualifiedName) { diff --git a/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/builder/State.java b/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/builder/State.java index 1ce20e2af2..fcc48946f4 100644 --- a/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/builder/State.java +++ b/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/builder/State.java @@ -153,12 +153,17 @@ void record(String typeLocator, char[][][] qualifiedRefs, char[][] simpleRefs, c void recordLocatorForType(String qualifiedTypeName, String typeLocator) { this.knownPackageNames = null; + // in the common case, the qualifiedTypeName is a substring of the typeLocator so share the char[] by using String.substring() + int start = typeLocator.indexOf(qualifiedTypeName, 0); + if (start > 0) + qualifiedTypeName = typeLocator.substring(start, start + qualifiedTypeName.length()); typeLocators.put(qualifiedTypeName, typeLocator); } void recordStructuralDependency(IProject prereqProject, State prereqState) { if (prereqState != null) - structuralBuildTimes.put(prereqProject.getName(), new Long(prereqState.lastStructuralBuildTime)); + if (prereqState.lastStructuralBuildTime > 0) // can skip if 0 (full build) since its assumed to be 0 if unknown + structuralBuildTimes.put(prereqProject.getName(), new Long(prereqState.lastStructuralBuildTime)); } void removeLocator(String typeLocatorToRemove) { @@ -253,7 +258,7 @@ static State read(IProject project, DataInputStream in) throws IOException { newState.typeLocators = new SimpleLookupTable(length = in.readInt()); for (int i = 0; i < length; i++) - newState.typeLocators.put(in.readUTF(), internedTypeLocators[in.readInt()]); + newState.recordLocatorForType(in.readUTF(), internedTypeLocators[in.readInt()]); char[][] internedSimpleNames = ReferenceCollection.internSimpleNames(readNames(in), false); char[][][] internedQualifiedNames = new char[length = in.readInt()][][]; diff --git a/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/builder/StringSet.java b/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/builder/StringSet.java index 458942627a..a22ca99a4b 100644 --- a/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/builder/StringSet.java +++ b/org.eclipse.jdt.core/model/org/eclipse/jdt/internal/core/builder/StringSet.java @@ -18,10 +18,12 @@ public int elementSize; // number of elements in the table public int threshold; public StringSet(int size) { - if (size < 3) size = 3; this.elementSize = 0; - this.threshold = size + 1; // size is the expected number of elements - this.values = new String[2 * size + 1]; + this.threshold = size; // size represents the expected number of elements + int extraRoom = (int) (size * 1.5f); + if (this.threshold == extraRoom) + extraRoom++; + this.values = new String[extraRoom]; } public boolean add(String value) { diff --git a/org.eclipse.jdt.core/plugin.properties b/org.eclipse.jdt.core/plugin.properties index b4641db981..cee64cb942 100644 --- a/org.eclipse.jdt.core/plugin.properties +++ b/org.eclipse.jdt.core/plugin.properties @@ -20,4 +20,5 @@ classpathContainerInitializersName=Classpath Container Initializers codeFormattersName=Source Code Formatters javaTaskName=Java Task javaPropertiesName=Java Properties File -javaSourceName=Java Source File
\ No newline at end of file +javaSourceName=Java Source File +jarManifestName=JAR Manifest File
\ No newline at end of file diff --git a/org.eclipse.jdt.core/plugin.xml b/org.eclipse.jdt.core/plugin.xml index c35474d11b..996bf451cf 100644 --- a/org.eclipse.jdt.core/plugin.xml +++ b/org.eclipse.jdt.core/plugin.xml @@ -194,8 +194,12 @@ base-type="org.eclipse.core.runtime.text" priority="high" file-extensions="java"/> -</extension> -<extension point="org.eclipse.core.runtime.contentTypes"> + <!-- declares a content type for JAR manifest files --> + <content-type id="JARManifest" name="%jarManifestName" + base-type="org.eclipse.core.runtime.text" + priority="high" + file-names="MANIFEST.MF" + default-charset="UTF-8"/> </extension> </plugin> |