### Eclipse Workspace Patch 1.0 #P org.eclipse.jdt.core Index: dom/org/eclipse/jdt/core/dom/ITypeBinding.java =================================================================== RCS file: /cvsroot/eclipse/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/ITypeBinding.java,v retrieving revision 1.66 diff -u -r1.66 ITypeBinding.java --- dom/org/eclipse/jdt/core/dom/ITypeBinding.java 15 Mar 2007 16:06:40 -0000 1.66 +++ dom/org/eclipse/jdt/core/dom/ITypeBinding.java 4 Apr 2007 09:38:54 -0000 @@ -54,13 +54,11 @@ *

If the receiver is an array binding, then the resulting dimension is the given dimension * plus the dimension of the receiver. Otherwise the resulting dimension is the given * dimension.

- *

It cannot be called on a recovered binding.

* * @param dimension the given dimension * @return an array type binding * @throws IllegalArgumentException: * @since 3.3 @@ -369,7 +367,9 @@ * @return the binding for the package in which this class, interface, * enum, or annotation type is declared, or null if this type * binding represents a primitive type, an array type, the null type, - * a type variable, a wildcard type, a capture binding, or a recovered binding. + * a type variable, a wildcard type, or a capture binding. + * The package of a recovered type reference binding is the package of the + * enclosing type. */ public IPackageBinding getPackage(); @@ -454,8 +454,8 @@ *

* If this type binding represents an interface, an array type, a * primitive type, the null type, a type variable, an enum type, - * an annotation type, a wildcard type, a capture binding, or a - * recovered binding then null is returned. + * an annotation type, a wildcard type, or a capture binding then + * null is returned. *

* * @return the superclass of the class represented by this type binding, @@ -593,7 +593,8 @@ * of the given type, as specified in section 5.2 of The Java Language * Specification, Third Edition (JLS3). * - *

If the receiver or the argument is a recovered type, the answer is always false.

+ *

If the receiver or the argument is a recovered type, the answer is always false, + * unless the two types are identical or the argument is java.lang.Object

* * @param variableType the type of a variable to check compatibility against * @return true if an expression of this type can be assigned to a @@ -641,7 +642,8 @@ * A.isCastCompatible(B) *

* - *

If the receiver or the argument is a recovered type, the answer is always false.

+ *

If the receiver or the argument is a recovered type, the answer is always false, + * unless the two types are identical or the argument is java.lang.Object

* * @param type the type to check compatibility against * @return true if this type is cast compatible with the @@ -651,9 +653,9 @@ public boolean isCastCompatible(ITypeBinding type); /** - * Returns whether this type binding represents a class type. + * Returns whether this type binding represents a class type or a recovered binding. * - * @return true if this object represents a class, + * @return true if this object represents a class or a recovered binding, * and false otherwise */ public boolean isClass(); @@ -844,7 +846,8 @@ * as specified in section 4.10 of The Java Language * Specification, Third Edition (JLS3). * - *

If the receiver or the argument is a recovered type, the answer is always false.

+ *

If the receiver or the argument is a recovered type, the answer is always false, + * unless the two types are identical or the argument is java.lang.Object

* * @param type the type to check compatibility against * @return true if this type is subtype compatible with the Index: dom/org/eclipse/jdt/core/dom/IBinding.java =================================================================== RCS file: /cvsroot/eclipse/org.eclipse.jdt.core/dom/org/eclipse/jdt/core/dom/IBinding.java,v retrieving revision 1.32 diff -u -r1.32 IBinding.java --- dom/org/eclipse/jdt/core/dom/IBinding.java 21 Mar 2007 17:51:08 -0000 1.32 +++ dom/org/eclipse/jdt/core/dom/IBinding.java 4 Apr 2007 09:38:50 -0000 @@ -274,7 +274,7 @@ *

*

Note that the key for annotation bindings and member value pair bindings is * not yet implemented. This returns null for these 2 kinds of bindings.
- * null is also returned for recovered bindings + * Recovered bindings have a unique key. *

* * @return the key for this binding