Class c = inf.getTypeClass().getSuperclass();
/*
* Don't dig any deeper than Object or Exception
*/
if (c != null && c != Object.class && c != Exception.class && c != RuntimeException.class) {
TypeMapping tm = inf.getTypeMapping();
AegisType superType = tm.getType(c);
if (superType == null) {
// if we call createType, we know that we'll get a BeanType. */
superType = (BeanType)getTypeMapping().getTypeCreator().createType(c);
Class cParent = c.getSuperclass();
if (cParent != null && cParent != Object.class) {
((BeanType)superType).getTypeInfo().setExtension(true);
}
tm.register(superType);
}
return superType;
} else {
return null;
}