Browse Source

tests and fix for pr119352

tags/V1_5_0RC1
acolyer 18 years ago
parent
commit
6e8bf52926

+ 1
- 1
aspectj5rt/java5-src/org/aspectj/internal/lang/reflect/AjTypeImpl.java View File

@@ -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)

+ 11
- 1
aspectj5rt/java5-testsrc/org/aspectj/internal/lang/reflect/AjTypeTests.java View File

@@ -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);

Loading…
Cancel
Save