aboutsummaryrefslogtreecommitdiffstats
path: root/aspectj5rt
diff options
context:
space:
mode:
authoracolyer <acolyer>2005-12-06 15:39:08 +0000
committeracolyer <acolyer>2005-12-06 15:39:08 +0000
commit6e8bf5292686224d2110cbf8c2184e2568bcabe3 (patch)
tree17436880b8cd00bffc5a80faca5f62fef59bae86 /aspectj5rt
parentc11af72b292ae060578c8649c969307595c3e25e (diff)
downloadaspectj-6e8bf5292686224d2110cbf8c2184e2568bcabe3.tar.gz
aspectj-6e8bf5292686224d2110cbf8c2184e2568bcabe3.zip
tests and fix for pr119352
Diffstat (limited to 'aspectj5rt')
-rw-r--r--aspectj5rt/java5-src/org/aspectj/internal/lang/reflect/AjTypeImpl.java2
-rw-r--r--aspectj5rt/java5-testsrc/org/aspectj/internal/lang/reflect/AjTypeTests.java12
2 files changed, 12 insertions, 2 deletions
diff --git a/aspectj5rt/java5-src/org/aspectj/internal/lang/reflect/AjTypeImpl.java b/aspectj5rt/java5-src/org/aspectj/internal/lang/reflect/AjTypeImpl.java
index 8534d0743..440a139e2 100644
--- a/aspectj5rt/java5-src/org/aspectj/internal/lang/reflect/AjTypeImpl.java
+++ b/aspectj5rt/java5-src/org/aspectj/internal/lang/reflect/AjTypeImpl.java
@@ -120,7 +120,7 @@ public class AjTypeImpl<T> implements AjType<T> {
*/
public AjType<? super T> getSupertype() {
Class<? super T> superclass = clazz.getSuperclass();
- return (AjType<? super T>) new AjTypeImpl(superclass);
+ return superclass==null ? null : (AjType<? super T>) new AjTypeImpl(superclass);
}
/* (non-Javadoc)
diff --git a/aspectj5rt/java5-testsrc/org/aspectj/internal/lang/reflect/AjTypeTests.java b/aspectj5rt/java5-testsrc/org/aspectj/internal/lang/reflect/AjTypeTests.java
index f634d6c73..9416979de 100644
--- a/aspectj5rt/java5-testsrc/org/aspectj/internal/lang/reflect/AjTypeTests.java
+++ b/aspectj5rt/java5-testsrc/org/aspectj/internal/lang/reflect/AjTypeTests.java
@@ -62,9 +62,19 @@ public class AjTypeTests extends TestCase {
public void testGetSupertype() {
Class<?> stringSuper = String.class.getSuperclass();
AjType ajSuper = stringType.getSupertype();
- assertEquals(AjTypeSystem.getAjType(stringSuper),ajSuper);
+ assertEquals(AjTypeSystem.getAjType(stringSuper),ajSuper);
}
+ public void testObjectSupertype() {
+ AjType<?> objectSuper = AjTypeSystem.getAjType(Object.class).getSupertype();
+ assertNull(objectSuper);
+ }
+
+ public void testInterfaceSupertype() {
+ AjType<?> serializableSuper = AjTypeSystem.getAjType(Serializable.class).getSupertype();
+ assertNull(serializableSuper);
+ }
+
public void testGetGenericSupertype() {
Type t = AjTypeSystem.getAjType(Goo.class).getGenericSupertype();
assertEquals(Foo.class,t);