]> source.dussan.org Git - aspectj.git/commitdiff
253109: tests and fix
authoraclement <aclement>
Tue, 9 Dec 2008 00:20:23 +0000 (00:20 +0000)
committeraclement <aclement>
Tue, 9 Dec 2008 00:20:23 +0000 (00:20 +0000)
org.aspectj.matcher/src/org/aspectj/weaver/ReferenceType.java

index 4ce3562e873a9f87258ed32e7bf14b847db43ba6..1eb06cc90ccc66700d0550b11ad7ac08130e6eb6 100644 (file)
@@ -216,6 +216,14 @@ public class ReferenceType extends ResolvedType {
                        return isCoerceableFromParameterizedType(other);
                }
 
+               if (this.isParameterizedType() && other.isRawType()) {
+                       return ((ReferenceType) this.getRawType()).isCoerceableFrom(other.getGenericType());
+               }
+
+               if (this.isRawType() && other.isParameterizedType()) {
+                       return this.getGenericType().isCoerceableFrom(((ReferenceType) other.getRawType()));
+               }
+
                if (!this.isInterface() && !other.isInterface()) {
                        return false;
                }
@@ -302,14 +310,17 @@ public class ReferenceType extends ResolvedType {
                        if (ResolvedType.validBoxing.contains(this.getSignature() + other.getSignature()))
                                return true;
                }
-               if (this == other)
+               if (this == other) {
                        return true;
-               if (this.getSignature().equals(ResolvedType.OBJECT.getSignature()))
+               }
+               if (this.getSignature().equals(ResolvedType.OBJECT.getSignature())) {
                        return true;
+               }
 
                if ((this.isRawType() || this.isGenericType()) && other.isParameterizedType()) {
-                       if (isAssignableFrom((ResolvedType) other.getRawType()))
+                       if (isAssignableFrom((ResolvedType) other.getRawType())) {
                                return true;
+                       }
                }
                if (this.isRawType() && other.isGenericType()) {
                        if (isAssignableFrom((ResolvedType) other.getRawType()))
@@ -319,6 +330,11 @@ public class ReferenceType extends ResolvedType {
                        if (isAssignableFrom(other.getGenericType()))
                                return true;
                }
+               // if (this.isParameterizedType() && other.isRawType()) {
+               // if (((ReferenceType) this.getRawType()).isAssignableFrom(other.getGenericType())) {
+               // return true;
+               // }
+               // }
 
                if (this.isParameterizedType()) {
                        // look at wildcards...